Decision records
Why CutCraft is built the way it is, one decision per file, in the order they were made. A record is never edited to say something else; a change of mind adds a new record that supersedes the old one. Core principles sums them up.
CutCraft was called cutcut when the early records were written, and a few still use that name.
| Decision | |
|---|---|
| 0001 | The file is the video |
| 0002 | A fixed vocabulary with literal ids |
| 0003 | Editor state is the file plus a patch log; actions have four faces |
| 0004 | The model edits text and has no tool catalog |
| 0005 | Sequence tracks by default, anchors for overlays |
| 0006 | Time references resolve against an asset manifest |
| 0007 | The browser is the renderer |
| 0008 | Tracks composite in document order |
| 0009 | Pure helpers, generated elements and the Layer escape hatch |
| 0010 | OpenReel is the UX reference, with named deviations |
| 0011 | The performance contract: identity, not diffing |
| 0012 | What we adopt from Diffusion Studio |
| 0013 | Remotion has an editor now; a Layer's component gets handles |
| 0014 | Captions follow the clips |
| 0015 | A headless engine renders the export |
| 0016 | A theme lives in the file |
| 0017 | Graphics are SVG generators |
| 0018 | Free code in a timeline skeleton |
| 0019 | A browser engine exports what only a browser draws |
| 0020 | <Graphic> is deprecated for free code (superseded by 0024) |
| 0021 | One export engine: the player in Chrome |
| 0024 | Graphic kinds become components; icon stickers are removed |