dishant-kumar-thakur
d54e2a55a0
feat(phase-10): STRUCT-003 import engine core
Task: STRUCT-003
Branch: cline-dev-dishant
Cross-branch notes: none -- no shared dependencies with Richard phase 9/6 work
- ProjectImporter class (pure, filesystem-agnostic)
- Converts v2 multi-file format back to legacy project.json
- unflattenNodes: reconstructs recursive tree from flat NodeV2 array (two-pass)
- toLegacyName: uses preserved component.path for perfect round-trip fidelity
- Metadata merge: routes/styles merged back into project.metadata
- stateParameters -> stateParamaters reversal (legacy typo preserved)
- Non-fatal warnings: component failures collected, not thrown
- 55 unit tests in tests/io/ProjectImporter.test.ts
- unflattenNodes: 11 cases
- toLegacyName: 4 cases
- ProjectImporter.import(): 20 cases
- Round-trip (export -> import): 20 cases
- Updated tests/io/index.ts to export importer tests
- Updated PROGRESS-dishant.md: STRUCT-001/002/003 all marked complete
2026-02-19 01:07:22 +05:30
..
2025-12-08 16:19:56 +01:00
2026-02-18 15:59:52 +01:00
2024-01-26 11:52:55 +01:00
2024-12-29 10:01:32 +01:00
2026-02-19 01:07:22 +05:30
2026-02-19 01:07:22 +05:30
2026-01-08 13:27:38 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2024-01-26 11:52:55 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 23:45:51 +05:30
2024-01-26 11:52:55 +01:00
2026-02-18 15:59:52 +01:00
2026-02-18 15:59:52 +01:00
2024-01-26 11:52:55 +01:00
2025-12-08 16:19:56 +01:00