@hypit/hypit 0.0.1 → 0.1.0
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/LICENSE +26 -0
- package/README.md +203 -0
- package/README.zh-CN.md +195 -0
- package/bin/hypit.mjs +46 -0
- package/dist/public/artifact.d.ts +75 -0
- package/dist/public/author-kit.d.ts +559 -0
- package/dist/public/browser-capture.d.ts +56 -0
- package/dist/public/caption.d.ts +751 -0
- package/dist/public/composition.d.ts +672 -0
- package/dist/public/endpoint-kit.d.ts +366 -0
- package/dist/public/generation.d.ts +591 -0
- package/dist/public/hyperframes.d.ts +774 -0
- package/dist/public/media.d.ts +708 -0
- package/dist/public/model-kit.d.ts +523 -0
- package/dist/public/narrative.d.ts +315 -0
- package/dist/public/program-space.d.ts +193 -0
- package/dist/public/runtime-kit.d.ts +427 -0
- package/dist/public/semantic-track.d.ts +418 -0
- package/dist/public/spatial.d.ts +1193 -0
- package/dist/public/speech.d.ts +391 -0
- package/dist/public/studio-adapter.d.ts +686 -0
- package/dist/public/svs.d.ts +311 -0
- package/dist/public/temporal-markup.d.ts +343 -0
- package/dist/public/temporal.d.ts +497 -0
- package/dist/public/text.d.ts +817 -0
- package/dist/public/visual-ir.d.ts +98 -0
- package/docs/public/hypit-logo-dark.svg +36 -0
- package/docs/public/hypit-logo-light.svg +38 -0
- package/examples/README.md +24 -0
- package/examples/minimal-author-package/README.md +18 -0
- package/examples/minimal-author-package/packages/example-component/README.md +44 -0
- package/examples/minimal-author-package/packages/example-component/package.json +27 -0
- package/examples/minimal-author-package/packages/example-component/preview/Box.png +0 -0
- package/examples/minimal-author-package/packages/example-component/preview/build.svrun +6 -0
- package/examples/minimal-author-package/packages/example-component/preview/preview.svml +47 -0
- package/examples/minimal-author-package/packages/example-component/preview/recipes.svs +8 -0
- package/examples/minimal-author-package/packages/example-component/src/activation.ts +10 -0
- package/examples/minimal-author-package/packages/example-component/src/component.ts +44 -0
- package/examples/minimal-author-package/packages/example-component/src/fragment.ts +32 -0
- package/examples/minimal-author-package/packages/example-component/src/index.ts +6 -0
- package/examples/minimal-author-package/packages/example-component/src/manifest.ts +82 -0
- package/examples/minimal-author-package/packages/example-component/src/style.ts +13 -0
- package/examples/minimal-author-package/packages/example-component/src/surface.ts +41 -0
- package/examples/minimal-author-package/packages/example-component/src/temporal.ts +6 -0
- package/examples/minimal-author-package/packages/example-component/tsconfig.json +18 -0
- package/examples/semantic-composition/README.md +35 -0
- package/examples/semantic-composition/chat.svml +25 -0
- package/examples/semantic-composition/chat.svrun +6 -0
- package/examples/semantic-composition/chat.svs +4 -0
- package/examples/semantic-composition/hypit.runtime.json +8 -0
- package/examples/semantic-composition/packages/chat-scene/README.md +29 -0
- package/examples/semantic-composition/packages/chat-scene/package.json +11 -0
- package/examples/semantic-composition/packages/chat-scene/src/activation.ts +112 -0
- package/examples/semantic-composition/packages/chat-scene/src/render.ts +64 -0
- package/examples/semantic-composition/packages/chat-scene/tsconfig.json +18 -0
- package/examples/semantic-composition/packages/responsive-explainer/README.md +45 -0
- package/examples/semantic-composition/packages/responsive-explainer/package.json +11 -0
- package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +90 -0
- package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +68 -0
- package/examples/semantic-composition/packages/responsive-explainer/tsconfig.json +18 -0
- package/package.json +259 -7
- package/packages/artifact/README.md +10 -0
- package/packages/artifact/package.json +16 -0
- package/packages/artifact/src/activation.ts +8 -0
- package/packages/artifact/src/index.ts +24 -0
- package/packages/audio-track/README.md +43 -0
- package/packages/audio-track/package.json +36 -0
- package/packages/audio-track/src/activation.ts +20 -0
- package/packages/audio-track/src/component.ts +40 -0
- package/packages/audio-track/src/fragment.ts +63 -0
- package/packages/audio-track/src/index.ts +7 -0
- package/packages/audio-track/src/manifest.ts +151 -0
- package/packages/audio-track/src/program.ts +254 -0
- package/packages/audio-track/src/surface.ts +187 -0
- package/packages/audio-track/src/types.ts +62 -0
- package/packages/audio-track-studio/README.md +3 -0
- package/packages/audio-track-studio/package.json +14 -0
- package/packages/audio-track-studio/src/activation.ts +7 -0
- package/packages/audio-track-studio/src/index.ts +72 -0
- package/packages/author-kit/README.md +31 -0
- package/packages/author-kit/package.json +16 -0
- package/packages/author-kit/src/index.ts +59 -0
- package/packages/background-removal/README.md +29 -0
- package/packages/background-removal/package.json +16 -0
- package/packages/background-removal/src/activation.ts +18 -0
- package/packages/background-removal/src/component.ts +32 -0
- package/packages/background-removal/src/fragment.ts +18 -0
- package/packages/background-removal/src/index.ts +6 -0
- package/packages/background-removal/src/manifest.ts +45 -0
- package/packages/background-removal/src/program.ts +19 -0
- package/packages/background-removal/src/surface.ts +27 -0
- package/packages/background-removal/src/types.ts +5 -0
- package/packages/browser-capture/README.md +82 -0
- package/packages/browser-capture/package.json +15 -0
- package/packages/browser-capture/src/browser.ts +19 -0
- package/packages/browser-capture/src/index.ts +198 -0
- package/packages/build-result/package.json +13 -0
- package/packages/build-result/src/decode.ts +286 -0
- package/packages/build-result/src/index.ts +25 -0
- package/packages/build-result/src/store.ts +505 -0
- package/packages/build-result/src/types.ts +354 -0
- package/packages/build-result/src/writer.ts +184 -0
- package/packages/build-result-fs/README.md +29 -0
- package/packages/build-result-fs/package.json +17 -0
- package/packages/build-result-fs/src/activation.ts +62 -0
- package/packages/build-result-fs/src/index.ts +1 -0
- package/packages/build-result-kit/README.md +10 -0
- package/packages/build-result-kit/package.json +15 -0
- package/packages/build-result-kit/src/index.ts +144 -0
- package/packages/build-result-s3/README.md +49 -0
- package/packages/build-result-s3/package.json +19 -0
- package/packages/build-result-s3/src/activation.ts +71 -0
- package/packages/build-result-s3/src/client.ts +254 -0
- package/packages/build-result-s3/src/index.ts +4 -0
- package/packages/build-result-s3/src/repository.ts +361 -0
- package/packages/caption/README.md +77 -0
- package/packages/caption/package.json +28 -0
- package/packages/caption/src/activation.ts +17 -0
- package/packages/caption/src/component.ts +38 -0
- package/packages/caption/src/display.ts +111 -0
- package/packages/caption/src/error.ts +9 -0
- package/packages/caption/src/fragment.ts +26 -0
- package/packages/caption/src/index.ts +33 -0
- package/packages/caption/src/manifest.ts +97 -0
- package/packages/caption/src/style.ts +170 -0
- package/packages/caption/src/surface.ts +96 -0
- package/packages/caption/src/temporalize.ts +124 -0
- package/packages/caption/src/types.ts +71 -0
- package/packages/caption-fine/README.md +108 -0
- package/packages/caption-fine/package.json +30 -0
- package/packages/caption-fine/preview/Track.png +0 -0
- package/packages/caption-fine/src/activation.ts +32 -0
- package/packages/caption-fine/src/component.ts +58 -0
- package/packages/caption-fine/src/fragment.ts +112 -0
- package/packages/caption-fine/src/index.ts +19 -0
- package/packages/caption-fine/src/manifest.ts +383 -0
- package/packages/caption-fine/src/recipe.ts +120 -0
- package/packages/caption-fine/src/render.ts +1133 -0
- package/packages/caption-fine/src/schedule.ts +126 -0
- package/packages/caption-fine/src/spacing.ts +69 -0
- package/packages/caption-fine/src/style.ts +370 -0
- package/packages/caption-fine/src/surface.ts +152 -0
- package/packages/caption-fine/src/types.ts +191 -0
- package/packages/caption-fine-studio/README.md +3 -0
- package/packages/caption-fine-studio/package.json +15 -0
- package/packages/caption-fine-studio/src/activation.ts +7 -0
- package/packages/caption-fine-studio/src/index.ts +163 -0
- package/packages/cli/README.md +51 -0
- package/packages/cli/package.json +33 -0
- package/packages/cli/src/arguments.ts +605 -0
- package/packages/cli/src/build-planning.ts +460 -0
- package/packages/cli/src/command.ts +202 -0
- package/packages/cli/src/commands/environment.ts +391 -0
- package/packages/cli/src/commands/execution.ts +321 -0
- package/packages/cli/src/commands/results.ts +187 -0
- package/packages/cli/src/commands/types.ts +9 -0
- package/packages/cli/src/distribution.ts +74 -0
- package/packages/cli/src/index.ts +30 -0
- package/packages/cli/src/machine-view.ts +28 -0
- package/packages/cli/src/main.ts +654 -0
- package/packages/cli/src/oauth.ts +228 -0
- package/packages/cli/src/observation.ts +203 -0
- package/packages/cli/src/output.ts +1007 -0
- package/packages/cli/src/paths.ts +7 -0
- package/packages/cli/src/project-context.ts +38 -0
- package/packages/cli/src/reachability.ts +91 -0
- package/packages/cli/src/result-export.ts +148 -0
- package/packages/cli/src/result-query.ts +46 -0
- package/packages/cli/src/run-file.ts +186 -0
- package/packages/cli/src/runtime-port.ts +13 -0
- package/packages/cli/src/runtime-selection.ts +94 -0
- package/packages/cli/src/runtime-view.ts +15 -0
- package/packages/cli/src/source-discovery.ts +150 -0
- package/packages/cli/src/source-packages.ts +91 -0
- package/packages/cli/src/view.ts +228 -0
- package/packages/comment-sticker/README.md +41 -0
- package/packages/comment-sticker/package.json +29 -0
- package/packages/comment-sticker/preview/Track.png +0 -0
- package/packages/comment-sticker/src/activation.ts +32 -0
- package/packages/comment-sticker/src/author.ts +148 -0
- package/packages/comment-sticker/src/component.ts +97 -0
- package/packages/comment-sticker/src/fragment.ts +124 -0
- package/packages/comment-sticker/src/index.ts +8 -0
- package/packages/comment-sticker/src/manifest.ts +373 -0
- package/packages/comment-sticker/src/program.ts +610 -0
- package/packages/comment-sticker/src/surface.ts +172 -0
- package/packages/comment-sticker/src/types.ts +109 -0
- package/packages/comment-sticker-studio/README.md +3 -0
- package/packages/comment-sticker-studio/package.json +14 -0
- package/packages/comment-sticker-studio/src/activation.ts +7 -0
- package/packages/comment-sticker-studio/src/index.ts +132 -0
- package/packages/compiler-markup-node/README.md +12 -0
- package/packages/compiler-markup-node/package.json +22 -0
- package/packages/compiler-markup-node/src/index.ts +59 -0
- package/packages/compiler-node/README.md +60 -0
- package/packages/compiler-node/package.json +25 -0
- package/packages/compiler-node/src/compiler.ts +207 -0
- package/packages/compiler-node/src/error.ts +11 -0
- package/packages/compiler-node/src/graph-query.ts +51 -0
- package/packages/compiler-node/src/index.ts +27 -0
- package/packages/compiler-node/src/modules.ts +107 -0
- package/packages/compiler-node/src/run.ts +355 -0
- package/packages/component-kit/README.md +97 -0
- package/packages/component-kit/package.json +13 -0
- package/packages/component-kit/src/index.ts +155 -0
- package/packages/composition/README.md +53 -0
- package/packages/composition/package.json +29 -0
- package/packages/composition/src/activation.ts +3 -0
- package/packages/composition/src/component.ts +10 -0
- package/packages/composition/src/index.ts +18 -0
- package/packages/composition/src/manifest.ts +13 -0
- package/packages/composition/src/schema.ts +194 -0
- package/packages/composition/src/track.ts +1403 -0
- package/packages/core/README.md +22 -0
- package/packages/core/package.json +13 -0
- package/packages/core/src/error.ts +12 -0
- package/packages/core/src/graph.ts +341 -0
- package/packages/core/src/index.ts +32 -0
- package/packages/core/src/link.ts +240 -0
- package/packages/core/src/machine.ts +60 -0
- package/packages/core/src/plan.ts +504 -0
- package/packages/core/src/reducer.ts +428 -0
- package/packages/core/src/reference.ts +25 -0
- package/packages/core/src/slice.ts +108 -0
- package/packages/credential-store-env/README.md +11 -0
- package/packages/credential-store-env/package.json +17 -0
- package/packages/credential-store-env/src/activation.ts +25 -0
- package/packages/credential-store-env/src/index.ts +23 -0
- package/packages/credential-store-os/README.md +13 -0
- package/packages/credential-store-os/package.json +22 -0
- package/packages/credential-store-os/runtime/windows-credential.ps1 +59 -0
- package/packages/credential-store-os/src/activation.ts +32 -0
- package/packages/credential-store-os/src/index.ts +2 -0
- package/packages/credential-store-os/src/store.ts +196 -0
- package/packages/deck-track/README.md +52 -0
- package/packages/deck-track/package.json +35 -0
- package/packages/deck-track/preview/DepthStack.png +0 -0
- package/packages/deck-track/src/activation.ts +32 -0
- package/packages/deck-track/src/author.ts +217 -0
- package/packages/deck-track/src/component.ts +86 -0
- package/packages/deck-track/src/fragment.ts +148 -0
- package/packages/deck-track/src/index.ts +16 -0
- package/packages/deck-track/src/lower.ts +370 -0
- package/packages/deck-track/src/manifest.ts +438 -0
- package/packages/deck-track/src/program.ts +367 -0
- package/packages/deck-track/src/surface.ts +286 -0
- package/packages/deck-track/src/types.ts +119 -0
- package/packages/deck-track-studio/README.md +3 -0
- package/packages/deck-track-studio/package.json +14 -0
- package/packages/deck-track-studio/src/activation.ts +7 -0
- package/packages/deck-track-studio/src/index.ts +134 -0
- package/packages/driver-node/README.md +23 -0
- package/packages/driver-node/package.json +18 -0
- package/packages/driver-node/src/driver.ts +616 -0
- package/packages/driver-node/src/index.ts +10 -0
- package/packages/driver-node/src/planning.ts +67 -0
- package/packages/driver-node/src/registry.ts +234 -0
- package/packages/driver-node/src/resources.ts +36 -0
- package/packages/driver-node/src/types.ts +69 -0
- package/packages/elaborator/README.md +74 -0
- package/packages/elaborator/package.json +16 -0
- package/packages/elaborator/src/author.ts +308 -0
- package/packages/elaborator/src/fragment.ts +505 -0
- package/packages/elaborator/src/frontend-facet.ts +30 -0
- package/packages/elaborator/src/index.ts +78 -0
- package/packages/elaborator/src/source.ts +608 -0
- package/packages/endpoint-kit/README.md +111 -0
- package/packages/endpoint-kit/package.json +14 -0
- package/packages/endpoint-kit/src/index.ts +488 -0
- package/packages/estimate/README.md +32 -0
- package/packages/estimate/package.json +20 -0
- package/packages/estimate/src/activation.ts +11 -0
- package/packages/estimate/src/index.ts +16 -0
- package/packages/estimate/src/manifest.ts +34 -0
- package/packages/estimate/src/policy.ts +70 -0
- package/packages/estimate/src/program.ts +196 -0
- package/packages/estimate/src/types.ts +15 -0
- package/packages/film/README.md +49 -0
- package/packages/film/package.json +34 -0
- package/packages/film/src/activation.ts +16 -0
- package/packages/film/src/component.ts +61 -0
- package/packages/film/src/fragment.ts +83 -0
- package/packages/film/src/index.ts +11 -0
- package/packages/film/src/manifest.ts +152 -0
- package/packages/film/src/program.ts +110 -0
- package/packages/film/src/recipe.ts +24 -0
- package/packages/film/src/surface.ts +146 -0
- package/packages/film/src/types.ts +26 -0
- package/packages/film-studio/package.json +16 -0
- package/packages/film-studio/src/activation.ts +8 -0
- package/packages/film-studio/src/index.ts +17 -0
- package/packages/fonts-open/README.md +77 -0
- package/packages/fonts-open/package.json +130 -0
- package/packages/fonts-open/src/activation.ts +30 -0
- package/packages/fonts-open/src/catalog.ts +317 -0
- package/packages/fonts-open/src/index.ts +13 -0
- package/packages/fonts-open/src/manifest.ts +83 -0
- package/packages/fonts-open/src/surface.ts +239 -0
- package/packages/generation/README.md +19 -0
- package/packages/generation/package.json +23 -0
- package/packages/generation/src/activation.ts +9 -0
- package/packages/generation/src/component.ts +77 -0
- package/packages/generation/src/identity.ts +80 -0
- package/packages/generation/src/index.ts +79 -0
- package/packages/generation/src/manifest.ts +65 -0
- package/packages/generation/src/mapping.ts +231 -0
- package/packages/generation/src/ports.ts +222 -0
- package/packages/generation/src/request.ts +427 -0
- package/packages/generation/src/schema.ts +62 -0
- package/packages/generation/src/types.ts +17 -0
- package/packages/gpt-image/README.md +54 -0
- package/packages/gpt-image/package.json +34 -0
- package/packages/gpt-image/src/activation.ts +39 -0
- package/packages/gpt-image/src/fragment.ts +101 -0
- package/packages/gpt-image/src/index.ts +203 -0
- package/packages/gpt-image/src/surface.ts +194 -0
- package/packages/gpt-image-kits/README.md +44 -0
- package/packages/gpt-image-kits/kits/phone-ugc-v1.svs +34 -0
- package/packages/gpt-image-kits/package.json +15 -0
- package/packages/grok-imagine/README.md +21 -0
- package/packages/grok-imagine/package.json +21 -0
- package/packages/grok-imagine/src/activation.ts +29 -0
- package/packages/grok-imagine/src/index.ts +174 -0
- package/packages/grok-imagine/src/surface.ts +149 -0
- package/packages/host/README.md +5 -0
- package/packages/host/package.json +10 -0
- package/packages/host/src/facet.ts +6 -0
- package/packages/host/src/frontend.ts +56 -0
- package/packages/host/src/index.ts +9 -0
- package/packages/hyperframes/README.md +69 -0
- package/packages/hyperframes/package.json +36 -0
- package/packages/hyperframes/src/activation.ts +8 -0
- package/packages/hyperframes/src/browser-program.ts +79 -0
- package/packages/hyperframes/src/component.ts +32 -0
- package/packages/hyperframes/src/document.ts +827 -0
- package/packages/hyperframes/src/fragment.ts +32 -0
- package/packages/hyperframes/src/index.ts +13 -0
- package/packages/hyperframes/src/manifest.ts +67 -0
- package/packages/hyperframes/src/project.ts +118 -0
- package/packages/hyperframes/src/text.ts +1179 -0
- package/packages/hyperframes/src/types.ts +38 -0
- package/packages/image-compose/README.md +25 -0
- package/packages/image-compose/package.json +18 -0
- package/packages/image-compose/src/activation.ts +21 -0
- package/packages/image-compose/src/component.ts +100 -0
- package/packages/image-compose/src/fragment.ts +54 -0
- package/packages/image-compose/src/index.ts +10 -0
- package/packages/image-compose/src/manifest.ts +119 -0
- package/packages/image-compose/src/program.ts +75 -0
- package/packages/image-compose/src/surface.ts +83 -0
- package/packages/image-compose/src/types.ts +22 -0
- package/packages/image-transform/README.md +29 -0
- package/packages/image-transform/package.json +21 -0
- package/packages/image-transform/src/activation.ts +33 -0
- package/packages/image-transform/src/component.ts +67 -0
- package/packages/image-transform/src/fragment.ts +25 -0
- package/packages/image-transform/src/index.ts +13 -0
- package/packages/image-transform/src/manifest.ts +209 -0
- package/packages/image-transform/src/program.ts +23 -0
- package/packages/image-transform/src/surface.ts +216 -0
- package/packages/image-transform/src/types.ts +20 -0
- package/packages/interview-emoji-reveal/README.md +39 -0
- package/packages/interview-emoji-reveal/package.json +23 -0
- package/packages/interview-emoji-reveal/preview/Track.png +0 -0
- package/packages/interview-emoji-reveal/src/activation.ts +14 -0
- package/packages/interview-emoji-reveal/src/component.ts +45 -0
- package/packages/interview-emoji-reveal/src/fragment.ts +62 -0
- package/packages/interview-emoji-reveal/src/index.ts +16 -0
- package/packages/interview-emoji-reveal/src/manifest.ts +174 -0
- package/packages/interview-emoji-reveal/src/program.ts +242 -0
- package/packages/interview-emoji-reveal/src/style.ts +47 -0
- package/packages/interview-emoji-reveal/src/surface.ts +110 -0
- package/packages/interview-emoji-reveal/src/types.ts +52 -0
- package/packages/markup/README.md +81 -0
- package/packages/markup/package.json +16 -0
- package/packages/markup/src/element.ts +39 -0
- package/packages/markup/src/error.ts +20 -0
- package/packages/markup/src/frontend.ts +518 -0
- package/packages/markup/src/host-facet.ts +115 -0
- package/packages/markup/src/index.ts +25 -0
- package/packages/markup/src/registry.ts +83 -0
- package/packages/markup/src/syntax.ts +271 -0
- package/packages/markup/src/types.ts +246 -0
- package/packages/media/README.md +37 -0
- package/packages/media/package.json +19 -0
- package/packages/media/src/activation.ts +38 -0
- package/packages/media/src/component.ts +16 -0
- package/packages/media/src/frame-range.ts +33 -0
- package/packages/media/src/identity.ts +227 -0
- package/packages/media/src/index.ts +15 -0
- package/packages/media/src/manifest.ts +122 -0
- package/packages/media/src/render.ts +140 -0
- package/packages/media/src/schema.ts +69 -0
- package/packages/media/src/surface.ts +150 -0
- package/packages/media/src/types.ts +121 -0
- package/packages/media-execution/README.md +28 -0
- package/packages/media-execution/package.json +17 -0
- package/packages/media-execution/src/execute.ts +1322 -0
- package/packages/media-execution/src/index.ts +16 -0
- package/packages/media-execution/src/probe.ts +315 -0
- package/packages/media-execution/src/surface.ts +286 -0
- package/packages/media-execution/src/toolchain.ts +81 -0
- package/packages/media-execution/src/webp.ts +200 -0
- package/packages/media-pipeline/README.md +113 -0
- package/packages/media-pipeline/package.json +27 -0
- package/packages/media-pipeline/src/activation.ts +47 -0
- package/packages/media-pipeline/src/audio-plan.ts +113 -0
- package/packages/media-pipeline/src/component.ts +373 -0
- package/packages/media-pipeline/src/fragment.ts +167 -0
- package/packages/media-pipeline/src/index.ts +46 -0
- package/packages/media-pipeline/src/manifest.ts +653 -0
- package/packages/media-pipeline/src/operations.ts +248 -0
- package/packages/media-pipeline/src/selection.ts +110 -0
- package/packages/media-pipeline/src/surface.ts +389 -0
- package/packages/media-pipeline/src/types.ts +175 -0
- package/packages/media-track/README.md +197 -0
- package/packages/media-track/package.json +29 -0
- package/packages/media-track/preview/Track.png +0 -0
- package/packages/media-track/preview/build.svrun +5 -0
- package/packages/media-track/preview/flush.png +0 -0
- package/packages/media-track/preview/preview.svml +47 -0
- package/packages/media-track/preview/recipes.svs +23 -0
- package/packages/media-track/preview/rounded.png +0 -0
- package/packages/media-track/src/activation.ts +20 -0
- package/packages/media-track/src/author.ts +317 -0
- package/packages/media-track/src/component.ts +162 -0
- package/packages/media-track/src/fragment.ts +57 -0
- package/packages/media-track/src/index.ts +65 -0
- package/packages/media-track/src/layers.ts +308 -0
- package/packages/media-track/src/lower.ts +335 -0
- package/packages/media-track/src/manifest.ts +624 -0
- package/packages/media-track/src/motion.ts +387 -0
- package/packages/media-track/src/performance.ts +37 -0
- package/packages/media-track/src/presentation.ts +35 -0
- package/packages/media-track/src/program.ts +565 -0
- package/packages/media-track/src/sampling.ts +118 -0
- package/packages/media-track/src/sequence.ts +403 -0
- package/packages/media-track/src/sounds.ts +71 -0
- package/packages/media-track/src/surface.ts +668 -0
- package/packages/media-track/src/types.ts +311 -0
- package/packages/media-track-studio/README.md +3 -0
- package/packages/media-track-studio/package.json +15 -0
- package/packages/media-track-studio/src/activation.ts +7 -0
- package/packages/media-track-studio/src/index.ts +235 -0
- package/packages/mimo-speech/README.md +33 -0
- package/packages/mimo-speech/package.json +21 -0
- package/packages/mimo-speech/src/activation.ts +32 -0
- package/packages/mimo-speech/src/fragment.ts +11 -0
- package/packages/mimo-speech/src/index.ts +160 -0
- package/packages/mimo-speech/src/surface.ts +193 -0
- package/packages/minimax-h3/README.md +21 -0
- package/packages/minimax-h3/package.json +21 -0
- package/packages/minimax-h3/src/activation.ts +14 -0
- package/packages/minimax-h3/src/index.ts +188 -0
- package/packages/minimax-h3/src/surface.ts +87 -0
- package/packages/model-kit/README.md +52 -0
- package/packages/model-kit/package.json +19 -0
- package/packages/model-kit/src/index.ts +728 -0
- package/packages/nano-banana/README.md +23 -0
- package/packages/nano-banana/package.json +21 -0
- package/packages/nano-banana/src/activation.ts +14 -0
- package/packages/nano-banana/src/index.ts +172 -0
- package/packages/nano-banana/src/surface.ts +120 -0
- package/packages/narrative/README.md +7 -0
- package/packages/narrative/package.json +17 -0
- package/packages/narrative/src/activation.ts +7 -0
- package/packages/narrative/src/component.ts +33 -0
- package/packages/narrative/src/identity.ts +131 -0
- package/packages/narrative/src/index.ts +11 -0
- package/packages/narrative/src/manifest.ts +30 -0
- package/packages/narrative/src/schema.ts +89 -0
- package/packages/narrative/src/types.ts +141 -0
- package/packages/package-loader-node/README.md +23 -0
- package/packages/package-loader-node/package.json +15 -0
- package/packages/package-loader-node/src/contribution.ts +97 -0
- package/packages/package-loader-node/src/distribution-resolution.ts +146 -0
- package/packages/package-loader-node/src/index.ts +27 -0
- package/packages/package-loader-node/src/loader.ts +301 -0
- package/packages/package-loader-node/src/location.ts +279 -0
- package/packages/package-loader-node/src/types.ts +60 -0
- package/packages/program-space/README.md +20 -0
- package/packages/program-space/package.json +17 -0
- package/packages/program-space/src/activation.ts +19 -0
- package/packages/program-space/src/index.ts +107 -0
- package/packages/program-space/src/surface.ts +55 -0
- package/packages/protocol/README.md +11 -0
- package/packages/protocol/package.json +10 -0
- package/packages/protocol/src/build-id.ts +52 -0
- package/packages/protocol/src/build.ts +265 -0
- package/packages/protocol/src/canonical.ts +37 -0
- package/packages/protocol/src/error.ts +11 -0
- package/packages/protocol/src/identity.ts +59 -0
- package/packages/protocol/src/index.ts +9 -0
- package/packages/protocol/src/module.ts +67 -0
- package/packages/protocol/src/value.ts +88 -0
- package/packages/provider-hyperframes-aws-lambda/README.md +30 -0
- package/packages/provider-hyperframes-aws-lambda/package.json +30 -0
- package/packages/provider-hyperframes-aws-lambda/src/activation.ts +97 -0
- package/packages/provider-hyperframes-aws-lambda/src/client.ts +114 -0
- package/packages/provider-hyperframes-aws-lambda/src/index.ts +21 -0
- package/packages/provider-hyperframes-aws-lambda/src/provider.ts +522 -0
- package/packages/provider-hyperframes-local/README.md +129 -0
- package/packages/provider-hyperframes-local/package.json +34 -0
- package/packages/provider-hyperframes-local/src/activation.ts +107 -0
- package/packages/provider-hyperframes-local/src/capture-process.ts +110 -0
- package/packages/provider-hyperframes-local/src/capture-worker.ts +17 -0
- package/packages/provider-hyperframes-local/src/capture.ts +184 -0
- package/packages/provider-hyperframes-local/src/index.ts +10 -0
- package/packages/provider-hyperframes-local/src/options.ts +19 -0
- package/packages/provider-hyperframes-local/src/output.ts +73 -0
- package/packages/provider-hyperframes-local/src/process.ts +83 -0
- package/packages/provider-hyperframes-local/src/program.ts +58 -0
- package/packages/provider-hyperframes-local/src/provider.ts +62 -0
- package/packages/provider-hyperframes-local/src/render.ts +114 -0
- package/packages/provider-hyperframes-local/src/sampling.ts +89 -0
- package/packages/provider-hypihub/README.md +143 -0
- package/packages/provider-hypihub/package.json +26 -0
- package/packages/provider-hypihub/src/activation.ts +91 -0
- package/packages/provider-hypihub/src/index.ts +2 -0
- package/packages/provider-hypihub/src/mapping.ts +145 -0
- package/packages/provider-hypihub/src/oauth.ts +113 -0
- package/packages/provider-hypihub/src/provider.ts +566 -0
- package/packages/provider-hypihub/src/routes.ts +134 -0
- package/packages/provider-hypihub/src/upload.ts +402 -0
- package/packages/provider-image-opencv-local/README.md +16 -0
- package/packages/provider-image-opencv-local/package.json +27 -0
- package/packages/provider-image-opencv-local/runtime/raster_execute.py +299 -0
- package/packages/provider-image-opencv-local/src/activation.ts +61 -0
- package/packages/provider-image-opencv-local/src/deployment.ts +68 -0
- package/packages/provider-image-opencv-local/src/index.ts +2 -0
- package/packages/provider-image-opencv-local/src/program.ts +60 -0
- package/packages/provider-image-opencv-local/src/provider.ts +155 -0
- package/packages/provider-kie/README.md +134 -0
- package/packages/provider-kie/package.json +43 -0
- package/packages/provider-kie/src/activation.ts +71 -0
- package/packages/provider-kie/src/index.ts +10 -0
- package/packages/provider-kie/src/mapping.ts +182 -0
- package/packages/provider-kie/src/provider.ts +657 -0
- package/packages/provider-kie/src/routes.ts +150 -0
- package/packages/provider-media-local/README.md +58 -0
- package/packages/provider-media-local/package.json +28 -0
- package/packages/provider-media-local/src/activation.ts +65 -0
- package/packages/provider-media-local/src/index.ts +2 -0
- package/packages/provider-media-local/src/program.ts +19 -0
- package/packages/provider-media-local/src/provider.ts +150 -0
- package/packages/provider-whisperx-local/README.md +44 -0
- package/packages/provider-whisperx-local/package.json +27 -0
- package/packages/provider-whisperx-local/src/activation.ts +93 -0
- package/packages/provider-whisperx-local/src/index.ts +5 -0
- package/packages/provider-whisperx-local/src/program.ts +157 -0
- package/packages/provider-whisperx-local/src/provider.ts +191 -0
- package/packages/provider-xiaomi-mimo/README.md +32 -0
- package/packages/provider-xiaomi-mimo/package.json +24 -0
- package/packages/provider-xiaomi-mimo/src/activation.ts +57 -0
- package/packages/provider-xiaomi-mimo/src/index.ts +5 -0
- package/packages/provider-xiaomi-mimo/src/provider.ts +214 -0
- package/packages/ranking/README.md +67 -0
- package/packages/ranking/package.json +33 -0
- package/packages/ranking/preview/Column.svg +29 -0
- package/packages/ranking/preview/TierBoard.png +0 -0
- package/packages/ranking/preview/TierBoard.svg +36 -0
- package/packages/ranking/preview/TopThree.png +0 -0
- package/packages/ranking/src/activation.ts +38 -0
- package/packages/ranking/src/component.ts +271 -0
- package/packages/ranking/src/fragment.ts +206 -0
- package/packages/ranking/src/index.ts +26 -0
- package/packages/ranking/src/manifest.ts +807 -0
- package/packages/ranking/src/render.ts +698 -0
- package/packages/ranking/src/schedule.ts +895 -0
- package/packages/ranking/src/style.ts +272 -0
- package/packages/ranking/src/surface.ts +322 -0
- package/packages/ranking/src/tier.ts +176 -0
- package/packages/ranking/src/types.ts +277 -0
- package/packages/ranking-studio/README.md +3 -0
- package/packages/ranking-studio/package.json +14 -0
- package/packages/ranking-studio/src/activation.ts +7 -0
- package/packages/ranking-studio/src/index.ts +255 -0
- package/packages/raster/README.md +7 -0
- package/packages/raster/package.json +14 -0
- package/packages/raster/src/activation.ts +7 -0
- package/packages/raster/src/index.ts +7 -0
- package/packages/raster/src/manifest.ts +14 -0
- package/packages/raster/src/program.ts +128 -0
- package/packages/raster/src/schema.ts +53 -0
- package/packages/raster/src/types.ts +61 -0
- package/packages/render-hyperframes/README.md +58 -0
- package/packages/render-hyperframes/package.json +33 -0
- package/packages/render-hyperframes/src/activation.ts +18 -0
- package/packages/render-hyperframes/src/component.ts +37 -0
- package/packages/render-hyperframes/src/fragment.ts +73 -0
- package/packages/render-hyperframes/src/index.ts +6 -0
- package/packages/render-hyperframes/src/manifest.ts +100 -0
- package/packages/render-hyperframes/src/product.ts +29 -0
- package/packages/render-hyperframes/src/surface.ts +65 -0
- package/packages/resource-store-fs/README.md +13 -0
- package/packages/resource-store-fs/package.json +14 -0
- package/packages/resource-store-fs/src/index.ts +2 -0
- package/packages/resource-store-fs/src/store.ts +154 -0
- package/packages/resource-store-s3/README.md +15 -0
- package/packages/resource-store-s3/package.json +15 -0
- package/packages/resource-store-s3/src/client.ts +138 -0
- package/packages/resource-store-s3/src/index.ts +10 -0
- package/packages/resource-store-s3/src/store.ts +258 -0
- package/packages/run/README.md +23 -0
- package/packages/run/package.json +16 -0
- package/packages/run/src/candidate.ts +33 -0
- package/packages/run/src/facet.ts +59 -0
- package/packages/run/src/frontend-facet.ts +23 -0
- package/packages/run/src/frontend.ts +62 -0
- package/packages/run/src/graph.ts +65 -0
- package/packages/run/src/index.ts +33 -0
- package/packages/run/src/registry.ts +24 -0
- package/packages/run/src/resolve.ts +213 -0
- package/packages/run/src/types.ts +147 -0
- package/packages/run-markup/README.md +60 -0
- package/packages/run-markup/package.json +22 -0
- package/packages/run-markup/src/activation.ts +10 -0
- package/packages/run-markup/src/frontend.ts +16 -0
- package/packages/run-markup/src/index.ts +5 -0
- package/packages/run-markup/src/syntax.ts +304 -0
- package/packages/runtime/README.md +39 -0
- package/packages/runtime/package.json +15 -0
- package/packages/runtime/src/capacity.ts +51 -0
- package/packages/runtime/src/catalog.ts +30 -0
- package/packages/runtime/src/credentials.ts +124 -0
- package/packages/runtime/src/environment.ts +6 -0
- package/packages/runtime/src/execution.ts +125 -0
- package/packages/runtime/src/index.ts +24 -0
- package/packages/runtime/src/operations.ts +99 -0
- package/packages/runtime/src/scheduler.ts +281 -0
- package/packages/runtime/src/submission.ts +24 -0
- package/packages/runtime/src/types.ts +157 -0
- package/packages/runtime-host-node/README.md +25 -0
- package/packages/runtime-host-node/package.json +19 -0
- package/packages/runtime-host-node/src/index.ts +421 -0
- package/packages/runtime-host-node/src/packages.ts +158 -0
- package/packages/runtime-kit/README.md +42 -0
- package/packages/runtime-kit/package.json +16 -0
- package/packages/runtime-kit/src/index.ts +307 -0
- package/packages/runtime-kit/src/request-deadline.ts +17 -0
- package/packages/runtime-local/README.md +119 -0
- package/packages/runtime-local/package.json +33 -0
- package/packages/runtime-local/src/actions.ts +20 -0
- package/packages/runtime-local/src/config.ts +1229 -0
- package/packages/runtime-local/src/control.ts +120 -0
- package/packages/runtime-local/src/credentials.ts +61 -0
- package/packages/runtime-local/src/host.ts +174 -0
- package/packages/runtime-local/src/index.ts +36 -0
- package/packages/runtime-local/src/process-control.ts +59 -0
- package/packages/runtime-local/src/process-logs.ts +33 -0
- package/packages/runtime-local/src/programs.ts +441 -0
- package/packages/runtime-local/src/result-writer.ts +246 -0
- package/packages/runtime-local/src/runtime.ts +342 -0
- package/packages/runtime-local/src/types.ts +100 -0
- package/packages/runtime-local/src/worker-process.ts +343 -0
- package/packages/runtime-local/src/worker.ts +449 -0
- package/packages/screen-overlay/README.md +17 -0
- package/packages/screen-overlay/package.json +31 -0
- package/packages/screen-overlay/preview/Track.png +0 -0
- package/packages/screen-overlay/src/activation.ts +15 -0
- package/packages/screen-overlay/src/component.ts +20 -0
- package/packages/screen-overlay/src/fragment.ts +40 -0
- package/packages/screen-overlay/src/index.ts +7 -0
- package/packages/screen-overlay/src/manifest.ts +305 -0
- package/packages/screen-overlay/src/program.ts +321 -0
- package/packages/screen-overlay/src/surface.ts +90 -0
- package/packages/screen-overlay/src/types.ts +69 -0
- package/packages/screen-overlay-studio/README.md +3 -0
- package/packages/screen-overlay-studio/package.json +14 -0
- package/packages/screen-overlay-studio/src/activation.ts +7 -0
- package/packages/screen-overlay-studio/src/index.ts +80 -0
- package/packages/script/README.md +137 -0
- package/packages/script/package.json +22 -0
- package/packages/script/src/activation.ts +20 -0
- package/packages/script/src/edit.ts +174 -0
- package/packages/script/src/error.ts +13 -0
- package/packages/script/src/format.ts +83 -0
- package/packages/script/src/index.ts +20 -0
- package/packages/script/src/lexical.ts +133 -0
- package/packages/script/src/manifest.ts +95 -0
- package/packages/script/src/narrative.ts +232 -0
- package/packages/script/src/parser.ts +850 -0
- package/packages/script/src/surface.ts +132 -0
- package/packages/script/src/types.ts +125 -0
- package/packages/script-studio/package.json +13 -0
- package/packages/script-studio/src/activation.ts +8 -0
- package/packages/script-studio/src/index.ts +61 -0
- package/packages/seedance/README.md +19 -0
- package/packages/seedance/package.json +22 -0
- package/packages/seedance/src/activation.ts +38 -0
- package/packages/seedance/src/fragment.ts +46 -0
- package/packages/seedance/src/index.ts +329 -0
- package/packages/seedance/src/surface.ts +355 -0
- package/packages/seedance-kits/README.md +153 -0
- package/packages/seedance-kits/kits/broll-v1.svs +52 -0
- package/packages/seedance-kits/kits/call-v1.svs +55 -0
- package/packages/seedance-kits/kits/camera-reference-v1.svs +9 -0
- package/packages/seedance-kits/kits/motion-reference-v1.svs +9 -0
- package/packages/seedance-kits/kits/podcast-v1.svs +55 -0
- package/packages/seedance-kits/kits/speaker-v1.svs +136 -0
- package/packages/seedance-kits/kits/street-interview-v1.svs +49 -0
- package/packages/seedance-kits/package.json +24 -0
- package/packages/seedream/README.md +21 -0
- package/packages/seedream/package.json +21 -0
- package/packages/seedream/src/activation.ts +12 -0
- package/packages/seedream/src/index.ts +162 -0
- package/packages/seedream/src/surface.ts +84 -0
- package/packages/semantic-take-adjust/package.json +21 -0
- package/packages/semantic-take-adjust/src/activation.ts +22 -0
- package/packages/semantic-take-adjust/src/component.ts +31 -0
- package/packages/semantic-take-adjust/src/fragment.ts +24 -0
- package/packages/semantic-take-adjust/src/index.ts +12 -0
- package/packages/semantic-take-adjust/src/manifest.ts +57 -0
- package/packages/semantic-take-adjust/src/program.ts +49 -0
- package/packages/semantic-take-adjust/src/surface.ts +96 -0
- package/packages/semantic-take-adjust/src/types.ts +9 -0
- package/packages/semantic-track/README.md +21 -0
- package/packages/semantic-track/package.json +22 -0
- package/packages/semantic-track/src/activation.ts +8 -0
- package/packages/semantic-track/src/component.ts +24 -0
- package/packages/semantic-track/src/identity.ts +58 -0
- package/packages/semantic-track/src/index.ts +6 -0
- package/packages/semantic-track/src/location.ts +81 -0
- package/packages/semantic-track/src/manifest.ts +38 -0
- package/packages/semantic-track/src/projection.ts +71 -0
- package/packages/semantic-track/src/types.ts +26 -0
- package/packages/source/README.md +13 -0
- package/packages/source/package.json +13 -0
- package/packages/source/src/header.ts +80 -0
- package/packages/source/src/index.ts +17 -0
- package/packages/source/src/unit.ts +38 -0
- package/packages/spatial/README.md +77 -0
- package/packages/spatial/package.json +24 -0
- package/packages/spatial/src/activation.ts +43 -0
- package/packages/spatial/src/author.ts +59 -0
- package/packages/spatial/src/component.ts +45 -0
- package/packages/spatial/src/fragment.ts +36 -0
- package/packages/spatial/src/geometry.ts +238 -0
- package/packages/spatial/src/index.ts +37 -0
- package/packages/spatial/src/manifest.ts +341 -0
- package/packages/spatial/src/region-timeline.ts +69 -0
- package/packages/spatial/src/schema.ts +47 -0
- package/packages/spatial/src/surface.ts +319 -0
- package/packages/spatial/src/types.ts +101 -0
- package/packages/speech/README.md +16 -0
- package/packages/speech/package.json +19 -0
- package/packages/speech/src/activation.ts +7 -0
- package/packages/speech/src/component.ts +43 -0
- package/packages/speech/src/identity.ts +73 -0
- package/packages/speech/src/index.ts +6 -0
- package/packages/speech/src/manifest.ts +30 -0
- package/packages/speech/src/materialize.ts +103 -0
- package/packages/speech/src/schema.ts +42 -0
- package/packages/speech/src/types.ts +54 -0
- package/packages/speech-alignment/README.md +29 -0
- package/packages/speech-alignment/package.json +25 -0
- package/packages/speech-alignment/src/activation.ts +8 -0
- package/packages/speech-alignment/src/align.ts +235 -0
- package/packages/speech-alignment/src/component.ts +37 -0
- package/packages/speech-alignment/src/error.ts +9 -0
- package/packages/speech-alignment/src/index.ts +7 -0
- package/packages/speech-alignment/src/local.ts +64 -0
- package/packages/speech-alignment/src/locate.ts +473 -0
- package/packages/speech-alignment/src/manifest.ts +37 -0
- package/packages/speech-alignment/src/normalize.ts +79 -0
- package/packages/speech-alignment/src/types.ts +30 -0
- package/packages/speech-evidence/README.md +3 -0
- package/packages/speech-evidence/package.json +16 -0
- package/packages/speech-evidence/src/activation.ts +3 -0
- package/packages/speech-evidence/src/index.ts +102 -0
- package/packages/speech-track/README.md +51 -0
- package/packages/speech-track/package.json +28 -0
- package/packages/speech-track/preview/Track.png +0 -0
- package/packages/speech-track/src/activation.ts +19 -0
- package/packages/speech-track/src/component.ts +45 -0
- package/packages/speech-track/src/fragment.ts +74 -0
- package/packages/speech-track/src/index.ts +7 -0
- package/packages/speech-track/src/manifest.ts +73 -0
- package/packages/speech-track/src/program.ts +64 -0
- package/packages/speech-track/src/surface.ts +35 -0
- package/packages/speech-track/src/types.ts +6 -0
- package/packages/speech-track-studio/README.md +3 -0
- package/packages/speech-track-studio/package.json +14 -0
- package/packages/speech-track-studio/src/activation.ts +7 -0
- package/packages/speech-track-studio/src/index.ts +40 -0
- package/packages/store-sqlite/README.md +14 -0
- package/packages/store-sqlite/package.json +18 -0
- package/packages/store-sqlite/src/index.ts +2 -0
- package/packages/store-sqlite/src/store.ts +1101 -0
- package/packages/studio/README.md +125 -0
- package/packages/studio/index.html +10 -0
- package/packages/studio/package.json +50 -0
- package/packages/studio/src/build-library.ts +281 -0
- package/packages/studio/src/companion-assembly.ts +39 -0
- package/packages/studio/src/compile.ts +166 -0
- package/packages/studio/src/domain.ts +139 -0
- package/packages/studio/src/execute.ts +57 -0
- package/packages/studio/src/fallback-companions.ts +98 -0
- package/packages/studio/src/observe.ts +202 -0
- package/packages/studio/src/parameter-values.ts +81 -0
- package/packages/studio/src/parameters.ts +550 -0
- package/packages/studio/src/preview/render.ts +51 -0
- package/packages/studio/src/preview/runtime-shim.ts +184 -0
- package/packages/studio/src/programme.ts +276 -0
- package/packages/studio/src/run.ts +85 -0
- package/packages/studio/src/server.ts +725 -0
- package/packages/studio/src/session.ts +111 -0
- package/packages/studio/src/shared.ts +315 -0
- package/packages/studio/src/snapshot.ts +454 -0
- package/packages/studio/src/source-transaction.ts +57 -0
- package/packages/studio/src/storyboard.ts +133 -0
- package/packages/studio/src/studio-preflight.ts +198 -0
- package/packages/studio/src/studio-registry.ts +406 -0
- package/packages/studio/src/studio-trace.ts +136 -0
- package/packages/studio/src/style.css +1525 -0
- package/packages/studio/src/surface-preview.ts +35 -0
- package/packages/studio/src/temporal-graph.ts +227 -0
- package/packages/studio/src/ui/code.ts +450 -0
- package/packages/studio/src/ui/icons.ts +51 -0
- package/packages/studio/src/ui/library.ts +378 -0
- package/packages/studio/src/ui/main.ts +1001 -0
- package/packages/studio/src/ui/markers.ts +152 -0
- package/packages/studio/src/ui/material-preview.ts +176 -0
- package/packages/studio/src/ui/overlay.ts +144 -0
- package/packages/studio/src/ui/resize.ts +74 -0
- package/packages/studio/src/ui/selection.ts +178 -0
- package/packages/studio/src/ui/stage.ts +231 -0
- package/packages/studio/src/ui/syntax.ts +195 -0
- package/packages/studio/src/ui/timeline.ts +1041 -0
- package/packages/studio/src/ui/writeback.ts +10 -0
- package/packages/studio/src/ui/zoom.ts +129 -0
- package/packages/studio/start.ts +143 -0
- package/packages/studio-adapter/README.md +186 -0
- package/packages/studio-adapter/package.json +14 -0
- package/packages/studio-adapter/src/index.ts +850 -0
- package/packages/svs/README.md +37 -0
- package/packages/svs/package.json +21 -0
- package/packages/svs/src/activation.ts +11 -0
- package/packages/svs/src/format.ts +16 -0
- package/packages/svs/src/frontend.ts +33 -0
- package/packages/svs/src/index.ts +5 -0
- package/packages/svs/src/manifest.ts +17 -0
- package/packages/svs/src/parser.ts +279 -0
- package/packages/svs/src/types.ts +26 -0
- package/packages/temporal/README.md +31 -0
- package/packages/temporal/package.json +20 -0
- package/packages/temporal/src/activation.ts +9 -0
- package/packages/temporal/src/component.ts +68 -0
- package/packages/temporal/src/index.ts +110 -0
- package/packages/temporal/src/location.ts +67 -0
- package/packages/temporal/src/projection.ts +280 -0
- package/packages/temporal/src/rational.ts +80 -0
- package/packages/temporal/src/sample.ts +43 -0
- package/packages/temporal/src/schedule.ts +52 -0
- package/packages/temporal/src/types.ts +124 -0
- package/packages/temporal-markup/README.md +75 -0
- package/packages/temporal-markup/package.json +18 -0
- package/packages/temporal-markup/src/index.ts +537 -0
- package/packages/temporal-markup/src/space.ts +59 -0
- package/packages/text/README.md +59 -0
- package/packages/text/package.json +21 -0
- package/packages/text/src/activation.ts +33 -0
- package/packages/text/src/component.ts +72 -0
- package/packages/text/src/fragment.ts +57 -0
- package/packages/text/src/frontend.ts +39 -0
- package/packages/text/src/index.ts +27 -0
- package/packages/text/src/manifest.ts +170 -0
- package/packages/text/src/program.ts +418 -0
- package/packages/text/src/surface.ts +212 -0
- package/packages/text/src/svs.ts +189 -0
- package/packages/text/src/types.ts +82 -0
- package/packages/transport-aws-lambda/README.md +20 -0
- package/packages/transport-aws-lambda/package.json +14 -0
- package/packages/transport-aws-lambda/src/index.ts +131 -0
- package/packages/typography-track/README.md +50 -0
- package/packages/typography-track/package.json +34 -0
- package/packages/typography-track/preview/Mask.png +0 -0
- package/packages/typography-track/preview/Track.png +0 -0
- package/packages/typography-track/src/activation.ts +36 -0
- package/packages/typography-track/src/component.ts +93 -0
- package/packages/typography-track/src/fragment.ts +30 -0
- package/packages/typography-track/src/index.ts +11 -0
- package/packages/typography-track/src/manifest.ts +556 -0
- package/packages/typography-track/src/program.ts +622 -0
- package/packages/typography-track/src/surface.ts +842 -0
- package/packages/typography-track/src/types.ts +109 -0
- package/packages/typography-track-studio/README.md +3 -0
- package/packages/typography-track-studio/package.json +14 -0
- package/packages/typography-track-studio/src/activation.ts +7 -0
- package/packages/typography-track-studio/src/index.ts +116 -0
- package/packages/validation/README.md +11 -0
- package/packages/validation/package.json +15 -0
- package/packages/validation/src/index.ts +100 -0
- package/packages/video-cli/README.md +181 -0
- package/packages/video-cli/package.json +37 -0
- package/packages/video-cli/src/capture.ts +174 -0
- package/packages/video-cli/src/cli.ts +109 -0
- package/packages/video-cli/src/compiler.ts +32 -0
- package/packages/video-cli/src/creation.ts +449 -0
- package/packages/video-cli/src/distribution.ts +88 -0
- package/packages/video-cli/src/index.ts +50 -0
- package/packages/video-cli/src/media.ts +701 -0
- package/packages/video-cli/src/package-selection.ts +34 -0
- package/packages/video-cli/src/process.ts +71 -0
- package/packages/video-cli/src/studio-distribution.ts +19 -0
- package/packages/video-cli/src/transcript.ts +71 -0
- package/packages/video-cli/src/vocabulary.ts +386 -0
- package/packages/visual-ir/README.md +36 -0
- package/packages/visual-ir/package.json +16 -0
- package/packages/visual-ir/src/activation.ts +3 -0
- package/packages/visual-ir/src/index.ts +7 -0
- package/packages/visual-ir/src/style.ts +222 -0
- package/packages/volcengine-matting/README.md +89 -0
- package/packages/volcengine-matting/package.json +16 -0
- package/packages/volcengine-matting/src/activation.ts +13 -0
- package/packages/volcengine-matting/src/index.ts +45 -0
- package/packages/volcengine-matting/src/surface.ts +48 -0
- package/packages/whisperx/README.md +34 -0
- package/packages/whisperx/package.json +28 -0
- package/packages/whisperx/src/activation.ts +18 -0
- package/packages/whisperx/src/component.ts +64 -0
- package/packages/whisperx/src/evidence.ts +69 -0
- package/packages/whisperx/src/fragment.ts +76 -0
- package/packages/whisperx/src/index.ts +14 -0
- package/packages/whisperx/src/manifest.ts +92 -0
- package/packages/whisperx/src/surface.ts +90 -0
- package/packages/whisperx/src/transcript.ts +97 -0
- package/packages/whisperx/src/types.ts +9 -0
- package/packages/workspace/README.md +4 -0
- package/packages/workspace/package.json +14 -0
- package/packages/workspace/src/index.ts +38 -0
- package/packages/workspace-fs-node/README.md +13 -0
- package/packages/workspace-fs-node/package.json +15 -0
- package/packages/workspace-fs-node/src/index.ts +6 -0
- package/packages/workspace-fs-node/src/workspace.ts +226 -0
- package/packages/yt-dlp/README.md +31 -0
- package/packages/yt-dlp/package.json +10 -0
- package/packages/yt-dlp/src/download.ts +104 -0
- package/packages/yt-dlp/src/index.ts +1 -0
- package/services/image-opencv/README.md +33 -0
- package/services/image-opencv/package.json +14 -0
- package/services/image-opencv/pyproject.toml +13 -0
- package/services/image-opencv/uv.lock +56 -0
- package/services/whisperx/README.md +82 -0
- package/services/whisperx/package.json +15 -0
- package/services/whisperx/pyproject.toml +26 -0
- package/services/whisperx/src/hypit_whisperx_service/__init__.py +6 -0
- package/services/whisperx/src/hypit_whisperx_service/__main__.py +29 -0
- package/services/whisperx/src/hypit_whisperx_service/application.py +88 -0
- package/services/whisperx/src/hypit_whisperx_service/audio.py +66 -0
- package/services/whisperx/src/hypit_whisperx_service/check.py +35 -0
- package/services/whisperx/src/hypit_whisperx_service/config.py +81 -0
- package/services/whisperx/src/hypit_whisperx_service/engine.py +173 -0
- package/services/whisperx/src/hypit_whisperx_service/prepare.py +19 -0
- package/services/whisperx/src/hypit_whisperx_service/resources.py +41 -0
- package/services/whisperx/src/hypit_whisperx_service/server.py +101 -0
- package/services/whisperx/uv.lock +3381 -0
- package/services/yt-dlp/README.md +19 -0
- package/services/yt-dlp/package.json +14 -0
- package/services/yt-dlp/pyproject.toml +13 -0
- package/services/yt-dlp/uv.lock +23 -0
- package/index.js +0 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { assertSemanticTakeIdentity } from "@hypit/speech";
|
|
2
|
+
|
|
3
|
+
import type { SemanticTrack, SemanticTrackSpan } from "./types.js";
|
|
4
|
+
|
|
5
|
+
export function sealSemanticTrack(value: SemanticTrack): SemanticTrack {
|
|
6
|
+
const track = structuredClone(value);
|
|
7
|
+
assertSemanticTrackIdentity(track);
|
|
8
|
+
return track;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function assertSemanticTrackIdentity(track: SemanticTrack): void {
|
|
12
|
+
if (!track.id.trim() || !track.narrativeId.trim() || track.items.length === 0) {
|
|
13
|
+
throw new Error("SemanticTrack must have identities and contain at least one item.");
|
|
14
|
+
}
|
|
15
|
+
const segmentIds = new Set<string>();
|
|
16
|
+
const tokenIds = new Set<string>();
|
|
17
|
+
const anchorIds = new Set<string>();
|
|
18
|
+
let frameRate: SemanticTrack["items"][number]["take"]["media"]["timeline"]["frameRate"] | undefined;
|
|
19
|
+
for (const item of track.items) {
|
|
20
|
+
assertSemanticTakeIdentity(item.take);
|
|
21
|
+
if (item.take.narrativeId !== track.narrativeId) {
|
|
22
|
+
throw new Error(`SemanticTrack ${track.id} mixes Narrative ${item.take.narrativeId} into ${track.narrativeId}.`);
|
|
23
|
+
}
|
|
24
|
+
const rate = item.take.media.timeline.frameRate;
|
|
25
|
+
if (frameRate === undefined) frameRate = rate;
|
|
26
|
+
else if (frameRate.numerator !== rate.numerator || frameRate.denominator !== rate.denominator) {
|
|
27
|
+
throw new Error("SemanticTrack items must use one frame rate.");
|
|
28
|
+
}
|
|
29
|
+
const segmentId = item.take.segment.segmentId;
|
|
30
|
+
if (segmentIds.has(segmentId)) throw new Error(`SemanticTrack repeats Segment ${segmentId}.`);
|
|
31
|
+
segmentIds.add(segmentId);
|
|
32
|
+
for (const token of item.take.tokens) {
|
|
33
|
+
if (tokenIds.has(token.tokenId)) throw new Error(`SemanticTrack repeats Token ${token.tokenId}.`);
|
|
34
|
+
tokenIds.add(token.tokenId);
|
|
35
|
+
}
|
|
36
|
+
for (const anchor of item.take.anchors) {
|
|
37
|
+
if (anchor.identity === "program:start" || anchor.identity === "program:end") {
|
|
38
|
+
throw new Error(`SemanticTake cannot declare reserved Program Anchor ${anchor.identity}.`);
|
|
39
|
+
}
|
|
40
|
+
if (anchorIds.has(anchor.identity)) throw new Error(`SemanticTrack repeats Anchor ${anchor.identity}.`);
|
|
41
|
+
anchorIds.add(anchor.identity);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function semanticTrackSpans(track: SemanticTrack): readonly SemanticTrackSpan[] {
|
|
47
|
+
assertSemanticTrackIdentity(track);
|
|
48
|
+
let frame = 0;
|
|
49
|
+
return track.items.map((item) => {
|
|
50
|
+
const startFrame = frame;
|
|
51
|
+
frame += item.take.media.timeline.frameCount;
|
|
52
|
+
return { item, startFrame, endFrameExclusive: frame };
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function semanticTrackFrameCount(track: SemanticTrack): number {
|
|
57
|
+
return semanticTrackSpans(track).at(-1)!.endFrameExclusive;
|
|
58
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { semanticTrackComponent } from "./component.js";
|
|
2
|
+
export { assertSemanticTrackIdentity, sealSemanticTrack, semanticTrackFrameCount, semanticTrackSpans } from "./identity.js";
|
|
3
|
+
export { assertNarrativeMomentIdentity, assertNarrativeSelectionIdentity, momentFrame, segmentFrameSpan, selectionFrameSpan, semanticAnchorFrames, tokenFrameSpan } from "./location.js";
|
|
4
|
+
export { semanticTrackDependency, semanticTrackManifest, semanticTrackModuleRef, semanticTrackProducers, semanticTrackSchema, semanticTrackTypes } from "./manifest.js";
|
|
5
|
+
export { projectSemanticAudioTrack, projectSemanticProgramSpace, projectSemanticMedia } from "./projection.js";
|
|
6
|
+
export type * from "./types.js";
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { NarrativeExcerpt, NarrativeMomentRef, NarrativeSelectionRef } from "@hypit/narrative";
|
|
2
|
+
|
|
3
|
+
import { assertSemanticTrackIdentity, semanticTrackFrameCount, semanticTrackSpans } from "./identity.js";
|
|
4
|
+
import type { LocatedFrameSpan, SemanticTrack } from "./types.js";
|
|
5
|
+
|
|
6
|
+
export function assertNarrativeSelectionIdentity(selection: NarrativeSelectionRef): void {
|
|
7
|
+
if (!selection.narrativeId || !selection.id || !selection.startAnchorId || !selection.endAnchorId) throw new Error("NarrativeSelection is invalid");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function assertNarrativeMomentIdentity(moment: NarrativeMomentRef): void {
|
|
11
|
+
if (!moment.narrativeId || !moment.id || !moment.anchorId) throw new Error("NarrativeMoment is invalid");
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function assertNarrativeOwner(track: SemanticTrack, narrativeId: string, label: string): void {
|
|
15
|
+
if (narrativeId !== track.narrativeId) {
|
|
16
|
+
throw new Error(`${label} belongs to Narrative ${narrativeId}, not SemanticTrack ${track.id}.`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function semanticAnchorFrames(track: SemanticTrack): ReadonlyMap<string, number> {
|
|
21
|
+
assertSemanticTrackIdentity(track);
|
|
22
|
+
return new Map([
|
|
23
|
+
["program:start", 0] as const,
|
|
24
|
+
...semanticTrackSpans(track).flatMap(({ item, startFrame }) =>
|
|
25
|
+
item.take.anchors.map((anchor) => [anchor.identity, startFrame + anchor.frame] as const)),
|
|
26
|
+
["program:end", semanticTrackFrameCount(track)] as const,
|
|
27
|
+
]);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function frameFor(frames: ReadonlyMap<string, number>, anchorId: string, owner: string): number {
|
|
31
|
+
const frame = frames.get(anchorId);
|
|
32
|
+
if (frame === undefined) throw new Error(`${owner} names Anchor ${anchorId}, which this SemanticTrack does not contain.`);
|
|
33
|
+
return frame;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function selectionFrameSpan(
|
|
37
|
+
track: SemanticTrack,
|
|
38
|
+
selection: NarrativeSelectionRef,
|
|
39
|
+
): LocatedFrameSpan {
|
|
40
|
+
assertSemanticTrackIdentity(track);
|
|
41
|
+
assertNarrativeSelectionIdentity(selection);
|
|
42
|
+
assertNarrativeOwner(track, selection.narrativeId, `NarrativeSelection ${selection.id}`);
|
|
43
|
+
const frames = semanticAnchorFrames(track);
|
|
44
|
+
return {
|
|
45
|
+
startFrame: frameFor(frames, selection.startAnchorId, `NarrativeSelection ${selection.id}`),
|
|
46
|
+
endFrameExclusive: frameFor(frames, selection.endAnchorId, `NarrativeSelection ${selection.id}`),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function segmentFrameSpan(track: SemanticTrack, segment: NarrativeExcerpt): LocatedFrameSpan {
|
|
51
|
+
assertSemanticTrackIdentity(track);
|
|
52
|
+
if (segment.kind !== "segment" || !segment.id) throw new Error("Narrative Segment excerpt is invalid");
|
|
53
|
+
assertNarrativeOwner(track, segment.narrativeId, `Narrative Segment ${segment.id}`);
|
|
54
|
+
const found = semanticTrackSpans(track).find(({ item }) => item.take.segment.segmentId === segment.id);
|
|
55
|
+
if (found === undefined) throw new Error(`SemanticTrack does not contain Segment ${segment.id}.`);
|
|
56
|
+
return { startFrame: found.startFrame, endFrameExclusive: found.endFrameExclusive };
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function tokenFrameSpan(track: SemanticTrack, tokenIds: readonly string[]): LocatedFrameSpan | undefined {
|
|
60
|
+
assertSemanticTrackIdentity(track);
|
|
61
|
+
if (tokenIds.length === 0) return undefined;
|
|
62
|
+
const timing = new Map(semanticTrackSpans(track).flatMap(({ item, startFrame }) =>
|
|
63
|
+
item.take.tokens.map((token) => [token.tokenId, {
|
|
64
|
+
startFrame: startFrame + token.startFrame,
|
|
65
|
+
endFrameExclusive: startFrame + token.endFrameExclusive,
|
|
66
|
+
}] as const)));
|
|
67
|
+
const located = tokenIds.map((id) => timing.get(id));
|
|
68
|
+
if (located.some((item) => item === undefined)) return undefined;
|
|
69
|
+
return {
|
|
70
|
+
startFrame: located[0]!.startFrame,
|
|
71
|
+
endFrameExclusive: located.at(-1)!.endFrameExclusive,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function momentFrame(track: SemanticTrack, moment: NarrativeMomentRef): number {
|
|
76
|
+
assertSemanticTrackIdentity(track);
|
|
77
|
+
assertNarrativeMomentIdentity(moment);
|
|
78
|
+
assertNarrativeOwner(track, moment.narrativeId, `NarrativeMoment ${moment.id}`);
|
|
79
|
+
const frames = semanticAnchorFrames(track);
|
|
80
|
+
return frameFor(frames, moment.anchorId, `NarrativeMoment ${moment.id}`);
|
|
81
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { compositionDependency, compositionTypes } from "@hypit/composition";
|
|
2
|
+
import { narrativeDependency } from "@hypit/narrative";
|
|
3
|
+
import { programSpaceDependency, programSpaceTypes } from "@hypit/program-space";
|
|
4
|
+
import type { ModuleManifest, ProducerRef, TypeRef, ValueSchema } from "@hypit/protocol";
|
|
5
|
+
import { semanticTakeSchema, speechDependency } from "@hypit/speech";
|
|
6
|
+
|
|
7
|
+
export const semanticTrackModuleRef = { name: "@hypit/semantic-track", version: "1" } as const;
|
|
8
|
+
export const semanticTrackTypes = {
|
|
9
|
+
track: { module: semanticTrackModuleRef, name: "SemanticTrack" },
|
|
10
|
+
} satisfies Record<string, TypeRef>;
|
|
11
|
+
export const semanticTrackProducers = {
|
|
12
|
+
projectProgramSpace: { module: semanticTrackModuleRef, name: "project-program-space" },
|
|
13
|
+
projectAudio: { module: semanticTrackModuleRef, name: "project-audio-track" },
|
|
14
|
+
} satisfies Record<string, ProducerRef>;
|
|
15
|
+
|
|
16
|
+
const string = { kind: "string", minLength: 1 } as const;
|
|
17
|
+
const object = (fields: Readonly<Record<string, { readonly schema: ValueSchema; readonly optional?: boolean }>>): ValueSchema => ({ kind: "object", fields });
|
|
18
|
+
export const semanticTrackSchema: ValueSchema = object({
|
|
19
|
+
id: { schema: string },
|
|
20
|
+
narrativeId: { schema: string },
|
|
21
|
+
items: { schema: { kind: "array", minItems: 1, items: object({
|
|
22
|
+
take: { schema: semanticTakeSchema },
|
|
23
|
+
}) } },
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
export const semanticTrackManifest: ModuleManifest = {
|
|
27
|
+
format: "hypit.module@1",
|
|
28
|
+
name: semanticTrackModuleRef.name,
|
|
29
|
+
version: semanticTrackModuleRef.version,
|
|
30
|
+
dependencies: [speechDependency, narrativeDependency, programSpaceDependency, compositionDependency],
|
|
31
|
+
types: [{ name: semanticTrackTypes.track.name }],
|
|
32
|
+
capabilities: [],
|
|
33
|
+
producers: [
|
|
34
|
+
{ name: semanticTrackProducers.projectProgramSpace.name, inputs: [{ name: "track", type: semanticTrackTypes.track }], outputs: [{ name: "space", type: programSpaceTypes.programSpace }], needs: [] },
|
|
35
|
+
{ name: semanticTrackProducers.projectAudio.name, inputs: [{ name: "track", type: semanticTrackTypes.track }], outputs: [{ name: "audio", type: compositionTypes.audioTrack }], needs: [] },
|
|
36
|
+
],
|
|
37
|
+
};
|
|
38
|
+
export const semanticTrackDependency = { module: semanticTrackModuleRef } as const;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { sealAudioTrack } from "@hypit/composition";
|
|
2
|
+
import type { AudioTrack } from "@hypit/composition";
|
|
3
|
+
import { synchronizedMediaSampleFrames } from "@hypit/media";
|
|
4
|
+
import {
|
|
5
|
+
programFrameSampleBoundary,
|
|
6
|
+
sealProgramSpace,
|
|
7
|
+
} from "@hypit/program-space";
|
|
8
|
+
import type { ProgramSpace } from "@hypit/program-space";
|
|
9
|
+
|
|
10
|
+
import { assertSemanticTrackIdentity, semanticTrackFrameCount, semanticTrackSpans } from "./identity.js";
|
|
11
|
+
import type { SemanticTrack } from "./types.js";
|
|
12
|
+
|
|
13
|
+
/** Prepared material in an authored program interval, with its original source position retained. */
|
|
14
|
+
export function projectSemanticMedia(track: SemanticTrack, window = {
|
|
15
|
+
startFrame: 0, endFrameExclusive: semanticTrackFrameCount(track),
|
|
16
|
+
}) {
|
|
17
|
+
assertSemanticTrackIdentity(track);
|
|
18
|
+
if (!Number.isSafeInteger(window.startFrame) || !Number.isSafeInteger(window.endFrameExclusive)
|
|
19
|
+
|| window.startFrame < 0 || window.endFrameExclusive <= window.startFrame
|
|
20
|
+
|| window.endFrameExclusive > semanticTrackFrameCount(track)) throw new Error("Semantic media window is outside the performance.");
|
|
21
|
+
return semanticTrackSpans(track).flatMap(({ item, startFrame, endFrameExclusive }) => {
|
|
22
|
+
const start = Math.max(window.startFrame, startFrame);
|
|
23
|
+
const end = Math.min(window.endFrameExclusive, endFrameExclusive);
|
|
24
|
+
return end <= start ? [] : [{
|
|
25
|
+
segmentId: item.take.segment.segmentId,
|
|
26
|
+
media: item.take.media,
|
|
27
|
+
span: { startFrame: start, endFrameExclusive: end },
|
|
28
|
+
source: { startFrame: start - startFrame, endFrameExclusive: end - startFrame },
|
|
29
|
+
}];
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function projectSemanticProgramSpace(track: SemanticTrack): ProgramSpace {
|
|
34
|
+
assertSemanticTrackIdentity(track);
|
|
35
|
+
const frameRate = track.items[0]!.take.media.timeline.frameRate;
|
|
36
|
+
return sealProgramSpace({
|
|
37
|
+
id: track.id,
|
|
38
|
+
durationSec: semanticTrackFrameCount(track) * frameRate.denominator / frameRate.numerator,
|
|
39
|
+
frameRate,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function projectSemanticAudioTrack(track: SemanticTrack): AudioTrack {
|
|
44
|
+
const space = projectSemanticProgramSpace(track);
|
|
45
|
+
const clips = semanticTrackSpans(track).flatMap(({ item, startFrame, endFrameExclusive }) => {
|
|
46
|
+
const audio = item.take.media.audio;
|
|
47
|
+
if (audio === undefined) return [];
|
|
48
|
+
const sourceSampleFrames = synchronizedMediaSampleFrames(item.take.media);
|
|
49
|
+
const targetStartSample = programFrameSampleBoundary(space, startFrame, 48_000);
|
|
50
|
+
const targetEndSampleExclusive = programFrameSampleBoundary(space, endFrameExclusive, 48_000);
|
|
51
|
+
return [{
|
|
52
|
+
id: item.take.segment.segmentId,
|
|
53
|
+
subjectId: item.take.segment.segmentId,
|
|
54
|
+
artifact: audio.artifact,
|
|
55
|
+
target: { startSample: targetStartSample, endSampleExclusive: targetEndSampleExclusive },
|
|
56
|
+
source: {
|
|
57
|
+
sampleFrames: sourceSampleFrames,
|
|
58
|
+
startSample: 0,
|
|
59
|
+
endSampleExclusive: sourceSampleFrames,
|
|
60
|
+
loop: false,
|
|
61
|
+
phaseSample: 0,
|
|
62
|
+
},
|
|
63
|
+
playbackRate: 1,
|
|
64
|
+
pitch: "preserve" as const,
|
|
65
|
+
gain: 1,
|
|
66
|
+
fadeInSamples: 0,
|
|
67
|
+
fadeOutSamples: 0,
|
|
68
|
+
}];
|
|
69
|
+
});
|
|
70
|
+
return sealAudioTrack({ programSpaceId: space.id, id: `${track.id}:audio`, clips });
|
|
71
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SemanticTake } from "@hypit/speech";
|
|
2
|
+
|
|
3
|
+
export type SemanticTrackItem = {
|
|
4
|
+
readonly take: SemanticTake;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The continuous program skeleton. Every item is a real SemanticTake and the
|
|
9
|
+
* global frame domain is exactly their prefix sum: no gap or empty item exists.
|
|
10
|
+
*/
|
|
11
|
+
export type SemanticTrack = {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
readonly narrativeId: string;
|
|
14
|
+
readonly items: readonly SemanticTrackItem[];
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type SemanticTrackSpan = {
|
|
18
|
+
readonly item: SemanticTrackItem;
|
|
19
|
+
readonly startFrame: number;
|
|
20
|
+
readonly endFrameExclusive: number;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type LocatedFrameSpan = {
|
|
24
|
+
readonly startFrame: number;
|
|
25
|
+
readonly endFrameExclusive: number;
|
|
26
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# `@hypit/source`
|
|
2
|
+
|
|
3
|
+
The smallest source bootstrap shared by Author and Run compilation.
|
|
4
|
+
|
|
5
|
+
It recognizes exactly one mandatory bounded Header:
|
|
6
|
+
|
|
7
|
+
```xml
|
|
8
|
+
<?svml using="@hypit/markup@1"?>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
The Header selects an exact trusted Frontend. There is no suffix dispatch and no default parser.
|
|
12
|
+
The package masks the Header while preserving character offsets, but does not recognize imports,
|
|
13
|
+
XML, Script, Recipes, Run syntax or domain Types. Those belong to the selected Frontend.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export type SourceHeader = {
|
|
2
|
+
/** Logical Frontend request. A trusted Host resolves it to one exact implementation. */
|
|
3
|
+
readonly using: string;
|
|
4
|
+
readonly start: number;
|
|
5
|
+
readonly end: number;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export class SourceHeaderError extends Error {
|
|
9
|
+
readonly code: string;
|
|
10
|
+
readonly sourceName: string;
|
|
11
|
+
readonly offset: number;
|
|
12
|
+
readonly line: number;
|
|
13
|
+
readonly column: number;
|
|
14
|
+
|
|
15
|
+
constructor(code: string, message: string, sourceName: string, source: string, offset: number) {
|
|
16
|
+
const before = source.slice(0, offset);
|
|
17
|
+
const line = before.split("\n").length;
|
|
18
|
+
const column = [...(before.split("\n").at(-1) ?? "")].length + 1;
|
|
19
|
+
super(`${sourceName}:${line}:${column}: ${message}`);
|
|
20
|
+
this.name = "SourceHeaderError";
|
|
21
|
+
this.code = code;
|
|
22
|
+
this.sourceName = sourceName;
|
|
23
|
+
this.offset = offset;
|
|
24
|
+
this.line = line;
|
|
25
|
+
this.column = column;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const FRONTEND = /^[^\s<>&'"]+$/u;
|
|
30
|
+
|
|
31
|
+
function fail(sourceName: string, source: string, code: string, message: string, offset: number): never {
|
|
32
|
+
throw new SourceHeaderError(code, message, sourceName, source, offset);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Parse the single irreducible SVML bootstrap directive.
|
|
37
|
+
*
|
|
38
|
+
* The grammar deliberately has no comments, aliases, interpolation or defaults:
|
|
39
|
+
*
|
|
40
|
+
* [UTF-8 BOM] <?svml using="logical-frontend-request"?>
|
|
41
|
+
*/
|
|
42
|
+
export function parseSourceHeader(sourceName: string, text: string): SourceHeader {
|
|
43
|
+
const start = text.charCodeAt(0) === 0xfeff ? 1 : 0;
|
|
44
|
+
if (!text.startsWith("<?svml", start)) {
|
|
45
|
+
fail(sourceName, text, "SOURCE_HEADER_MISSING", 'Source must begin with <?svml using="..."?>', start);
|
|
46
|
+
}
|
|
47
|
+
const relativeClose = text.indexOf("?>", start + "<?svml".length);
|
|
48
|
+
if (relativeClose < 0) {
|
|
49
|
+
fail(sourceName, text, "SOURCE_HEADER_UNCLOSED", "Source Header is not closed", start);
|
|
50
|
+
}
|
|
51
|
+
const close = relativeClose;
|
|
52
|
+
const raw = text.slice(start, close + 2);
|
|
53
|
+
const match = /^<\?svml[ \t]+using=(['"])([^'"\r\n]+)\1[ \t]*\?>$/u.exec(raw);
|
|
54
|
+
if (match === null) {
|
|
55
|
+
fail(
|
|
56
|
+
sourceName,
|
|
57
|
+
text,
|
|
58
|
+
"SOURCE_HEADER_INVALID",
|
|
59
|
+
'Source Header must use exactly <?svml using="logical-frontend-request"?>',
|
|
60
|
+
start,
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
const using = match[2]!;
|
|
64
|
+
if (!FRONTEND.test(using)) {
|
|
65
|
+
fail(sourceName, text, "SOURCE_HEADER_FRONTEND", "Source Header Frontend request must not be empty or padded", start);
|
|
66
|
+
}
|
|
67
|
+
const end = close + 2;
|
|
68
|
+
const after = text.slice(end);
|
|
69
|
+
const nextContent = /\S/u.exec(after);
|
|
70
|
+
if (nextContent !== null && after.startsWith("<?svml", nextContent.index)) {
|
|
71
|
+
fail(sourceName, text, "SOURCE_HEADER_DUPLICATE", "Source declares more than one Source Header", end + nextContent.index);
|
|
72
|
+
}
|
|
73
|
+
return { using, start, end };
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** Preserve every original offset while making the Header ordinary whitespace to body Frontends. */
|
|
77
|
+
export function maskSourceHeader(text: string, header: SourceHeader): string {
|
|
78
|
+
const prefix = text.slice(0, header.end).replace(/[^\r\n]/gu, " ");
|
|
79
|
+
return `${prefix}${text.slice(header.end)}`;
|
|
80
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export {
|
|
2
|
+
maskSourceHeader,
|
|
3
|
+
parseSourceHeader,
|
|
4
|
+
SourceHeaderError,
|
|
5
|
+
} from "./header.js";
|
|
6
|
+
export type { SourceHeader } from "./header.js";
|
|
7
|
+
export type {
|
|
8
|
+
Awaitable,
|
|
9
|
+
ResolvedSourceAsset,
|
|
10
|
+
SourceAssetRequest,
|
|
11
|
+
SourceAssetResolver,
|
|
12
|
+
SourceImportRequest,
|
|
13
|
+
SourceResolver,
|
|
14
|
+
SourceUnit,
|
|
15
|
+
} from "./unit.js";
|
|
16
|
+
/** Logical package address for Source Frontends selected by a Source Header. */
|
|
17
|
+
export const sourceFrontendPackageAbi = "hypit.source-frontend@1";
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { BlobRef, SourceRange } from "@hypit/protocol";
|
|
2
|
+
|
|
3
|
+
export type SourceUnit = {
|
|
4
|
+
/** Host-canonical identity used only for recursion and diagnostics. */
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly text: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type SourceImportRequest = {
|
|
11
|
+
readonly from: string;
|
|
12
|
+
readonly alias: string;
|
|
13
|
+
readonly range?: SourceRange;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export type SourceAssetRequest = {
|
|
17
|
+
readonly from: string;
|
|
18
|
+
readonly mediaType: string;
|
|
19
|
+
/** Package-owned bytes admitted by the compiler before a Workspace is consulted. */
|
|
20
|
+
readonly bytes?: Uint8Array;
|
|
21
|
+
readonly range?: SourceRange;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export type ResolvedSourceAsset = {
|
|
25
|
+
readonly artifact: BlobRef;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export type Awaitable<T> = T | Promise<T>;
|
|
29
|
+
|
|
30
|
+
export type SourceResolver = (
|
|
31
|
+
importer: SourceUnit,
|
|
32
|
+
request: SourceImportRequest,
|
|
33
|
+
) => Awaitable<SourceUnit>;
|
|
34
|
+
|
|
35
|
+
export type SourceAssetResolver = (
|
|
36
|
+
importer: SourceUnit,
|
|
37
|
+
request: SourceAssetRequest,
|
|
38
|
+
) => Awaitable<ResolvedSourceAsset>;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# `@hypit/spatial`
|
|
2
|
+
|
|
3
|
+
Shared video-domain geometry: explicit Canvas coordinates, Points, Frames, Paths, externally measured
|
|
4
|
+
Region Timelines, intrinsic extents and deterministic two-frame content fitting. It owns no semantic
|
|
5
|
+
timing, Paint, motion, media decoding,
|
|
6
|
+
renderer, Provider or Core behavior.
|
|
7
|
+
|
|
8
|
+
The package exposes self-described `Canvas`, `Point`, `Path`, `Extent`, `RegionTimeline`, `Frame`,
|
|
9
|
+
`AnchoredFrame` and `AspectFrame` author Surfaces plus pure geometry functions and fixed-port Producers.
|
|
10
|
+
|
|
11
|
+
## Destination and fitted content
|
|
12
|
+
|
|
13
|
+
`SpatialFrame` is a destination rectangle in Canvas pixels. `IntrinsicExtent` supplies source
|
|
14
|
+
dimensions. `fitContent(frame, extent, fit)` returns a `FittedContent.contentFrame`: the scaled
|
|
15
|
+
source's rectangle in the same coordinates. The caller supplies the fitting area; Media Track
|
|
16
|
+
derives that area by subtracting its border and padding from its outer Frame.
|
|
17
|
+
|
|
18
|
+
`ContentFit.sizing` selects the size before alignment:
|
|
19
|
+
|
|
20
|
+
| Sizing | Result |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| `contain` | Preserve aspect and fit both dimensions inside the destination |
|
|
23
|
+
| `cover` | Preserve aspect and cover both destination dimensions |
|
|
24
|
+
| `fit-width` / `fit-height` | Preserve aspect and match the named dimension |
|
|
25
|
+
| `native` | Keep the source's pixel dimensions |
|
|
26
|
+
| `scale-down` | Use `contain` while limiting scale to at most 1 |
|
|
27
|
+
| `stretch` | Use the destination width and height independently |
|
|
28
|
+
|
|
29
|
+
`framePoint` and `contentPoint` are separate normalized points in `[0,1]`. The scaled source point
|
|
30
|
+
is placed at the destination point, then `offsetPx` is added. Before any constraint, the horizontal
|
|
31
|
+
position is `frame.xPx + frame.widthPx * framePoint.x - contentWidth * contentPoint.x + offsetPx.x`;
|
|
32
|
+
the vertical position follows the same relationship.
|
|
33
|
+
|
|
34
|
+
`constraint: bounded` clamps each coordinate between `frameStart` and
|
|
35
|
+
`frameStart + frameSize - contentSize`, whichever is lower or higher. Large content keeps the
|
|
36
|
+
destination covered on that axis, and small content stays inside it. `free` leaves the calculated
|
|
37
|
+
position unchanged. Fitting calculates rectangles; the consuming component owns clipping.
|
|
38
|
+
|
|
39
|
+
`decodeContentFitProperties` exposes these through Recipe keys: `fit`, `frame-x`, `frame-y`,
|
|
40
|
+
`content-x`, `content-y`, `fit-offset-x`, `fit-offset-y`, and `fit-constraint`. Defaults are `contain`,
|
|
41
|
+
center points (`0.5`), zero pixel offsets and `bounded`. These alignment fractions place the source
|
|
42
|
+
inside the supplied destination. Canvas placement remains the job of Frame / AnchoredFrame /
|
|
43
|
+
AspectFrame. Media Track uses this decoder for Items, Performances and Sequence members; project
|
|
44
|
+
components can use the same fitting functions where that presentation fits their role.
|
|
45
|
+
|
|
46
|
+
## Measured regions
|
|
47
|
+
|
|
48
|
+
`RegionTimeline` accepts already measured data rather than running a detector. Face detection and
|
|
49
|
+
tracking can observe the footage produced by an earlier Build: keep useful boxes as ordinary numbers,
|
|
50
|
+
then reuse that media while rendering Caption with the finished timeline. Measurement precedes the
|
|
51
|
+
composition that consumes it; it need not precede the first media-producing Build. RegionTimeline
|
|
52
|
+
does not start a detector to discover its own layout. One SVS Recipe holds the exact ProgramSpace
|
|
53
|
+
frame count and named tracks whose array positions are Frames:
|
|
54
|
+
|
|
55
|
+
```svs
|
|
56
|
+
heads.default {
|
|
57
|
+
frame-count: 3;
|
|
58
|
+
tracks: [
|
|
59
|
+
{"id":"WIFE","regions":[[0.12,0.09,0.20,0.26],null,[0.13,0.10,0.20,0.26]]}
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```svml
|
|
65
|
+
<space:RegionTimeline id="heads" within={vertical} recipe={tracking.heads.default}/>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Every measured region is normalized `[x, y, width, height]`; `null` says that this track has no
|
|
69
|
+
measured region on that Frame. The Surface converts measured regions to the selected Canvas's pixels
|
|
70
|
+
at author time; it never fills missing Frames or interprets a track id.
|
|
71
|
+
|
|
72
|
+
Prepare measurements against the exact edited media, clock and Canvas used by the composition.
|
|
73
|
+
Individual Take measurements need their actual frame offsets in the program; boxes measured before
|
|
74
|
+
a crop, resize or inset need that placement transform. Face-to-head expansion, identity association,
|
|
75
|
+
cut handling and any interpolation are explicit external preparation decisions. The resulting
|
|
76
|
+
Recipe records their output. Caption consumers can assign Role meaning to track ids without making
|
|
77
|
+
Spatial aware of speakers, detector APIs or generated-media Providers.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hypit/spatial",
|
|
3
|
+
"version": "0.0.0-dev",
|
|
4
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
5
|
+
"private": true,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.ts"
|
|
9
|
+
},
|
|
10
|
+
"hypit": {
|
|
11
|
+
"activation": "./src/activation.ts"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@hypit/component-kit": "workspace:*",
|
|
15
|
+
"@hypit/elaborator": "workspace:*",
|
|
16
|
+
"@hypit/protocol": "workspace:*",
|
|
17
|
+
"@hypit/markup": "workspace:*",
|
|
18
|
+
"@hypit/svs": "workspace:*"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@hypit/core": "workspace:*",
|
|
22
|
+
"@hypit/validation": "workspace:*"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { createMarkupSurfaceHostFacet } from "@hypit/markup";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
decodeAnchoredFrameSurface,
|
|
5
|
+
decodeAspectFrameSurface,
|
|
6
|
+
decodeCanvasSurface,
|
|
7
|
+
decodeExtentSurface,
|
|
8
|
+
decodeFrameSurface,
|
|
9
|
+
decodePathSurface,
|
|
10
|
+
decodePointSurface,
|
|
11
|
+
decodeRegionTimelineSurface,
|
|
12
|
+
} from "./surface.js";
|
|
13
|
+
import {
|
|
14
|
+
spatialManifest,
|
|
15
|
+
spatialModuleRef,
|
|
16
|
+
spatialMarkupSurfaces,
|
|
17
|
+
} from "./manifest.js";
|
|
18
|
+
import { spatialComponent } from "./component.js";
|
|
19
|
+
|
|
20
|
+
export const hypitPackage = {
|
|
21
|
+
format: "hypit.node-package@1" as const,
|
|
22
|
+
modules: [{ manifest: spatialManifest }],
|
|
23
|
+
components: [spatialComponent],
|
|
24
|
+
hostFacets: [
|
|
25
|
+
createMarkupSurfaceHostFacet({ module: spatialModuleRef,
|
|
26
|
+
declaration: spatialMarkupSurfaces.find((item) => item.name === "canvas")!, handler: decodeCanvasSurface }),
|
|
27
|
+
createMarkupSurfaceHostFacet({ module: spatialModuleRef,
|
|
28
|
+
declaration: spatialMarkupSurfaces.find((item) => item.name === "point")!, handler: decodePointSurface }),
|
|
29
|
+
createMarkupSurfaceHostFacet({ module: spatialModuleRef,
|
|
30
|
+
declaration: spatialMarkupSurfaces.find((item) => item.name === "path")!, handler: decodePathSurface }),
|
|
31
|
+
createMarkupSurfaceHostFacet({ module: spatialModuleRef,
|
|
32
|
+
declaration: spatialMarkupSurfaces.find((item) => item.name === "extent")!, handler: decodeExtentSurface }),
|
|
33
|
+
createMarkupSurfaceHostFacet({ module: spatialModuleRef,
|
|
34
|
+
declaration: spatialMarkupSurfaces.find((item) => item.name === "region-timeline")!, handler: decodeRegionTimelineSurface }),
|
|
35
|
+
createMarkupSurfaceHostFacet({ module: spatialModuleRef,
|
|
36
|
+
declaration: spatialMarkupSurfaces.find((item) => item.name === "frame")!, handler: decodeFrameSurface }),
|
|
37
|
+
createMarkupSurfaceHostFacet({ module: spatialModuleRef,
|
|
38
|
+
declaration: spatialMarkupSurfaces.find((item) => item.name === "anchored-frame")!, handler: decodeAnchoredFrameSurface }),
|
|
39
|
+
createMarkupSurfaceHostFacet({ module: spatialModuleRef,
|
|
40
|
+
declaration: spatialMarkupSurfaces.find((item) => item.name === "aspect-frame")!, handler: decodeAspectFrameSurface }),
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
export default hypitPackage;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { CanonicalValue } from "@hypit/protocol";
|
|
2
|
+
|
|
3
|
+
import { sealContentFit } from "./geometry.js";
|
|
4
|
+
import type { ContentFit } from "./types.js";
|
|
5
|
+
|
|
6
|
+
export const contentFitPropertyNames = [
|
|
7
|
+
"fit", "frame-x", "frame-y", "content-x", "content-y",
|
|
8
|
+
"fit-offset-x", "fit-offset-y", "fit-constraint",
|
|
9
|
+
] as const;
|
|
10
|
+
|
|
11
|
+
function number(
|
|
12
|
+
properties: Readonly<Record<string, CanonicalValue>>,
|
|
13
|
+
name: string,
|
|
14
|
+
fallback: number,
|
|
15
|
+
owner: string,
|
|
16
|
+
): number {
|
|
17
|
+
const value = properties[name];
|
|
18
|
+
if (value === undefined) return fallback;
|
|
19
|
+
if (typeof value !== "number" || !Number.isFinite(value)) throw new Error(`${owner} ${name} must be a finite number.`);
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function oneOf<T extends string>(
|
|
24
|
+
properties: Readonly<Record<string, CanonicalValue>>,
|
|
25
|
+
name: string,
|
|
26
|
+
allowed: readonly T[],
|
|
27
|
+
fallback: T,
|
|
28
|
+
owner: string,
|
|
29
|
+
): T {
|
|
30
|
+
const value = properties[name];
|
|
31
|
+
if (value === undefined) return fallback;
|
|
32
|
+
if (typeof value !== "string" || !allowed.includes(value as T)) {
|
|
33
|
+
throw new Error(`${owner} ${name} must be ${allowed.join(" | ")}.`);
|
|
34
|
+
}
|
|
35
|
+
return value as T;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Decode the shared spatial-fit vocabulary from any author-side property map. */
|
|
39
|
+
export function decodeContentFitProperties(
|
|
40
|
+
properties: Readonly<Record<string, CanonicalValue>>,
|
|
41
|
+
owner = "Content-fit properties",
|
|
42
|
+
): ContentFit {
|
|
43
|
+
return sealContentFit({
|
|
44
|
+
sizing: oneOf(properties, "fit", ["contain", "cover", "fit-width", "fit-height", "native", "scale-down", "stretch"] as const, "contain", owner),
|
|
45
|
+
framePoint: {
|
|
46
|
+
x: number(properties, "frame-x", 0.5, owner),
|
|
47
|
+
y: number(properties, "frame-y", 0.5, owner),
|
|
48
|
+
},
|
|
49
|
+
contentPoint: {
|
|
50
|
+
x: number(properties, "content-x", 0.5, owner),
|
|
51
|
+
y: number(properties, "content-y", 0.5, owner),
|
|
52
|
+
},
|
|
53
|
+
offsetPx: {
|
|
54
|
+
x: number(properties, "fit-offset-x", 0, owner),
|
|
55
|
+
y: number(properties, "fit-offset-y", 0, owner),
|
|
56
|
+
},
|
|
57
|
+
constraint: oneOf(properties, "fit-constraint", ["bounded", "free"] as const, "bounded", owner),
|
|
58
|
+
});
|
|
59
|
+
}
|