Commit Graph

41 Commits

Author SHA1 Message Date
kashorin d7b38b7094 refactor: make caption cues authored content 2026-10-09 00:34:14 +08:00
kashorin 205bfeb98d refactor: establish the adaptive composition model 2026-10-07 20:44:28 +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 b679e32192 refactor: unify adaptive timeline and presentation composition
Place prepared Takes on an independent Timeline with gaps and overlaps. Present picture, sound and captions through explicit Use rules while preserving source timing and project-authored styles.

Unify Companion bands, parameter ownership and source writeback in Studio. Migrate components, examples and authoring guidance, remove retired Speech/Semantic Track interfaces, and retain protocol identifiers at @1.

Validation: repository suite (786 tests; six sandbox-blocked tests passed on permitted rerun), 43 Studio tests after audit fixes, TypeScript, public declarations, four example-package builds, chat Source check and npm file inventory.
2026-09-13 01:01:47 +08:00
kashorin 87ac1a5b92 fix(speech): preserve Chinese word timing through alignment and captions 2026-09-10 20:59:13 +08:00
kashorin e90b070c33 feat(composition): support authored clocks alongside semantic timelines 2026-09-09 23:38:46 +08:00
kashorin fcc11e8ce0 fix(caption): style non-contiguous role cues 2026-08-29 18:58:22 +08:00
kashorin a4c290b032 refactor: preserve semantic identity through video time 2026-08-26 03:05:55 +08:00
kashorin 490fe1125a refactor: externalize temporal windows and simplify studio adapters 2026-08-23 04:11:52 +08:00
kashorin f3d319db22 refactor: make SemanticTrack the program skeleton 2026-08-21 00:11:28 +08:00
kashorin d91482f112 feat: introduce per-segment semantic takes 2026-08-20 16:35:21 +08:00
rpone df23c73d97 refactor: rebrand Narratage as Hypit 2026-08-19 15:51:58 +08:00
kashorin 7683e38c0e refactor: remove defensive execution scaffolding 2026-08-17 14:03:53 +08:00
kashorin 281d98fbba refactor(speech): make timing frame and sample exact 2026-08-13 22:04:30 +08:00
kashorin 2abc991691 refactor: slim authoring graph values 2026-08-13 20:20:05 +08:00
kashorin a4c5532f68 refactor: keep type identity on graph edges 2026-08-13 20:15:48 +08:00
kashorin b758a947dd refactor: strip redundant value contract tags 2026-08-13 20:07:38 +08:00
kashorin 849ac2a76f refactor: simplify modular compilation and runtime state 2026-08-13 18:53:05 +08:00
kashorin 39ff01aeca refactor: simplify graph realization and local workflow 2026-08-12 15:38:06 +08:00
kashorin 29c031b28c refactor(video): normalize media at track boundaries 2026-08-11 17:18:11 +08:00
kashorin 76cae8eaab refactor: separate markup text and typography
Rename the author frontend around Markup, replace PromptKit with graph-native Text templates, and keep video typography in its own package. Wire ordinary Text through explicit graph edges into model and visible consumers, refresh examples, locks, tests, and architecture documentation.
2026-08-10 10:55:46 +08:00
kashorin 56e3e8f6db feat: complete unified media track 2026-08-09 17:19:10 +08:00
kashorin ee2c8b5f5a feat: add exact audio and screen overlay tracks 2026-08-09 14:31:24 +08:00
kashorin 4d714877aa feat: establish shared track authoring foundations 2026-08-09 13:36:28 +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 b06b6b9442 test: remove redundant pre-release coverage 2026-08-09 03:26:59 +08:00
kashorin 3f14c014c7 refactor: remove the speech timing quality labels
Every token, segment and anchor carried measured/derived/estimated, caption
regions and presentation units carried it forward, and the renderer wrote it out
as data-caption-quality and data-caption-basis. Nothing ever decided anything
with it.

Nothing could. When alignment cannot measure a token it interpolates by
character weight, and that interpolation is already the only timing available —
there is no alternative for a consumer to switch to, and an author told about it
can only regenerate, which is non-deterministic anyway.

The interpolation itself is unchanged; only the label is gone. The correspondence
field stays because temporalization actually branches on it.
2026-08-08 04:34:12 +08:00
kashorin 1a5b0e4ca7 refactor: decompose video-contracts into owned domain modules
The umbrella video-contracts package collapsed eight unrelated
vocabularies into one release unit. Public video communication now
lives in small, independently versioned contract packages: narrative,
media, program-space, speech, speech-evidence, semantic-map, visual-ir
and composition. Speech implementation packages are renamed for what
they do (speech-spine, speech-basis, speech-alignment), realization
folds into run, and hyperframes-render becomes render-hyperframes with
a renderer-neutral Visual IR spec. Every model package gains a direct
activation entry, and shared video test fixtures move to test-support.

Example package locks are regenerated for the decomposed closure; the
graph-check, live, echo-pro-aroll and bootstrap sources all compile
against the new package set.
2026-08-08 01:35:22 +08:00
kashorin e3ef14b50a refactor: rename contracts to video-contracts
The package holds Narrative, Media, ProgramSpace, Speech, SemanticTime,
Track, Composition and HyperFrames Visual IR contracts — all video
domain vocabulary. A domain-neutral name overstated its scope and
collided with the repository's own naming discipline. Example locks are
regenerated for the new package identity.

Also removes three empty untracked directories left from earlier
package drafts (provider-kit, prelude-video, video-fragments).
2026-08-07 23:21:53 +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 0a0d2aebf6 feat(v2): close the talking-film author graph 2026-08-07 01:46:30 +08:00
kashorin a820db63ee feat(v2): add author media surfaces and graph-first contracts 2026-08-06 22:21:02 +08:00
kashorin 8b854a316d feat: activate caption lowering 2026-08-06 15:31:05 +08:00
kashorin 1320b2c77f feat: assemble modular v2 compiler and runtime 2026-08-05 21:45:52 +08:00
kashorin c763ce44f1 feat: implement graph-native v2 compilation 2026-08-05 03:22:35 +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