What to build
Ship the FCPKitDSL product so authors can declare a Document, call export(version:), and get an FCPXML that soft-promotes shells, interns inline media, packs spine timing with transition overlap, and anchors via .anchor(lane:content:) — strong enough to reproduce the transitions and titles FeaturePairs after normalize.
Acceptance criteria
Blocked by
References
- Plan:
docs/planning/v0.1.0-first-working-version.md
- ADR:
docs/adr/0002-create-first-ordered-typed-model.md
- Worktrees:
docs/planning/v0.1.0-worktree-plan.md
What to build
Ship the
FCPKitDSLproduct so authors can declare aDocument, callexport(version:), and get anFCPXMLthat soft-promotes shells, interns inline media, packs spine timing with transition overlap, and anchors via.anchor(lane:content:)— strong enough to reproduce the transitions and titles FeaturePairs after normalize.Acceptance criteria
FCPKitDSLproduct exists; coreFCPKitstays a pure Codable layer for Diff/MediaToolsDocument, soft promotion, hidden primary spine,.anchor(lane:content:), inline media dedupe,export(version:) throws -> FCPXMLGap.duration)transitionsandtitlesFeaturePairsFCPKIT_REQUIRE_DTD)swift testand schema-completeness at 0 remain greenBlocked by
References
docs/planning/v0.1.0-first-working-version.mddocs/adr/0002-create-first-ordered-typed-model.mddocs/planning/v0.1.0-worktree-plan.md