Commit Graph

60 Commits

Author SHA1 Message Date
kashorin 68f1693645 refactor: publish video-domain packages independently for 0.3.1 2026-10-09 18:13:50 +08:00
kashorin 8bac90166a fix(release): identify package provenance 2026-10-09 04:05:46 +08:00
kashorin f946760a3f docs: finish the 0.3 public documentation audit 2026-10-09 01:07:26 +08:00
kashorin 91d98a1b2d refactor: unify Studio items and temporal inverses 2026-10-09 00:35:10 +08:00
kashorin d7b38b7094 refactor: make caption cues authored content 2026-10-09 00:34:14 +08:00
kashorin 91fd9328f5 docs: align production guidance with the 0.3 model 2026-10-08 14:38:45 +08:00
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 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 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 32574cb6e8 fix(script): separate Latin words from adjacent CJK characters 2026-09-09 23:37:54 +08:00
kashorin 1f203a4f9f refactor(composition): separate semantic performance from visual layout
Speech publishes semantic timing and original audio. Media Performance and project components consume the prepared material, preserving source offsets across Takes while controlling their own framing and motion.

Add explicit renderer programs for coordinated HTML/CSS/JavaScript scenes, with typed media children, backdrop filtering and blending. Remove stand-in and estimated-take preview paths, migrate Sources and documentation, and demonstrate a Moment-driven video-to-diagram handoff.
2026-09-09 17:30:30 +08:00
kashorin dee36e24a5 docs(skill): sharpen directing and authoring guidance
Center image direction on decisive prompts and tested capture language, make generated-video craft model-neutral, and complete Script and Caption semantics with direct discovery from the Skill entrypoint.
2026-09-08 17:20:20 +08:00
kashorin e933cc2e43 docs(video): align examples with the authoring model 2026-09-07 04:25:49 +08:00
kashorin 407c77ffac refactor(cli): dismantle reference-video-tools into hypit media and vocabulary
Delete packages/reference-video-tools: the route/revision/variant state
machines, pending_observations, the check gates, layout_accept,
render_element (a Build outside Build), render_previews (posters are
designed, not rendered) and the per-video global cache tree. What an
agent needs outside a Build survives as dumb local commands in video-cli:
hypit media probe/cut/frames/tile/shots/fetch and hypit vocabulary.

Drop the four-word cue rule from @hypit/script; cue breaks are craft,
fit is the caption component's own knowledge. @hypit/yt-dlp writes to
the file the caller names. Prompts and measured parameters are kept
verbatim in .agents/development/observation-knowledge.md for the Skill.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-04 06:09:43 +08:00
kashorin fd2387b738 refactor(build): finalize result-oriented execution model 2026-09-03 13:28:06 +08:00
rpone 45ec7712b4 Close package resolution preview timing and geometry gates 2026-08-28 05:49:15 +08:00
rpone c681636ba7 feat: enforce package and cue gates in routes 2026-08-27 21:56:29 +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 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 f11f6bf8d5 feat: publish Hypit element declarations 2026-08-19 17:35:00 +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 3a7c60f8cb refactor: simplify package loading and runtime execution 2026-08-17 14:03:52 +08:00
kashorin 75f3e752b7 refactor: simplify extension boundaries and runtime presentation 2026-08-13 23:25:19 +08:00
kashorin a4c5532f68 refactor: keep type identity on graph edges 2026-08-13 20:15:48 +08:00
kashorin dcaf24ecb4 refactor: remove redundant compilation wrappers 2026-08-13 19:53:35 +08:00
kashorin 849ac2a76f refactor: simplify modular compilation and runtime state 2026-08-13 18:53:05 +08:00
rpone 108b9ae0a6 Merge remote-tracking branch 'origin/main'
The three example package locks conflicted: both sides had regenerated
them. Neither side's digests were still correct, since the merged tree
combines their source refactor with the license field added to every
manifest, so the locks were rebuilt from the merged bytes rather than
resolved by picking a side.
2026-08-13 00:34:10 +08:00
rpone c4216c4b4c chore: declare licensing accurately before the public release
Every workspace manifest omitted a license field, so a scanner reading
the published repository would resolve all 90 of them as unknown. Both
Python services went further and declared plain Apache-2.0, which is
looser than the LICENSE they actually ship under.

Package bytes feed the example package locks, so adding the field
invalidated all three; refreshed them. Only closureDigest and artifacts
move — same 31 selected packages, nothing added or removed.

Also record what the READMEs never said: ffmpeg is a real prerequisite
for a Build and had zero mentions, and the media Lambda layer is a GPL
FFmpeg build. That build is deliberate — libx264 is GPL-only and the
encode path requires it — and it stays lawful only because the operator
builds and deploys it into their own account. Publishing a prebuilt
layer would break that, so the boundary is now written down.
2026-08-13 00:21:27 +08:00
kashorin 9e7aa9f4d7 refactor: remove redundant repository scaffolding 2026-08-13 00:17:36 +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 81aeb2d169 Normalize logical identities and migration docs 2026-08-10 03:58:39 +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 359d199b13 refactor: remove client branding and freeze pre-release identities 2026-08-09 03:16:57 +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 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 f5f01cebae docs: retire the v1/v2 rewrite narrative
The exploratory root compiler never shipped, so version-numbered
narration only confused the current single implementation. Doc and spec
filenames drop their -v1 suffix, titles drop v1, prose describes the
present system, the v2-bootstrap example becomes bootstrap, and the CLI
usage/scripts are plain svml. Package locks are regenerated because
package README bytes participate in artifact digests.

Script Surface's own v1 target statements remain: that spec genuinely
defines its first public version.
2026-08-07 22:22:38 +08:00