AEROSIM-TS-35
Define the governed 3D asset manifest
Every runtime 3D asset can be described by a validated manifest containing source, license, provenance, format, optimization, and budget metadata.
- Verified flow state
- Done
- Owner
- AeroSim Architecture and Delivery
- Feature
- AEROSIM-FT-48
- Component
- Web Application / R3F flight scene — Shared asset pipeline — provenance and budget manifest
- Repository
- corp-v1-aerosim/corp-v1-aerosim
Delivery scope
Define AssetManifestV1 for each runtime model with assetId, sourceUrl, sourceSha256, licenseSpdx, attribution, provenanceDate, sourceFormat, runtimePath, runtimeSha256, optimization tool/version/options, bytes, triangles, vertices, textures, and approved budgets. Primary files: packages/assets/src/asset-manifest.schema.json, packages/assets/src/asset-manifest.ts, packages/assets/tests/asset-manifest.test.ts, assets/manifests/representative-aircraft.json.
Implementation contract
Implementation artifacts
- packages/assets/src/asset-manifest.schema.json
- packages/assets/src/asset-manifest.ts
- packages/assets/tests/asset-manifest.test.ts
- assets/manifests/representative-aircraft.json
Inputs
- JSON AssetManifestV1 document and referenced source/runtime files
- Allowed SPDX license identifiers and AssetBudget thresholds
Outputs
- Parsed AssetManifestV1 with canonical assetId and normalized relative runtimePath
- representative-aircraft manifest fixture linked to its source and optimized GLB hashes
Failure boundaries
- Reject absent provenance fields, unknown schemaVersion, non-SPDX license, absolute/path-traversal runtimePath, invalid SHA-256, and negative metrics.
- Reject duplicate assetId or runtimePath across the manifest registry.
Excluded scope
- Legal interpretation of a license, purchasing assets, authoring models, and runtime scene loading are outside manifest definition.
Verification steps
- pnpm --filter @aerosim/assets test -- asset-manifest.test.ts
- Validate representative-aircraft.json, then mutate each required field, hash, path, license, and duplicate identifier and assert a field-specific error.
Traceability
Dependencies
- AEROSIM-TS-27Canonical ID: TASK-0027
UI/UX applicability
non_visual
This Task owns technical or behavioral acceptance and does not claim direct visual conformance to the approved UI/UX package.
Acceptance evidence
Verified delivery: application PR #39 reviewed head 950db54a7de52c9a11a76106d6a097bbe55a62e3, exact-head validation task 1882 succeeded, merged as ca77b98960dcc29ff02eeb1daa5592bda8bba4d6; Wave 7 integrated application head b75d00b8c3864752bf5b1ea0298097add346f0aa passed publish task 1899 and validate task 1900. Release completion verified on product 1.0.0.0 at GitOps revision 5d3712d89dfbf7dacd993348e55f497d126c7bf9 with Argo Synced/Healthy, exact image digests, authenticated API/database access, and three-world configured-flight acceptance.
Current evidence boundary
No current implementation, acceptance, release, or deployment evidence is claimed for this planned Task. Any prior implementation may be used only as prototype and discovery evidence.