1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! concinnity-world: the build-side world front half.
//!
//! Owns the authored world model (world.jsonl parsing and I/O, structural
//! validation), the authoring type vocabulary (`RegisteredType`, instantiated
//! from the shared registry list in concinnity-core), the asset
//! cross-reference metadata, semantic validation
//! (`check`), the typed authoring vocabulary (`spec`), and the world templates
//! built from it (`template`). Everything here operates on the authored input;
//! the shipped runtime plays compiled blobs and never links this crate.
//!
//! Deliberately excluded: build-time expansion (SceneImport, prefabs, injection
//! passes), importers/encoders, payload compilation, and blob writing -- all of
//! that is concinnity-cook, which sits on top of this crate and composes its
//! compile-backed per-asset checks through `check::check_world_with`.
//!
//! The authored medium is JSON (an asset's `args` is its public JSON schema), so
//! serde_json is intrinsic to this crate's job; typed struct-first authoring is
//! served by `spec`'s `AssetSpec` builders, converted to world entries by
//! `spec::json`.
// Bridge: re-export the modules the moved code names under crate::* so its
// `crate::<module>` import paths resolve unchanged. `components` is the runtime
// half of the vocabulary; the authoring-only half is named from
// `concinnity_asset::cook`, whose registry group this crate owns
// (`registry::build_only`).
pub use ;
// The vocabulary's ECS surface, with the build-time name interner shadowing its
// `asset_id`: the interner keeps a per-thread table, so it lives in
// `concinnity_host::thread` and re-exports the vocabulary's `AssetId` /
// `AssetRef`.
pub
pub use paths;