# Assets and Imports Build a world from reusable assets, your own 3D content and reference material, with origins and permitted uses preserved. ## Choose What Belongs in Your World Content supplies what exists in a world: buildings, objects, environments, and agents. The engine supplies movement and interaction. Models supply decisions. Bringing in appearance alone does not give an asset behavior. **Catalog assets** Place reviewed, versioned objects with declared dimensions, appearance, and supported behavior. **Your own 3D assets** Admit a supported static GLB into your workspace, prepare it, and place its validated output. **Reference material** Associate reviewed sources with a world without treating the reference as recovered geometry. **Reconstructed places** Derive a representation from eligible sources, preserving the coverage and meaning of the observation. ## Place a Catalog Asset Use Add object and choose an asset the world offers. Select a supported region and position it with the controls available for that object. Reopen the saved world to continue the same authored state. For a client, read capabilities and the asset catalog before making an edit. Supply the asset digest and current state digest so the server can validate both what you are placing and the state you are changing. [Place an object through the API](/docs/world-api/objects) ## Import Your Own 3D Content Workspace asset admission accepts self-contained static GLB files: triangle meshes, materials, and embedded PNG or JPEG textures. Declare the asset’s units, identity, and rights alongside the bytes. 1. Read /workspace-assets to discover the admitted profile, resource limits, and availability. 2. Upload the declaration and content together. The server validates the container, rights, and digest before admission. 3. Wait for preparation to complete and confirm the prepared output is placeable. 4. Use the composition preview and apply operations supported by the target world. Admission alone does not place the asset. A placed workspace asset has no behavior binding. It is an obstacle with declared bounds. Versions containing these assets are withheld from World Memory Package export. External resource references, rigged characters, and animated objects are outside this static profile. Imported assets remain private to their workspace. An admitted asset does not become shared catalog content. [Asset formats, preparation and placement contract](https://github.com/twinkling-reality/exulanica/blob/main/docs/workspace-asset-admission.md)[Asset admission API operations](/docs/api-reference#docs-api-reference-workspace-assets) ## Use References without Changing Their Meaning Reference photographs connect reviewed material to a world. Attaching one does not reconstruct its geometry. Generated town recipes do not accept photograph attachments. Where the installation supports building from personal sources, Make a world from my photographs composes reviewed sources into regions. Later sources join only after confirmation of the additions. A declared floor is authored ground, not a surface recovered from an image. Reconstruction depends on actual source coverage. A single image supplies a partial surface. A standpoint join supplies a view to look around in, without unseen backs or measured metric scale. Do not infer a complete, walkable place from a successful processing job. [Reconstruction and coverage guide](https://github.com/twinkling-reality/exulanica/blob/main/docs/capabilities/scene-reconstruction.md) ## Preserve Origin and Rights Keep imported assets, observed sources, reconstructed representations, and authored additions distinguishable. Preserve the source, processing history, and permitted uses of each import. A generated addition does not establish an observed fact. The composition design connects these content paths through stable identities and provenance. General geographic extraction and automatic landscape blending are design targets. Use the world’s declared operations for supported placement. [Composition contract](https://github.com/twinkling-reality/exulanica/blob/main/docs/world-composition-contract.md)[Source permissions and consent](https://github.com/twinkling-reality/exulanica/blob/main/docs/privacy-consent-threat-model.md)