@hypit/hypit 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/dist/public/caption.d.ts +206 -183
- package/dist/public/composition.d.ts +25 -3
- package/dist/public/endpoint-kit.d.ts +24 -2
- package/dist/public/generation.d.ts +5 -1
- package/dist/public/hyperframes.d.ts +19 -1
- package/dist/public/narrative.d.ts +17 -3
- package/dist/public/performance.d.ts +1590 -0
- package/dist/public/program-space.d.ts +179 -32
- package/dist/public/runtime-kit.d.ts +21 -8
- package/dist/public/sound.d.ts +822 -0
- package/dist/public/speech.d.ts +41 -0
- package/dist/public/studio-adapter.d.ts +107 -16
- package/dist/public/temporal-markup.d.ts +9 -44
- package/dist/public/temporal.d.ts +37 -28
- package/dist/public/{semantic-track.d.ts → timeline.d.ts} +62 -49
- package/examples/README.md +18 -10
- package/examples/minimal-author-package/packages/example-component/preview/preview.svml +19 -12
- package/examples/minimal-author-package/packages/example-component/src/component.ts +5 -5
- package/examples/minimal-author-package/packages/example-component/src/fragment.ts +3 -5
- package/examples/minimal-author-package/packages/example-component/src/manifest.ts +8 -10
- package/examples/minimal-author-package/packages/example-component/src/surface.ts +2 -2
- package/examples/provider-package/README.md +78 -0
- package/examples/provider-package/hypit.runtime.json +12 -0
- package/examples/provider-package/packages/provider-images/package.json +11 -0
- package/examples/provider-package/packages/provider-images/src/activation.ts +24 -0
- package/examples/provider-package/packages/provider-images/src/provider.ts +122 -0
- package/examples/provider-package/packages/provider-images/tsconfig.json +9 -0
- package/examples/semantic-composition/README.md +6 -0
- package/examples/semantic-composition/chat.svml +6 -5
- package/examples/semantic-composition/packages/chat-scene/README.md +3 -3
- package/examples/semantic-composition/packages/chat-scene/src/activation.ts +18 -21
- package/examples/semantic-composition/packages/chat-scene/src/render.ts +4 -4
- package/examples/semantic-composition/packages/performance-styles/README.md +42 -0
- package/examples/semantic-composition/packages/performance-styles/package.json +25 -0
- package/examples/semantic-composition/packages/performance-styles/src/activation.ts +57 -0
- package/examples/semantic-composition/packages/performance-styles/src/render.ts +54 -0
- package/examples/semantic-composition/packages/performance-styles/src/studio.ts +28 -0
- package/examples/semantic-composition/packages/performance-styles/tsconfig.json +18 -0
- package/examples/semantic-composition/packages/responsive-explainer/README.md +16 -9
- package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +12 -12
- package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +5 -5
- package/examples/semantic-composition/packages/sound-styles/README.md +36 -0
- package/examples/semantic-composition/packages/sound-styles/package.json +25 -0
- package/examples/semantic-composition/packages/sound-styles/src/activation.ts +53 -0
- package/examples/semantic-composition/packages/sound-styles/src/render.ts +14 -0
- package/examples/semantic-composition/packages/sound-styles/tsconfig.json +18 -0
- package/package.json +35 -15
- package/packages/audio-track/README.md +20 -13
- package/packages/audio-track/package.json +1 -1
- package/packages/audio-track/src/component.ts +4 -4
- package/packages/audio-track/src/fragment.ts +6 -5
- package/packages/audio-track/src/index.ts +1 -1
- package/packages/audio-track/src/manifest.ts +17 -16
- package/packages/audio-track/src/program.ts +21 -25
- package/packages/audio-track/src/surface.ts +19 -18
- package/packages/audio-track-studio/README.md +23 -0
- package/packages/audio-track-studio/src/index.ts +33 -19
- package/packages/author-kit/README.md +1 -1
- package/packages/background-removal/README.md +4 -7
- package/packages/browser-capture/package.json +1 -1
- package/packages/build-result/README.md +69 -0
- package/packages/build-result/package.json +2 -1
- package/packages/build-result/src/decode.ts +12 -8
- package/packages/build-result/src/execution-log.ts +17 -0
- package/packages/build-result/src/file-reference.ts +42 -0
- package/packages/build-result/src/index.ts +4 -0
- package/packages/build-result/src/replace-file-windows.ts +58 -0
- package/packages/build-result/src/replace-file.ts +11 -0
- package/packages/build-result/src/store.ts +58 -14
- package/packages/build-result/src/types.ts +41 -8
- package/packages/build-result/src/writer.ts +12 -1
- package/packages/build-result-fs/README.md +23 -1
- package/packages/build-result-s3/README.md +5 -0
- package/packages/build-result-s3/src/repository.ts +23 -5
- package/packages/caption/README.md +61 -73
- package/packages/caption/package.json +3 -2
- package/packages/caption/src/activation.ts +2 -2
- package/packages/caption/src/component.ts +20 -5
- package/packages/caption/src/display.ts +3 -18
- package/packages/caption/src/fragment.ts +3 -7
- package/packages/caption/src/index.ts +6 -5
- package/packages/caption/src/manifest.ts +29 -46
- package/packages/caption/src/style.ts +24 -135
- package/packages/caption/src/surface.ts +12 -92
- package/packages/caption/src/temporalize.ts +18 -53
- package/packages/caption/src/types.ts +8 -35
- package/packages/caption/src/visibility.ts +23 -0
- package/packages/caption-fine/README.md +31 -11
- package/packages/caption-fine/package.json +4 -2
- package/packages/caption-fine/src/component.ts +3 -3
- package/packages/caption-fine/src/fragment.ts +7 -19
- package/packages/caption-fine/src/index.ts +2 -0
- package/packages/caption-fine/src/manifest.ts +27 -18
- package/packages/caption-fine/src/recipe.ts +7 -0
- package/packages/caption-fine/src/render.ts +62 -49
- package/packages/caption-fine/src/schedule.ts +39 -35
- package/packages/caption-fine/src/style.ts +10 -9
- package/packages/caption-fine/src/surface.ts +62 -35
- package/packages/caption-fine/src/types.ts +2 -0
- package/packages/caption-fine-studio/README.md +24 -2
- package/packages/caption-fine-studio/package.json +10 -3
- package/packages/caption-fine-studio/src/activation.ts +3 -3
- package/packages/caption-fine-studio/src/index.ts +61 -40
- package/packages/cli/README.md +81 -3
- package/packages/cli/package.json +1 -0
- package/packages/cli/src/arguments.ts +39 -15
- package/packages/cli/src/build-planning.ts +9 -3
- package/packages/cli/src/command.ts +7 -1
- package/packages/cli/src/commands/environment.ts +66 -27
- package/packages/cli/src/commands/execution.ts +81 -26
- package/packages/cli/src/commands/results.ts +7 -11
- package/packages/cli/src/index.ts +2 -2
- package/packages/cli/src/machine-view.ts +15 -5
- package/packages/cli/src/main.ts +38 -42
- package/packages/cli/src/observation.ts +7 -1
- package/packages/cli/src/output.ts +92 -34
- package/packages/cli/src/result-export.ts +22 -13
- package/packages/cli/src/run-file.ts +19 -8
- package/packages/cli/src/view.ts +64 -18
- package/packages/comment-sticker/README.md +3 -3
- package/packages/comment-sticker/package.json +1 -1
- package/packages/comment-sticker/src/component.ts +4 -4
- package/packages/comment-sticker/src/fragment.ts +5 -4
- package/packages/comment-sticker/src/manifest.ts +7 -6
- package/packages/comment-sticker/src/program.ts +9 -9
- package/packages/comment-sticker/src/surface.ts +6 -7
- package/packages/comment-sticker-studio/src/index.ts +2 -1
- package/packages/compiler-node/src/compiler.ts +1 -0
- package/packages/composition/README.md +21 -0
- package/packages/composition/src/audio-presentation.ts +44 -0
- package/packages/composition/src/index.ts +3 -0
- package/packages/composition/src/schema.ts +8 -3
- package/packages/composition/src/track.ts +15 -1
- package/packages/credential-store-env/README.md +1 -1
- package/packages/deck-track/README.md +3 -3
- package/packages/deck-track/package.json +1 -1
- package/packages/deck-track/src/component.ts +5 -5
- package/packages/deck-track/src/fragment.ts +6 -5
- package/packages/deck-track/src/lower.ts +12 -12
- package/packages/deck-track/src/manifest.ts +8 -7
- package/packages/deck-track/src/program.ts +13 -16
- package/packages/deck-track/src/surface.ts +9 -10
- package/packages/driver-node/src/driver.ts +41 -3
- package/packages/elevenlabs-speech/README.md +27 -0
- package/packages/{provider-xiaomi-mimo → elevenlabs-speech}/package.json +5 -8
- package/packages/elevenlabs-speech/src/activation.ts +26 -0
- package/packages/elevenlabs-speech/src/fragment.ts +11 -0
- package/packages/elevenlabs-speech/src/index.ts +111 -0
- package/packages/elevenlabs-speech/src/surface.ts +167 -0
- package/packages/endpoint-kit/README.md +24 -0
- package/packages/endpoint-kit/src/index.ts +7 -1
- package/packages/estimate/README.md +56 -3
- package/packages/estimate/src/program.ts +7 -8
- package/packages/film/README.md +12 -7
- package/packages/film/package.json +1 -1
- package/packages/film/src/component.ts +4 -4
- package/packages/film/src/fragment.ts +6 -5
- package/packages/film/src/manifest.ts +11 -10
- package/packages/film/src/program.ts +5 -5
- package/packages/film/src/recipe.ts +2 -1
- package/packages/film/src/surface.ts +6 -6
- package/packages/film-studio/package.json +1 -1
- package/packages/film-studio/src/index.ts +2 -2
- package/packages/fishaudio-speech/README.md +33 -0
- package/packages/fishaudio-speech/package.json +21 -0
- package/packages/fishaudio-speech/src/activation.ts +32 -0
- package/packages/fishaudio-speech/src/fragment.ts +11 -0
- package/packages/fishaudio-speech/src/index.ts +156 -0
- package/packages/fishaudio-speech/src/surface.ts +192 -0
- package/packages/fonts-open/README.md +5 -0
- package/packages/fonts-open/package.json +5 -1
- package/packages/fonts-open/src/studio.ts +21 -0
- package/packages/generation/README.md +11 -1
- package/packages/generation/src/mapping.ts +28 -30
- package/packages/gpt-image/README.md +1 -2
- package/packages/grok-imagine/README.md +1 -2
- package/packages/hyperframes/README.md +7 -3
- package/packages/hyperframes/src/browser-program.ts +11 -2
- package/packages/hyperframes/src/document.ts +15 -2
- package/packages/interview-emoji-reveal/README.md +4 -4
- package/packages/interview-emoji-reveal/package.json +1 -1
- package/packages/interview-emoji-reveal/src/component.ts +4 -4
- package/packages/interview-emoji-reveal/src/fragment.ts +6 -5
- package/packages/interview-emoji-reveal/src/manifest.ts +9 -8
- package/packages/interview-emoji-reveal/src/program.ts +14 -14
- package/packages/interview-emoji-reveal/src/surface.ts +8 -9
- package/packages/media-execution/README.md +7 -3
- package/packages/media-execution/src/audio-presentation.ts +23 -0
- package/packages/media-execution/src/execute.ts +2 -0
- package/packages/media-pipeline/README.md +7 -3
- package/packages/media-pipeline/src/audio-plan.ts +4 -1
- package/packages/media-pipeline/src/component.ts +16 -2
- package/packages/media-pipeline/src/manifest.ts +3 -1
- package/packages/media-pipeline/src/types.ts +2 -1
- package/packages/media-track/README.md +14 -47
- package/packages/media-track/package.json +1 -1
- package/packages/media-track/preview/preview.svml +5 -5
- package/packages/media-track/src/author.ts +12 -6
- package/packages/media-track/src/component.ts +10 -16
- package/packages/media-track/src/fragment.ts +8 -7
- package/packages/media-track/src/index.ts +3 -1
- package/packages/media-track/src/lower.ts +7 -7
- package/packages/media-track/src/manifest.ts +16 -38
- package/packages/media-track/src/program.ts +62 -67
- package/packages/media-track/src/sampling.ts +6 -6
- package/packages/media-track/src/sequence.ts +8 -8
- package/packages/media-track/src/surface.ts +25 -43
- package/packages/media-track-studio/README.md +9 -0
- package/packages/media-track-studio/src/index.ts +23 -13
- package/packages/mimo-speech/README.md +1 -1
- package/packages/minimax-h3/README.md +1 -1
- package/packages/nano-banana/README.md +1 -1
- package/packages/narrative/README.md +23 -1
- package/packages/narrative/src/identity.ts +11 -0
- package/packages/narrative/src/index.ts +3 -0
- package/packages/narrative/src/schema.ts +28 -27
- package/packages/narrative/src/selection.ts +52 -0
- package/packages/narrative/src/types.ts +2 -0
- package/packages/package-loader-node/README.md +30 -0
- package/packages/package-loader-node/package.json +5 -2
- package/packages/package-loader-node/src/distribution-resolution.ts +10 -3
- package/packages/package-loader-node/src/index.ts +1 -0
- package/packages/package-loader-node/src/loader.ts +12 -15
- package/packages/package-loader-node/src/location.ts +27 -1
- package/packages/package-loader-node/src/module-scope.ts +183 -0
- package/packages/package-loader-node/src/types.ts +4 -0
- package/packages/performance/README.md +83 -0
- package/packages/performance/package.json +30 -0
- package/packages/performance/src/activation.ts +11 -0
- package/packages/performance/src/component.ts +46 -0
- package/packages/performance/src/index.ts +6 -0
- package/packages/performance/src/manifest.ts +53 -0
- package/packages/{media-track/src/performance.ts → performance/src/media.ts} +9 -10
- package/packages/performance/src/program.ts +51 -0
- package/packages/performance/src/style.ts +35 -0
- package/packages/performance/src/surface.ts +99 -0
- package/packages/performance-studio/README.md +25 -0
- package/packages/performance-studio/package.json +21 -0
- package/packages/performance-studio/src/activation.ts +6 -0
- package/packages/performance-studio/src/index.ts +84 -0
- package/packages/program-space/README.md +9 -18
- package/packages/program-space/src/activation.ts +1 -5
- package/packages/program-space/src/index.ts +2 -11
- package/packages/program-space/src/surface.ts +1 -20
- package/packages/project-context-node/README.md +20 -0
- package/packages/project-context-node/package.json +10 -0
- package/packages/project-context-node/src/index.ts +3 -0
- package/packages/{cli → project-context-node}/src/runtime-selection.ts +7 -2
- package/packages/provider-hyperframes-local/README.md +43 -15
- package/packages/provider-hyperframes-local/src/activation.ts +4 -3
- package/packages/provider-hyperframes-local/src/capture-process.ts +26 -4
- package/packages/provider-hyperframes-local/src/capture.ts +96 -26
- package/packages/provider-hyperframes-local/src/concurrency.ts +86 -0
- package/packages/provider-hyperframes-local/src/opaque-capture.ts +92 -0
- package/packages/provider-hyperframes-local/src/options.ts +2 -0
- package/packages/provider-hyperframes-local/src/program.ts +6 -3
- package/packages/provider-hyperframes-local/src/progress.ts +53 -0
- package/packages/provider-hyperframes-local/src/provider.ts +18 -5
- package/packages/provider-hyperframes-local/src/render.ts +48 -7
- package/packages/provider-hypihub/README.md +48 -17
- package/packages/provider-hypihub/package.json +2 -0
- package/packages/provider-hypihub/src/mapping.ts +31 -7
- package/packages/provider-hypihub/src/oauth.ts +6 -0
- package/packages/provider-hypihub/src/provider.ts +25 -13
- package/packages/provider-hypihub/src/routes.ts +1 -2
- package/packages/provider-hypihub/src/upload.ts +2 -0
- package/packages/provider-media-local/README.md +3 -4
- package/packages/provider-whisperx-local/README.md +57 -0
- package/packages/provider-whisperx-local/src/program.ts +1 -0
- package/packages/provider-whisperx-local/src/provider.ts +3 -0
- package/packages/ranking/README.md +8 -6
- package/packages/ranking/package.json +1 -1
- package/packages/ranking/src/component.ts +6 -6
- package/packages/ranking/src/fragment.ts +11 -7
- package/packages/ranking/src/manifest.ts +21 -14
- package/packages/ranking/src/render.ts +33 -35
- package/packages/ranking/src/schedule.ts +16 -19
- package/packages/ranking/src/surface.ts +12 -13
- package/packages/ranking-studio/README.md +29 -0
- package/packages/ranking-studio/package.json +8 -3
- package/packages/ranking-studio/src/index.ts +71 -12
- package/packages/render-hyperframes/README.md +7 -7
- package/packages/render-hyperframes/package.json +1 -1
- package/packages/render-hyperframes/src/component.ts +11 -1
- package/packages/render-hyperframes/src/fragment.ts +7 -4
- package/packages/render-hyperframes/src/manifest.ts +4 -4
- package/packages/render-hyperframes/src/surface.ts +6 -6
- package/packages/runtime/README.md +8 -1
- package/packages/runtime/src/catalog.ts +2 -0
- package/packages/runtime/src/execution.ts +15 -4
- package/packages/runtime/src/index.ts +2 -1
- package/packages/runtime/src/log.ts +51 -0
- package/packages/runtime/src/types.ts +5 -8
- package/packages/runtime-host-node/README.md +30 -0
- package/packages/runtime-host-node/package.json +1 -0
- package/packages/runtime-host-node/src/index.ts +25 -9
- package/packages/runtime-host-node/src/packages.ts +47 -50
- package/packages/runtime-kit/README.md +5 -0
- package/packages/runtime-kit/src/index.ts +3 -1
- package/packages/runtime-local/README.md +111 -4
- package/packages/runtime-local/src/config.ts +202 -56
- package/packages/runtime-local/src/control.ts +9 -1
- package/packages/runtime-local/src/executor.ts +66 -0
- package/packages/runtime-local/src/host.ts +37 -17
- package/packages/runtime-local/src/log.ts +48 -0
- package/packages/runtime-local/src/programs.ts +41 -25
- package/packages/runtime-local/src/result-writer.ts +2 -0
- package/packages/runtime-local/src/runtime.ts +10 -6
- package/packages/runtime-local/src/supervisor.ts +142 -0
- package/packages/runtime-local/src/types.ts +9 -2
- package/packages/runtime-local/src/worker-process.ts +7 -24
- package/packages/runtime-local/src/worker.ts +55 -83
- package/packages/screen-overlay/README.md +3 -3
- package/packages/screen-overlay/package.json +1 -1
- package/packages/screen-overlay/src/component.ts +3 -3
- package/packages/screen-overlay/src/fragment.ts +5 -4
- package/packages/screen-overlay/src/manifest.ts +7 -6
- package/packages/screen-overlay/src/program.ts +9 -9
- package/packages/screen-overlay/src/surface.ts +6 -7
- package/packages/script/README.md +37 -2
- package/packages/script/src/edit.ts +123 -73
- package/packages/script/src/lexical.ts +40 -6
- package/packages/script/src/manifest.ts +2 -2
- package/packages/script/src/narrative.ts +1 -0
- package/packages/script/src/parser.ts +36 -8
- package/packages/script/src/surface.ts +4 -3
- package/packages/script/src/types.ts +5 -1
- package/packages/script-studio/package.json +9 -3
- package/packages/script-studio/src/index.ts +2 -0
- package/packages/script-studio/src/projection.ts +105 -0
- package/packages/seedance/README.md +30 -1
- package/packages/seedance/src/index.ts +18 -7
- package/packages/seedance/src/surface.ts +17 -4
- package/packages/seedance-kits/README.md +10 -2
- package/packages/seedance-kits/kits/speaker-v1.svs +5 -5
- package/packages/seedream/README.md +1 -1
- package/packages/sound/README.md +81 -0
- package/packages/sound/package.json +25 -0
- package/packages/sound/src/activation.ts +11 -0
- package/packages/sound/src/component.ts +28 -0
- package/packages/sound/src/index.ts +5 -0
- package/packages/sound/src/manifest.ts +47 -0
- package/packages/sound/src/program.ts +84 -0
- package/packages/sound/src/style.ts +34 -0
- package/packages/sound/src/surface.ts +90 -0
- package/packages/sound-studio/README.md +22 -0
- package/packages/sound-studio/package.json +20 -0
- package/packages/sound-studio/src/activation.ts +6 -0
- package/packages/sound-studio/src/index.ts +74 -0
- package/packages/speech/README.md +2 -2
- package/packages/speech-alignment/src/align.ts +45 -21
- package/packages/speech-alignment/src/local.ts +8 -0
- package/packages/speech-alignment/src/locate.ts +1 -1
- package/packages/store-sqlite/README.md +7 -0
- package/packages/store-sqlite/src/store.ts +84 -83
- package/packages/studio/INSPECTOR.md +117 -0
- package/packages/studio/README.md +149 -14
- package/packages/studio/package.json +8 -7
- package/packages/studio/src/build-library.ts +99 -84
- package/packages/studio/src/companion-assembly.ts +1 -0
- package/packages/studio/src/domain.ts +1 -1
- package/packages/studio/src/fallback-companions.ts +3 -3
- package/packages/studio/src/feedback-server.ts +51 -0
- package/packages/studio/src/feedback-store.ts +66 -0
- package/packages/studio/src/feedback.ts +60 -0
- package/packages/studio/src/library-media.ts +19 -0
- package/packages/studio/src/parameter-values.ts +83 -1
- package/packages/studio/src/parameters.ts +132 -43
- package/packages/studio/src/preview/render.ts +5 -1
- package/packages/studio/src/preview/runtime-shim.ts +49 -3
- package/packages/studio/src/programme.ts +14 -30
- package/packages/studio/src/server.ts +66 -34
- package/packages/studio/src/shared.ts +24 -8
- package/packages/studio/src/snapshot.ts +21 -132
- package/packages/studio/src/studio-preflight.ts +3 -3
- package/packages/studio/src/studio-registry.ts +72 -6
- package/packages/studio/src/style.css +342 -190
- package/packages/studio/src/temporal-edit.ts +131 -0
- package/packages/studio/src/ui/artifact-name.ts +80 -0
- package/packages/studio/src/ui/artifact-preview.ts +99 -0
- package/packages/studio/src/ui/comments.ts +233 -0
- package/packages/studio/src/ui/icons.ts +10 -1
- package/packages/studio/src/ui/library.ts +373 -192
- package/packages/studio/src/ui/main.ts +291 -110
- package/packages/studio/src/ui/material-preview.ts +1 -1
- package/packages/studio/src/ui/overlay.ts +31 -26
- package/packages/studio/src/ui/scrub-preview.ts +108 -0
- package/packages/studio/src/ui/sidebar-panel.ts +31 -0
- package/packages/studio/src/ui/stage.ts +188 -9
- package/packages/studio/src/ui/timeline.ts +187 -281
- package/packages/studio/start.ts +19 -5
- package/packages/studio-adapter/README.md +151 -11
- package/packages/studio-adapter/src/index.ts +126 -14
- package/packages/temporal/README.md +6 -6
- package/packages/temporal/package.json +1 -1
- package/packages/temporal/src/component.ts +5 -6
- package/packages/temporal/src/index.ts +8 -6
- package/packages/temporal/src/location.ts +11 -11
- package/packages/temporal/src/projection.ts +19 -19
- package/packages/temporal/src/rational.ts +4 -4
- package/packages/temporal-markup/EDITING.md +183 -0
- package/packages/temporal-markup/README.md +31 -11
- package/packages/temporal-markup/package.json +1 -1
- package/packages/temporal-markup/src/index.ts +20 -25
- package/packages/temporal-markup/src/space.ts +10 -41
- package/packages/timeline/README.md +31 -0
- package/packages/{semantic-track → timeline}/package.json +1 -1
- package/packages/timeline/src/activation.ts +8 -0
- package/packages/timeline/src/component.ts +24 -0
- package/packages/timeline/src/identity.ts +60 -0
- package/packages/timeline/src/index.ts +6 -0
- package/packages/{semantic-track → timeline}/src/location.ts +20 -20
- package/packages/timeline/src/manifest.ts +39 -0
- package/packages/{semantic-track → timeline}/src/projection.ts +14 -14
- package/packages/timeline/src/types.ts +24 -0
- package/packages/timeline-author/README.md +68 -0
- package/packages/{speech-track → timeline-author}/package.json +6 -4
- package/packages/timeline-author/src/activation.ts +22 -0
- package/packages/{speech-track → timeline-author}/src/component.ts +15 -13
- package/packages/{speech-track → timeline-author}/src/fragment.ts +14 -23
- package/packages/timeline-author/src/index.ts +7 -0
- package/packages/timeline-author/src/manifest.ts +78 -0
- package/packages/timeline-author/src/program.ts +107 -0
- package/packages/timeline-author/src/surface.ts +46 -0
- package/packages/timeline-author/src/types.ts +6 -0
- package/packages/typography-track/README.md +4 -4
- package/packages/typography-track/package.json +1 -1
- package/packages/typography-track/src/component.ts +4 -4
- package/packages/typography-track/src/fragment.ts +4 -3
- package/packages/typography-track/src/manifest.ts +11 -9
- package/packages/typography-track/src/program.ts +15 -15
- package/packages/typography-track/src/surface.ts +17 -18
- package/packages/typography-track-studio/package.json +8 -3
- package/packages/typography-track-studio/src/index.ts +5 -1
- package/packages/video-cli/README.md +16 -4
- package/packages/video-cli/package.json +2 -1
- package/packages/video-cli/src/creation.ts +25 -9
- package/packages/video-cli/src/index.ts +1 -1
- package/packages/video-cli/src/studio-distribution.ts +2 -1
- package/packages/volcengine-matting/README.md +3 -3
- package/packages/whisperx/README.md +8 -1
- package/packages/workspace/src/index.ts +2 -0
- package/packages/workspace-fs-node/README.md +4 -1
- package/packages/workspace-fs-node/src/workspace.ts +3 -1
- package/services/whisperx/README.md +14 -0
- package/services/whisperx/pyproject.toml +2 -0
- package/services/whisperx/uv.lock +20 -20
- package/packages/provider-hyperframes-aws-lambda/README.md +0 -30
- package/packages/provider-hyperframes-aws-lambda/package.json +0 -30
- package/packages/provider-hyperframes-aws-lambda/src/activation.ts +0 -97
- package/packages/provider-hyperframes-aws-lambda/src/client.ts +0 -114
- package/packages/provider-hyperframes-aws-lambda/src/index.ts +0 -21
- package/packages/provider-hyperframes-aws-lambda/src/provider.ts +0 -522
- package/packages/provider-kie/README.md +0 -134
- package/packages/provider-kie/package.json +0 -43
- package/packages/provider-kie/src/activation.ts +0 -71
- package/packages/provider-kie/src/index.ts +0 -10
- package/packages/provider-kie/src/mapping.ts +0 -182
- package/packages/provider-kie/src/provider.ts +0 -657
- package/packages/provider-kie/src/routes.ts +0 -150
- package/packages/provider-xiaomi-mimo/README.md +0 -32
- package/packages/provider-xiaomi-mimo/src/activation.ts +0 -57
- package/packages/provider-xiaomi-mimo/src/index.ts +0 -5
- package/packages/provider-xiaomi-mimo/src/provider.ts +0 -214
- package/packages/runtime/src/environment.ts +0 -6
- package/packages/semantic-track/README.md +0 -21
- package/packages/semantic-track/src/activation.ts +0 -8
- package/packages/semantic-track/src/component.ts +0 -24
- package/packages/semantic-track/src/identity.ts +0 -58
- package/packages/semantic-track/src/index.ts +0 -6
- package/packages/semantic-track/src/manifest.ts +0 -38
- package/packages/semantic-track/src/types.ts +0 -26
- package/packages/speech-track/README.md +0 -51
- package/packages/speech-track/src/activation.ts +0 -19
- package/packages/speech-track/src/index.ts +0 -7
- package/packages/speech-track/src/manifest.ts +0 -73
- package/packages/speech-track/src/program.ts +0 -64
- package/packages/speech-track/src/surface.ts +0 -35
- package/packages/speech-track/src/types.ts +0 -6
- package/packages/speech-track-studio/README.md +0 -3
- package/packages/speech-track-studio/package.json +0 -14
- package/packages/speech-track-studio/src/activation.ts +0 -7
- package/packages/speech-track-studio/src/index.ts +0 -40
- /package/packages/{cli → project-context-node}/src/project-context.ts +0 -0
- /package/packages/{speech-track → timeline-author}/preview/Track.png +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { captionTypes } from "@hypit/caption";
|
|
1
|
+
import { captionTypes, captionProducers } from "@hypit/caption";
|
|
2
2
|
import { assertFontArtifactRef, assertFontStackRef, mediaTypes } from "@hypit/media";
|
|
3
3
|
import type { FontArtifactRef, FontStackRef } from "@hypit/media";
|
|
4
4
|
import { narrativeTypes } from "@hypit/narrative";
|
|
5
|
-
import {
|
|
5
|
+
import { timelineTypes } from "@hypit/timeline";
|
|
6
6
|
import { spatialTypes } from "@hypit/spatial";
|
|
7
7
|
import { svsRecipeType } from "@hypit/svs";
|
|
8
8
|
import type { SvsRecipe } from "@hypit/svs";
|
|
@@ -13,7 +13,16 @@ import type {
|
|
|
13
13
|
MarkupAttributeValue,
|
|
14
14
|
} from "@hypit/markup";
|
|
15
15
|
|
|
16
|
-
import {
|
|
16
|
+
import { sealGraphFragment } from "@hypit/elaborator";
|
|
17
|
+
import type { FragmentOperation } from "@hypit/elaborator";
|
|
18
|
+
import type { SurfaceRecordDraft, SurfaceComponentDraft } from "@hypit/markup";
|
|
19
|
+
import { assertEmptyElement, optionalTextAttribute } from "@hypit/markup";
|
|
20
|
+
import { createTemporalWindowProjection, resolveTemporalContext, temporalWindowAttributeNames } from "@hypit/temporal-markup";
|
|
21
|
+
import { temporalTypes } from "@hypit/temporal";
|
|
22
|
+
import { compositionTypes } from "@hypit/composition";
|
|
23
|
+
import { captionFineProducers, captionFineTypes } from "./manifest.js";
|
|
24
|
+
const input = (name: string) => ({ kind: "fragment-input" as const, name });
|
|
25
|
+
const operation = (id: string) => ({ kind: "fragment-operation" as const, operation: id });
|
|
17
26
|
import { fineCaptionStyle } from "./style.js";
|
|
18
27
|
|
|
19
28
|
function sameType(left: SurfaceResolvedReference["type"], right: SurfaceResolvedReference["type"]): boolean {
|
|
@@ -114,39 +123,57 @@ export const decodeFineCaptionStyleSurface: StructuredSurfaceHandler = ({ elemen
|
|
|
114
123
|
};
|
|
115
124
|
|
|
116
125
|
export const decodeFineCaptionTrackSurface: StructuredSurfaceHandler = ({ element, resolveReference }) => {
|
|
117
|
-
attributes(element, ["id", "document", "
|
|
118
|
-
if (element.children.some((child) => child.kind === "element" || child.value.trim())) {
|
|
119
|
-
throw new Error(`${element.name} does not accept children`);
|
|
120
|
-
}
|
|
126
|
+
attributes(element, ["id", "document", "timeline"], ["regions"]);
|
|
121
127
|
const id = stringAttribute(element, "id");
|
|
122
128
|
const document = reference(element, "document", narrativeTypes.captionDocument, resolveReference);
|
|
123
|
-
const
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
129
|
+
const context = resolveTemporalContext({ element, resolveReference });
|
|
130
|
+
const regions = element.attributes.regions === undefined ? undefined : reference(element, "regions", spatialTypes.regionTimeline, resolveReference);
|
|
131
|
+
const records: SurfaceRecordDraft[] = [{ id: `${id}.header`, type: captionTypes.header,
|
|
132
|
+
value: { kind: "inline", value: { id } }, range: element.range }];
|
|
133
|
+
const components: SurfaceComponentDraft[] = [];
|
|
134
|
+
const fragments: ReturnType<typeof sealGraphFragment>[] = [];
|
|
135
|
+
const inputs: { name: string; type: SurfaceResolvedReference["type"] }[] = [{ name: "document", type: narrativeTypes.captionDocument }, { name: "timeline", type: timelineTypes.track }, { name: "header", type: captionTypes.header }];
|
|
136
|
+
const bindings: Record<string, SurfaceResolvedReference["ref"]> = { document: document.ref, timeline: context.timeline.ref, header: { kind: "record", id: `${id}.header` } };
|
|
137
|
+
const operations: FragmentOperation[] = [{ id: "create", producer: captionProducers.create,
|
|
138
|
+
inputs: { document: input("document"), header: input("header") }, result: { kind: "output", name: "program" } }];
|
|
139
|
+
let previous = "create", index = 0;
|
|
140
|
+
for (const child of element.children) {
|
|
141
|
+
if (child.kind === "text") { if (child.value.trim()) throw new Error("Caption Track accepts Use children."); continue; }
|
|
142
|
+
if (localName(child.name) !== "Use") throw new Error("Caption Track accepts Use children.");
|
|
143
|
+
attributes(child, ["style"], ["id", "role", ...temporalWindowAttributeNames]);
|
|
144
|
+
assertEmptyElement(child);
|
|
145
|
+
index += 1;
|
|
146
|
+
const useId = optionalTextAttribute(child, "id") ?? `${id}.use.${index}`;
|
|
147
|
+
const hasTime = temporalWindowAttributeNames.some(name => child.attributes[name] !== undefined);
|
|
148
|
+
const temporal = createTemporalWindowProjection({ id: useId, ...context, resolveReference,
|
|
149
|
+
element: hasTime ? child : { ...child, attributes: { ...child.attributes, during: "program" } } });
|
|
150
|
+
records.push(...temporal.records); components.push(...temporal.components); fragments.push(...temporal.fragments);
|
|
151
|
+
const style = reference(child, "style", captionTypes.style, resolveReference);
|
|
152
|
+
const role = optionalTextAttribute(child, "role");
|
|
153
|
+
const filterId = `${useId}.filter`;
|
|
154
|
+
records.push({ id: filterId, type: captionTypes.filter, value: { kind: "inline", value: role === undefined ? {} : { role } }, range: child.range });
|
|
155
|
+
const key = `use-${index}`;
|
|
156
|
+
inputs.push({ name: `${key}-window`, type: temporalTypes.window }, { name: `${key}-style`, type: captionTypes.style }, { name: `${key}-filter`, type: captionTypes.filter });
|
|
157
|
+
bindings[`${key}-window`] = temporal.ref; bindings[`${key}-style`] = style.ref; bindings[`${key}-filter`] = { kind: "record", id: filterId };
|
|
158
|
+
operations.push({ id: key, producer: captionProducers.append,
|
|
159
|
+
inputs: { program: operation(previous), window: input(`${key}-window`), style: input(`${key}-style`), filter: input(`${key}-filter`) }, result: { kind: "output", name: "program" } });
|
|
160
|
+
previous = key;
|
|
138
161
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
};
|
|
162
|
+
operations.push({ id: "content", producer: captionProducers.temporalizeDocument,
|
|
163
|
+
inputs: { document: input("document"), timeline: input("timeline") }, result: { kind: "output", name: "caption" } });
|
|
164
|
+
operations.push({ id: "schedule", producer: captionFineProducers.schedule,
|
|
165
|
+
inputs: { caption: operation("content"), document: input("document"), program: operation(previous) }, result: { kind: "output", name: "schedule" } });
|
|
166
|
+
if (regions !== undefined) { inputs.push({ name: "regions", type: spatialTypes.regionTimeline }); bindings.regions = regions.ref; }
|
|
167
|
+
operations.push({ id: "render", producer: regions === undefined ? captionFineProducers.render : captionFineProducers.renderWithRegions,
|
|
168
|
+
inputs: { schedule: operation("schedule"), document: input("document"), timeline: input("timeline"), program: operation(previous), ...(regions === undefined ? {} : { regions: input("regions") }) }, result: { kind: "output", name: "track" } });
|
|
169
|
+
const collector = sealGraphFragment({ inputs, operations, exports: [
|
|
170
|
+
{ name: "content", type: captionTypes.timedProjection, root: operation("content") },
|
|
171
|
+
{ name: "program", type: captionTypes.program, root: operation(previous) },
|
|
172
|
+
{ name: "schedule", type: captionFineTypes.schedule, root: operation("schedule") },
|
|
173
|
+
{ name: "track", type: compositionTypes.visualTrack, root: operation("render") },
|
|
174
|
+
] });
|
|
175
|
+
fragments.push(collector);
|
|
176
|
+
components.push({ id, fragment: collector.id, inputs: bindings,
|
|
177
|
+
outputs: { content: `${id}.content`, program: `${id}.program`, schedule: `${id}.schedule`, track: `${id}.track` }, range: element.range });
|
|
178
|
+
return { records, components, fragments, exports: [`${id}.content`, `${id}.program`, `${id}.schedule`, `${id}.track`] };
|
|
152
179
|
};
|
|
@@ -173,6 +173,8 @@ export type FineCaptionParameters = {
|
|
|
173
173
|
};
|
|
174
174
|
|
|
175
175
|
export type FineCaptionScheduledCue = {
|
|
176
|
+
readonly cueId: string;
|
|
177
|
+
readonly visibility: readonly { readonly startFrame: number; readonly endFrameExclusive: number }[];
|
|
176
178
|
readonly id: string;
|
|
177
179
|
readonly styleId: string;
|
|
178
180
|
readonly semanticStartFrame: number;
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Caption Fine Studio Companion
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
One Caption Track contains Cue blocks and a bottom Uses band declared through the public ABI.
|
|
4
|
+
Each Cue has a numbered title such as `#15` and complete subtitle text in its body.
|
|
5
|
+
Cue ids remain the underlying identities; the number is a display label. Cues retain their measured
|
|
6
|
+
times, including content currently hidden by a Use. Their read-only Range describes the content, independently of its visual treatment.
|
|
7
|
+
|
|
8
|
+
The Uses band shows each authored Window once, with its Style name. A whole-Timeline Use remains one
|
|
9
|
+
block across Segment changes and gaps. Hidden and overridden Uses stay selectable. The Companion
|
|
10
|
+
reads the Track's `content`, `schedule` and `program` exports; it never reconstructs author windows
|
|
11
|
+
from the rendered words.
|
|
12
|
+
|
|
13
|
+
Use entities retain the actual child Source range and standard Temporal lineage. Timeline gestures
|
|
14
|
+
therefore use the same writeback rules as Performance and Sound. Selecting a Use exposes its
|
|
15
|
+
referenced Style's font and Recipe fields. Shared Styles remain shared; changing a time window
|
|
16
|
+
changes presentation without editing Script Cue breaks.
|
|
17
|
+
|
|
18
|
+
Studio owns Track bands, block chrome, overlap selection and generic Inspector controls. This Companion owns
|
|
19
|
+
Caption facts, field grouping and Source bindings. Content, Uses and their renderer stay independent
|
|
20
|
+
of central Studio domain logic.
|
|
21
|
+
|
|
22
|
+
Fine Style parameters are a separate `parameters` Companion matched to the Fine Style Surface.
|
|
23
|
+
The Use band opts its `style` reference into the selected object's Companion. Custom Styles can
|
|
24
|
+
provide their own field table through their project package. Supported omitted defaults appear
|
|
25
|
+
in the Inspector and are inserted into the owning Recipe only when edited.
|
|
@@ -4,12 +4,19 @@
|
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"private": true,
|
|
6
6
|
"type": "module",
|
|
7
|
-
"exports": {
|
|
8
|
-
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.ts"
|
|
9
|
+
},
|
|
10
|
+
"hypit": {
|
|
11
|
+
"activation": "./src/activation.ts"
|
|
12
|
+
},
|
|
9
13
|
"dependencies": {
|
|
10
14
|
"@hypit/caption-fine": "workspace:*",
|
|
11
15
|
"@hypit/composition": "workspace:*",
|
|
12
16
|
"@hypit/narrative": "workspace:*",
|
|
13
|
-
"@hypit/studio-adapter": "workspace:*"
|
|
17
|
+
"@hypit/studio-adapter": "workspace:*",
|
|
18
|
+
"@hypit/fonts-open": "workspace:*",
|
|
19
|
+
"@hypit/caption": "workspace:*",
|
|
20
|
+
"@hypit/timeline": "workspace:*"
|
|
14
21
|
}
|
|
15
22
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { captionFineStudioTrackCompanions } from "./index.js";
|
|
1
|
+
import { createStudioCompanionHostFacet } from "@hypit/studio-adapter";
|
|
2
|
+
import { captionFineStudioTrackCompanions, captionFineStudioParameterCompanions } from "./index.js";
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
5
|
format: "hypit.node-package@1" as const,
|
|
6
|
-
hostFacets: [
|
|
6
|
+
hostFacets: [createStudioCompanionHostFacet({ tracks: captionFineStudioTrackCompanions, parameters: captionFineStudioParameterCompanions })],
|
|
7
7
|
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { temporalTypes } from "@hypit/temporal";
|
|
2
|
+
import type { CaptionProgram, TimedCaptionProjection } from "@hypit/caption";
|
|
3
|
+
import { openFontStudioFields } from "@hypit/fonts-open/studio";
|
|
4
|
+
import { fineCaptionEditableDefaults, captionFineMarkupSurfaces, captionFineModuleRef } from "@hypit/caption-fine";
|
|
2
5
|
import type { FineCaptionSchedule } from "@hypit/caption-fine";
|
|
3
6
|
import { compositionTypes } from "@hypit/composition";
|
|
4
7
|
import { narrativeTypes } from "@hypit/narrative";
|
|
@@ -9,9 +12,12 @@ import type {
|
|
|
9
12
|
StudioEntityDraft,
|
|
10
13
|
StudioInspectorFieldDeclaration,
|
|
11
14
|
} from "@hypit/studio-adapter";
|
|
12
|
-
import { requiredReferencedValue, requiredSurfaceValue
|
|
15
|
+
import { authoredChildFor, temporalLineageFor, temporalSemanticSource, requiredReferencedValue, requiredSurfaceValue } from "@hypit/studio-adapter";
|
|
13
16
|
|
|
14
17
|
const styleSurface = captionFineMarkupSurfaces.find((surface) => surface.name === "style");
|
|
18
|
+
|
|
19
|
+
const fontInspector = openFontStudioFields("style");
|
|
20
|
+
|
|
15
21
|
const recipeVocabulary = styleSurface?.vocabulary.attributes
|
|
16
22
|
.find((attribute) => attribute.name === "recipe")?.recipe ?? [];
|
|
17
23
|
|
|
@@ -83,19 +89,23 @@ const captionColorProperties = new Set([
|
|
|
83
89
|
"active-underline-color", "active-box-background", "active-box-border-color",
|
|
84
90
|
]);
|
|
85
91
|
const captionTextProperties = new Set(["loop"]);
|
|
92
|
+
const captionPercentProperties = new Set(["x", "y", "width", "height", "opacity", "active-opacity", "active-scale"]);
|
|
93
|
+
const captionPixelProperties = new Set(["size", "letter-spacing", "word-gap", "radius", "stroke-width", "border-width", "shadow-blur", "glow-blur"]);
|
|
86
94
|
|
|
87
95
|
export const captionFineInspectorFields: readonly StudioInspectorFieldDeclaration[] = recipeVocabulary.map((property) => {
|
|
88
96
|
const placement = captionPlacement.get(property.name);
|
|
89
97
|
if (placement === undefined) throw new Error(`Caption Studio has no explicit Inspector declaration for ${property.name}.`);
|
|
90
98
|
const options = valuesFor(property);
|
|
91
99
|
return {
|
|
92
|
-
binding: `
|
|
100
|
+
binding: `style.${property.name}`,
|
|
93
101
|
label: title(property.name),
|
|
94
102
|
...placement,
|
|
95
103
|
summary: property.summary,
|
|
96
104
|
control: options !== undefined ? "select" : captionColorProperties.has(property.name) ? "color"
|
|
97
105
|
: captionTextProperties.has(property.name) ? "text" : "number",
|
|
98
106
|
...(options === undefined ? {} : { options }),
|
|
107
|
+
...(captionPercentProperties.has(property.name) ? { unit: "%", number: { scale: 100, step: 1 } } : {}),
|
|
108
|
+
...(captionPixelProperties.has(property.name) ? { unit: "px", number: { step: 1 } } : {}),
|
|
99
109
|
};
|
|
100
110
|
});
|
|
101
111
|
|
|
@@ -110,39 +120,40 @@ function cueText(document: CaptionDocument | undefined, unitIds: readonly string
|
|
|
110
120
|
.trim();
|
|
111
121
|
}
|
|
112
122
|
|
|
113
|
-
function
|
|
123
|
+
export function projectCaptionContents(context: StudioTrackCompanionContext): readonly StudioEntityDraft[] {
|
|
124
|
+
const content = requiredSurfaceValue(context, "content") as TimedCaptionProjection;
|
|
114
125
|
const schedule = requiredSurfaceValue(context, "schedule") as FineCaptionSchedule;
|
|
115
126
|
const document = requiredReferencedValue(context, "document", narrativeTypes.captionDocument) as CaptionDocument;
|
|
116
|
-
if (document.id !==
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
127
|
+
if (document.id !== content.documentId) throw new Error("Caption content belongs to another CaptionDocument.");
|
|
128
|
+
return content.cues.map((cue, index): StudioEntityDraft => ({
|
|
129
|
+
id: `${context.track.outputRef}:cue:${cue.id}`, authoredId: cue.id,
|
|
130
|
+
display: { title: `#${index + 1}`, layers: [{ kind: "text", role: "content", text: cueText(document, cue.units.map(unit => unit.unitId)) }] },
|
|
131
|
+
startFrame: cue.startFrame, endFrameExclusive: cue.endFrameExclusive, stackOrder: 0,
|
|
132
|
+
renderIds: schedule.cues.filter(item => item.cueId === cue.id).map(item => item.id),
|
|
133
|
+
presentation: { entity: "caption-cue", chrome: "standard" },
|
|
134
|
+
inspector: [{ id: "range", label: "Range", domain: "when", section: { id: "cue", label: "Cue" }, value: `${cue.startFrame}–${cue.endFrameExclusive}`, unit: "f" }],
|
|
135
|
+
}));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export function projectCaption(context: StudioTrackCompanionContext): readonly StudioEntityDraft[] {
|
|
139
|
+
const program = requiredSurfaceValue(context, "program") as CaptionProgram;
|
|
140
|
+
const uses: StudioEntityDraft[] = program.uses.map((use, index) => {
|
|
141
|
+
const authoredId = use.window.subjectId;
|
|
142
|
+
const child = authoredChildFor(context, authoredId, [temporalTypes.windowSpec]);
|
|
143
|
+
if (child === undefined) throw new Error(`Caption Use ${authoredId} has no author provenance.`);
|
|
144
|
+
const temporal = temporalLineageFor(context, authoredId, "window");
|
|
145
|
+
const semantic = temporalSemanticSource(temporal);
|
|
123
146
|
return {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
presentId: cue.id,
|
|
132
|
-
renderIds: [cue.id],
|
|
133
|
-
}),
|
|
134
|
-
authoredId,
|
|
135
|
-
...(context.placement === undefined ? {} : { elementRange: context.placement.range }),
|
|
136
|
-
display: {
|
|
137
|
-
title: "Caption",
|
|
138
|
-
layers: label.length === 0 ? [] : [textLayer(label)],
|
|
139
|
-
},
|
|
140
|
-
startFrame: cue.visibleStartFrame,
|
|
141
|
-
endFrameExclusive: cue.visibleEndFrameExclusive,
|
|
142
|
-
presentation: { entity: "caption-cue", chrome: "standard" },
|
|
143
|
-
parameterReferences: { program: cue.styleId },
|
|
147
|
+
id: `${context.track.outputRef}:use:${authoredId}`, authoredId,
|
|
148
|
+
display: { title: use.styleId, layers: [] },
|
|
149
|
+
...use.window.span, stackOrder: index, elementRange: child.range,
|
|
150
|
+
...(temporal === undefined ? {} : { temporal }),
|
|
151
|
+
...(semantic === undefined ? {} : { markerId: semantic.id }),
|
|
152
|
+
presentation: { entity: "caption-use", chrome: "standard" }, band: "uses",
|
|
153
|
+
inspector: [{ id: "range", label: "Range", domain: "when", section: { id: "placement", label: "Placement" }, value: `${use.window.span.startFrame}–${use.window.span.endFrameExclusive}`, unit: "f" }],
|
|
144
154
|
};
|
|
145
155
|
});
|
|
156
|
+
return [...projectCaptionContents(context), ...uses];
|
|
146
157
|
}
|
|
147
158
|
|
|
148
159
|
export const captionFineStudioTrackCompanions: readonly StudioTrackCompanion[] = [
|
|
@@ -150,14 +161,24 @@ export const captionFineStudioTrackCompanions: readonly StudioTrackCompanion[] =
|
|
|
150
161
|
id: "track", role: "track",
|
|
151
162
|
output: { type: compositionTypes.visualTrack, surface: "track", modules: [captionFineModuleRef] },
|
|
152
163
|
family: "caption", tone: "magenta", icon: "captions",
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
},
|
|
158
|
-
],
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
lane: { heightPx: 48 },
|
|
164
|
+
lane: { heightPx: 36 },
|
|
165
|
+
bands: [{
|
|
166
|
+
id: "uses", placement: "after", heightPx: 15, display: "label",
|
|
167
|
+
bindings: [{ name: "style", companion: true }],
|
|
168
|
+
inspector: [{ binding: "style", label: "Style", domain: "how", section: { id: "style", label: "Style" }, control: "text" }],
|
|
169
|
+
}],
|
|
170
|
+
requiredValues: ["content", "schedule", "program"], project: projectCaption,
|
|
171
|
+
|
|
162
172
|
},
|
|
163
173
|
];
|
|
174
|
+
|
|
175
|
+
export const captionFineStudioParameterCompanions: readonly import("@hypit/studio-adapter").StudioParameterCompanion[] = [{
|
|
176
|
+
id: "style", match: { module: captionFineModuleRef, surface: "style" },
|
|
177
|
+
bindings: [fontInspector.binding, { name: "recipe", recipe: { bindings: recipeVocabulary.map(({ name }) => ({ name,
|
|
178
|
+
...(Object.hasOwn(fineCaptionEditableDefaults, name) ? { fallback: fineCaptionEditableDefaults[name as keyof typeof fineCaptionEditableDefaults] } : {}),
|
|
179
|
+
})) } }],
|
|
180
|
+
inspector: [
|
|
181
|
+
...fontInspector.fields.map(field => ({ ...field, binding: field.binding.replace(/^style\./u, "") })),
|
|
182
|
+
...captionFineInspectorFields.map(field => ({ ...field, binding: field.binding.replace(/^style\./u, "recipe.") })),
|
|
183
|
+
],
|
|
184
|
+
}];
|
package/packages/cli/README.md
CHANGED
|
@@ -11,9 +11,63 @@ Source imports decide which language and component packages give the source mean
|
|
|
11
11
|
Profile separately selects Credential Stores and Endpoints allowed to execute work. The CLI does not
|
|
12
12
|
invent targets, candidates or Provider choices.
|
|
13
13
|
|
|
14
|
-
Human
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
Human and JSON output answer the same command-specific question. `--json` changes encoding;
|
|
15
|
+
`--verbose` expands scope. Compiler, Runtime and Repository objects are not default reports.
|
|
16
|
+
|
|
17
|
+
| Command | Default scope | Explicit detail |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| `check` | Validation, targets and counts | `--verbose`: exported names/types and historical references |
|
|
20
|
+
| `plan` | Targets, demanded requests, Endpoint selection and diagnostics | `--verbose`: Run choices, graph step count and unreached declarations |
|
|
21
|
+
| `pricing` | Requests that may incur a Provider charge and their rate material | `--verbose`: declared no-charge requests and original documents |
|
|
22
|
+
| `status`, `activity` | Current work, Provider-reported phases and failures | `--verbose`: individual operations; activity also includes capacity reservations |
|
|
23
|
+
| `inspect` | Targets and explicitly highlighted Outputs, outcome and failure evidence | `--output <name>` selects one Output; `--verbose` browses all available Outputs and receipts |
|
|
24
|
+
| `doctor`, `programs` | Complete diagnostics; program discovery or the unmet result of an explicit lifecycle action | `--verbose`: successful lifecycle details; `--limit` bounds the healthy program list |
|
|
25
|
+
|
|
26
|
+
Run choices count explicit Candidate selections, which can supply existing work or execute an
|
|
27
|
+
alternative producer. They are not a count of reused files. Result output counts describe all
|
|
28
|
+
available named Outputs, including forwarded ones; they are not a count of newly generated assets.
|
|
29
|
+
`history <output>` lists Builds containing that name, including reuse, rather than deduplicating
|
|
30
|
+
generation events or guessing whether mutable external files still contain the same bytes.
|
|
31
|
+
`inspect` chooses names before resolving references, so an unrelated Output cannot delay or break
|
|
32
|
+
inspection of a target. It reports the number of other Outputs without reading their descriptions.
|
|
33
|
+
|
|
34
|
+
`plan` retains every target, demanded request and preflight diagnostic in both encodings. `--limit`
|
|
35
|
+
bounds expanded detail, not the work inventory before grouping. `inspect` likewise keeps its default
|
|
36
|
+
target/highlight selection intact; `--limit` bounds the broader `--verbose` list, with an omitted count.
|
|
37
|
+
No-charge classification continues to belong to the selected Endpoint's pricing declaration.
|
|
38
|
+
|
|
39
|
+
Build follow and status include Provider-reported local Command activity as well as asynchronous
|
|
40
|
+
Operations. Follow coalesces counters into readable updates and continues to distinguish execution
|
|
41
|
+
from Result saving. Status groups identical active Operations and retains failures by default;
|
|
42
|
+
completed receipts are detail. Activity reports the phases that trigger its updates and ignores
|
|
43
|
+
changes confined to Builds outside the displayed page. Providers own the phase vocabulary; the CLI
|
|
44
|
+
does not interpret model or renderer names.
|
|
45
|
+
|
|
46
|
+
## Project and Runtime context
|
|
47
|
+
|
|
48
|
+
`--workspace` explicitly selects the project. Otherwise the nearest `package.json` above the command's
|
|
49
|
+
current directory establishes its root; with none, the current directory is the root. Source and Run
|
|
50
|
+
arguments locate files within that context. Relative command-line paths are resolved from the current
|
|
51
|
+
directory, including when `--workspace` is supplied.
|
|
52
|
+
|
|
53
|
+
Runtime-aware commands use an explicit `--runtime` for that invocation, or read exactly the resolved
|
|
54
|
+
project's `.hypit/runtime` pointer. `runtime use` writes the pointer; a Profile filename by itself does
|
|
55
|
+
not select it. The pointer is a file, separate from the Profile's `dataRoot`; a directory at that
|
|
56
|
+
path is reported explicitly and preserved. Project selection is also available on `paths`, `doctor`, execution status/control,
|
|
57
|
+
Runtime operations, `programs` and `auth`. Machine-wide `packages` operations have no project selector.
|
|
58
|
+
|
|
59
|
+
`paths` shows the effective locations and whether the Profile came from a command argument, a project
|
|
60
|
+
selection or neither. Its JSON fields `profileSource` and `selectionFile` expose that distinction; the
|
|
61
|
+
selection-file location is shown even when no selection exists. `doctor` states whether it checked
|
|
62
|
+
only project Results or also a selected Runtime. An unselected Runtime is not a completed environment
|
|
63
|
+
diagnosis. Result repository selection and project-package resolution remain independent of Runtime.
|
|
64
|
+
|
|
65
|
+
For a command invoked outside the project, name both the project and its input explicitly:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
hypit paths --workspace /path/to/video-project
|
|
69
|
+
hypit plan /path/to/video-project/build.svrun --workspace /path/to/video-project
|
|
70
|
+
```
|
|
17
71
|
|
|
18
72
|
`plan` lists every Endpoint request in the frozen Build graph. Exact-model packages expose their own
|
|
19
73
|
port tables and request-assembly edges, so the CLI can show authored prompt, duration and generation
|
|
@@ -21,6 +75,9 @@ settings without searching arbitrary records for a request-shaped object. When a
|
|
|
21
75
|
made by an earlier Build step, that direct graph edge stays symbolic until the file exists; the rest
|
|
22
76
|
of the request is still shown. A complete request is resolved through the same Endpoint Registry as
|
|
23
77
|
the Build, including the Endpoint's `supports` check.
|
|
78
|
+
Each component's planned-Need presentation owns its useful request fields. An empty presentation
|
|
79
|
+
means the summary is unavailable, not that the request has no parameters. Structured render inputs
|
|
80
|
+
are summarized by their owning packages; the CLI does not traverse upstream graphs to invent them.
|
|
24
81
|
|
|
25
82
|
`pricing <run>` uses that selected Runtime to read Provider-owned rate material. The default report
|
|
26
83
|
summarizes requests whose resolved Endpoint explicitly declares `pricing.kind: "local"` as having no
|
|
@@ -49,3 +106,24 @@ machine-view union. `main.ts` resolves project and selected Runtime context sepa
|
|
|
49
106
|
syntax, then routes these command groups. Result commands do not consult or construct a Runtime,
|
|
50
107
|
and the generic CLI cannot silently choose a Result Repository or a Provider-specific login
|
|
51
108
|
flow.
|
|
109
|
+
|
|
110
|
+
## Execution logs
|
|
111
|
+
|
|
112
|
+
`hypit logs <build-id> [--workspace <project>] [--runtime <profile>] [--lines <count>]` reads Build
|
|
113
|
+
execution phases and Provider diagnostics. It reads a finished Result directly, without opening the
|
|
114
|
+
Runtime; an active Build is read through Runtime control. The selected Repository handles file access.
|
|
115
|
+
`--lines` limits the tail and the report states the omitted count; JSON carries records plus that count.
|
|
116
|
+
`inspect` exposes an available log separately from authored Outputs. `hypit runtime logs` reads the
|
|
117
|
+
Worker process log instead, for Runtime startup or process-level failures.
|
|
118
|
+
|
|
119
|
+
Project context resolution is owned by [`@hypit/project-context-node`](../project-context-node/README.md).
|
|
120
|
+
CLI, Studio and creation tools call that same package; the CLI is not another environment owner.
|
|
121
|
+
|
|
122
|
+
`doctor`, `programs up|status|down`, and `runtime up` accept repeated `--endpoint <instance>` values.
|
|
123
|
+
The same Endpoint scope reaches package preparation and Program operations. Omission means the whole
|
|
124
|
+
Profile. Build preflight instead uses the Endpoints resolved for that Build's concrete requests.
|
|
125
|
+
An unrelated offered capability does not add another credential or Program requirement.
|
|
126
|
+
|
|
127
|
+
Upstream package installation reports an `install.log` path at preparation time. Exact package
|
|
128
|
+
releases coexist below the machine home, each with npm's own package.json and lockfile. `paths` shows
|
|
129
|
+
the home; `packages status <name@version>` checks the requested release rather than a mutable latest copy.
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"@hypit/driver-node": "workspace:*",
|
|
17
17
|
"@hypit/elaborator": "workspace:*",
|
|
18
18
|
"@hypit/package-loader-node": "workspace:*",
|
|
19
|
+
"@hypit/project-context-node": "workspace:*",
|
|
19
20
|
"@hypit/protocol": "workspace:*",
|
|
20
21
|
"@hypit/run": "workspace:*",
|
|
21
22
|
"@hypit/runtime": "workspace:*",
|