Asset Pipeline requirements
Defines safe, reproducible import, normalization, interchange, caching, and provenance for robot and world assets.
Section relationships
| ID | Name | Priority | Requirement | Verification |
|---|---|---|---|---|
| ASSET-001 | URDF import | MVP | BeforeMetal SHALL import the supported subset of URDF links, joints, visuals, collisions, inertials, limits, dynamics, and materials. | Test |
| ASSET-002 | Import conversion and loss report | MVP | Every importer SHALL report each element or physical or material property that is ignored, unsupported, approximated, unit-converted, or semantically remapped. | Test |
| ASSET-003 | Basic SDFormat import | MVP | BeforeMetal SHALL import a documented subset of SDFormat worlds, models, links, joints, collisions, visuals, terrain, and supported sensors. | Test |
| ASSET-004 | Format version pinning | MVP | Every imported format SHALL record the declared or inferred format version used during conversion. | Inspection |
| ASSET-005 | Coordinate normalization | MVP | Importers SHALL convert units, handedness, axis conventions, poses, and frame semantics into the canonical convention. | Test |
| ASSET-006 | Mesh import | MVP | BeforeMetal SHALL import documented glTF 2.0, STL, and OBJ subsets for visual and collision geometry. | Test |
| ASSET-007 | Collision suitability diagnostics | MVP | The Asset Pipeline SHALL warn when collision geometry is non-manifold, degenerate, excessively detailed, or unsupported by the selected backend. | Test |
| ASSET-008 | Executable asset safety | MVP | Importing an asset SHALL never execute an embedded script, binary plugin, network reference, or command without explicit user authorization. | Test |
| ASSET-009 | Path containment | MVP | Asset resolution SHALL reject path traversal outside authorized project and cache roots. | Test |
| ASSET-010 | Export loss report | Beta | Every exporter SHALL produce a machine-readable report of properties that cannot be represented in the destination format. | Test |
| ASSET-011 | MJCF interchange | Beta | BeforeMetal SHALL support a documented MJCF import or export subset when a MuJoCo compatibility workflow is enabled. | Test |
| ASSET-012 | OpenUSD interchange | Beta | BeforeMetal SHALL support a documented OpenUSD authoring and import subset without making USD the runtime state store. | Test |
| ASSET-013 | CAD ingestion | External | BeforeMetal SHALL permit CAD conversion through an isolated adapter that emits normalized geometry and a conversion report. | Demonstration |
| ASSET-014 | Asset cache | Beta | Normalized and compiled assets SHALL be cacheable by source hash, importer version, options, and target capability set. | Test |
| ASSET-015 | Reproducible conversion | MVP | Identical source assets, importer versions, and options SHALL produce canonically equivalent normalized output. | Test |
| ASSET-016 | Robot resource URI resolution | MVP | The Asset Pipeline SHALL resolve project-relative paths and explicitly configured package:// and model:// mappings without requiring ROS or network access. | Test |
| ASSET-017 | Xacro input policy | MVP | The URDF importer SHALL detect unexpanded Xacro constructs, reject them without execution, and provide guidance for supplying pre-expanded URDF or enabling an optional external expander. | Test |
| ASSET-018 | Imported property source context | MVP | A normalized engineering property SHALL retain any supplied source-property identity, source units, applicable conditions, and provenance. | Test |
| ASSET-019 | Reference asset-pack manifest | Beta | Each distributed reference asset pack SHALL have a versioned manifest containing immutable content identities, source and revision provenance, license and redistribution terms, canonical conversion reports, required capabilities, and applicable evidence status. | Inspection |
| ASSET-020 | Offline reference asset packs | Beta | A documented set of reference robot, sensor, environment, material, and device assets SHALL be installable, inspectable, and usable without network access after the pack has been obtained. | Demonstration |
Change rationale (ASSET-002, ASSET-018): The prior URDF-only wording did not protect engineering properties imported through SDFormat, meshes, or future formats. The generalized loss report makes conversion, remapping, approximation, and omission visible across every importer, while the separate provenance requirement preserves the source context of properties that are normalized successfully.
Change rationale (ASSET-019, ASSET-020): Curated examples reduce bring-up time only when they remain reproducible, legally reviewable, and available to the offline portable product. These requirements add a bounded reference-pack contract without promising a universal or universally validated online catalog.
Generated from the canonical specification. Edit section metadata or prose in docs/requirements.md; the website rebuilds this page and its relationships automatically.