mirror of
https://github.com/lighttransport/tinyusdz.git
synced 2026-01-18 01:11:17 +01:00
This commit adds the foundational architecture for Layer/PrimSpec-based USD Crate serialization. While the core methods are stubbed out, this provides: ✓ ConvertLayerToSpecs() API declaration in crate-writer.hh ✓ 5 private helper method declarations for property/attribute/relationship/connection conversion ✓ Comprehensive LAYER_PRIMSPEC_DESIGN.md documenting architecture and API mismatches ✓ Include files for layer.hh and pprinter.hh Known limitations and next steps: - PrimVar API uses value_raw() not get_default() - AttrMetas has customData not custom field - CrateValue::Set() requires rvalue references for Path types - Needs deeper TinyUSDZ API investigation for proper implementation This approach is superior to Stage-based conversion because: - Direct access to PrimSpec properties as generic name→value maps - Native relationship support with targetPaths - Composition arc handling (references, payloads, variants) - Better maintainability with less type-specific extraction code 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>