Commit Graph

26 Commits

Author SHA1 Message Date
kashorin 836349e8e8 refactor: separate temporal anchors from audiovisual composition 2026-10-07 20:44:29 +08:00
kashorin 190c54c435 refactor: close temporal domain ownership 2026-10-07 20:44:28 +08:00
kashorin 205bfeb98d refactor: establish the adaptive composition model 2026-10-07 20:44:28 +08:00
kashorin a6f84f5564 feat(production): inspect frames and prepare retained performances 2026-09-19 06:50:37 +08:00
kashorin 3bcd105cd2 fix(script): preserve complete prose across annotation boundaries 2026-09-17 08:47:02 +08:00
kashorin bd728d05b9 feat(script)!: delimit semantic markers and preserve caption spacing 2026-09-17 06:58:25 +08:00
kashorin 395775536d feat(script): support shared display and speech alignment units 2026-09-14 23:29:11 +08:00
kashorin 08589cafa8 fix(studio): stabilize script edits and rejected parameter values 2026-09-11 17:54:51 +08:00
kashorin 1859f4ccfa fix(script): preserve semantic anchors during marker edits 2026-09-11 07:34:15 +08:00
kashorin a4c290b032 refactor: preserve semantic identity through video time 2026-08-26 03:05:55 +08:00
kashorin d88b3400aa refactor: make Studio edits follow temporal lineage 2026-08-24 00:24:48 +08:00
kashorin 490fe1125a refactor: externalize temporal windows and simplify studio adapters 2026-08-23 04:11:52 +08:00
kashorin d91482f112 feat: introduce per-segment semantic takes 2026-08-20 16:35:21 +08:00
kashorin 7683e38c0e refactor: remove defensive execution scaffolding 2026-08-17 14:03:53 +08:00
kashorin a4c5532f68 refactor: keep type identity on graph edges 2026-08-13 20:15:48 +08:00
kashorin 849ac2a76f refactor: simplify modular compilation and runtime state 2026-08-13 18:53:05 +08:00
kashorin 9e7aa9f4d7 refactor: remove redundant repository scaffolding 2026-08-13 00:17:36 +08:00
kashorin a3114f992b refactor: make caption planning atom-safe 2026-08-09 07:14:59 +08:00
kashorin f3d47a43c2 refactor: separate caption planning from style rendering 2026-08-09 05:22:35 +08:00
kashorin 34d3bfd1fa fix: resolve marker affinity to one anchor while parsing
A Script marker names one of the 2M+2N anchors the Script defines, and Token
cuts and Segment cuts are equal citizens there. Three consumers each recomputed
that from a token index instead, and two of them got it wrong: outward markers
took the whole neighbouring word rather than snapping to its far edge, and a
marker at the head of a Segment reached back into the previous Segment, whose
end may sit at a different time.

The parser now resolves each marker's affinity once, where the surrounding
structure is known, and records the anchor on the boundary. Locating is a
lookup, Segment cuts become reachable, and a Caption Selection's token range
stops depending on affinity, which never moved words in the first place.

Moment becomes consumable: it publishes a referenceable NarrativeMoment and
momentFrames locates one instant per occurrence, mirroring selectionFrameSpans.

The map keeps anchors, segments and tokens. groups, durationSec and
quantizationPolicy had no consumer; the alignment classification they carried is
now asserted directly against alignWordGroups, one layer closer to the code.
2026-08-08 05:34:00 +08:00
kashorin a6686b0bad feat: rename the project to Narratage
Narratage (narration + montage) is the project, framework, npm scope
(@narratage/*) and CLI command. SVML remains the name of its markup
language, so file suffixes (.svml/.svs/.svrun), source Headers and
svml.* wire format ids are intentionally unchanged. Example locks are
regenerated because package manifests participate in artifact digests.
2026-08-07 22:29:26 +08:00
kashorin d8d7e38c1f chore: reset every wire format version to @1
The @0/@2/@4 numbers were rewrite-internal draft counters, not released
format versions. No external consumer or persisted data depends on them,
so the first public format of every id is @1. Negative-format tests use
@9 as the deliberately unknown version. Example package and runtime
locks are regenerated because format ids participate in digests.
2026-08-07 22:12:53 +08:00
kashorin 2855fd2a80 refactor(v2): complete graph-first runtime foundation
Remove payload lineage coupling, load deployment adapters from locked packages, add explicit artifact lifecycle tooling, and keep image/media execution behind replaceable endpoints. Refresh the executable examples and architecture records to match the implemented boundaries.
2026-08-07 20:40:49 +08:00
kashorin f57ac143c4 feat: make external capabilities explicit and verifiable 2026-08-04 05:24:39 +08:00
kashorin a04dcae52c feat: separate caption evidence and runtime providers 2026-08-03 19:59:33 +08:00
kashorin 39392a5d10 feat: add modular text and script surfaces 2026-08-03 18:47:51 +08:00