@allyhub/sdk 0.1.0-alpha.8 → 0.2.0-next.1
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.md +241 -0
- package/NOTICE +85 -0
- package/client.d.ts +45 -1
- package/dist/anim.js +2 -75
- package/dist/define.d.ts +10 -4
- package/dist/define.js +2 -95
- package/dist/dom.d.ts +1 -1
- package/dist/dom.js +2 -457
- package/dist/fit.js +2 -60
- package/dist/free.d.ts +18 -0
- package/dist/free.js +2 -0
- package/dist/index.d.ts +28 -13
- package/dist/index.js +2 -11
- package/dist/input.d.ts +306 -0
- package/dist/input.js +2 -0
- package/dist/media.d.ts +3 -6
- package/dist/media.js +2 -27
- package/dist/messages.d.ts +3 -2
- package/dist/messages.js +2 -2
- package/dist/module.d.ts +24 -0
- package/dist/module.js +2 -0
- package/dist/noise.js +2 -233
- package/dist/parts.d.ts +98 -22
- package/dist/parts.js +2 -414
- package/dist/paths.d.ts +1 -1
- package/dist/paths.js +2 -720
- package/dist/phone.d.ts +26 -0
- package/dist/phone.js +2 -0
- package/dist/piece.d.ts +106 -35
- package/dist/piece.js +2 -38
- package/dist/props.d.ts +1 -1
- package/dist/props.js +2 -35
- package/dist/scenery.d.ts +2 -0
- package/dist/scenery.js +2 -0
- package/dist/text.js +2 -38
- package/dist/written.d.ts +12 -0
- package/dist/written.js +2 -0
- package/docs/README.md +18 -0
- package/docs/batches.md +148 -0
- package/docs/contract.md +51 -0
- package/docs/defaults.md +703 -0
- package/docs/docs.md +148 -0
- package/docs/footage.md +249 -0
- package/docs/layers.md +317 -0
- package/docs/modeling.md +143 -0
- package/docs/project.md +265 -0
- package/docs/scenery.md +308 -0
- package/docs/sheets.md +119 -0
- package/docs/slides.md +111 -0
- package/docs/sound.md +170 -0
- package/docs/speech.md +289 -0
- package/docs/video.md +265 -0
- package/node_modules/@allyhub-next/audio/LICENSE +241 -0
- package/node_modules/@allyhub-next/audio/dist/at-cut.d.ts +52 -0
- package/node_modules/@allyhub-next/audio/dist/at-cut.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/decode.d.ts +33 -0
- package/node_modules/@allyhub-next/audio/dist/decode.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/envelope.d.ts +37 -0
- package/node_modules/@allyhub-next/audio/dist/envelope.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/index.d.ts +17 -0
- package/node_modules/@allyhub-next/audio/dist/index.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/levels.d.ts +97 -0
- package/node_modules/@allyhub-next/audio/dist/levels.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/master.d.ts +29 -0
- package/node_modules/@allyhub-next/audio/dist/master.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/music.d.ts +11 -0
- package/node_modules/@allyhub-next/audio/dist/music.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/node/decode.d.ts +39 -0
- package/node_modules/@allyhub-next/audio/dist/node/decode.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/node/ebur128.d.ts +25 -0
- package/node_modules/@allyhub-next/audio/dist/node/ebur128.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/node/ffmpeg.d.ts +31 -0
- package/node_modules/@allyhub-next/audio/dist/node/ffmpeg.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/node/index.d.ts +8 -0
- package/node_modules/@allyhub-next/audio/dist/node/index.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/node/loudness.d.ts +18 -0
- package/node_modules/@allyhub-next/audio/dist/node/loudness.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/node/master.d.ts +42 -0
- package/node_modules/@allyhub-next/audio/dist/node/master.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/node/measure.d.ts +60 -0
- package/node_modules/@allyhub-next/audio/dist/node/measure.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/node/mix.d.ts +31 -0
- package/node_modules/@allyhub-next/audio/dist/node/mix.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/plan.d.ts +143 -0
- package/node_modules/@allyhub-next/audio/dist/plan.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recorded.d.ts +26 -0
- package/node_modules/@allyhub-next/audio/dist/recorded.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/bandwidth.d.ts +47 -0
- package/node_modules/@allyhub-next/audio/dist/recording/bandwidth.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/chain.d.ts +89 -0
- package/node_modules/@allyhub-next/audio/dist/recording/chain.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/dynamics.d.ts +64 -0
- package/node_modules/@allyhub-next/audio/dist/recording/dynamics.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/fft.d.ts +26 -0
- package/node_modules/@allyhub-next/audio/dist/recording/fft.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/filters.d.ts +42 -0
- package/node_modules/@allyhub-next/audio/dist/recording/filters.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/fit.d.ts +56 -0
- package/node_modules/@allyhub-next/audio/dist/recording/fit.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/index.d.ts +10 -0
- package/node_modules/@allyhub-next/audio/dist/recording/index.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/loudness.d.ts +12 -0
- package/node_modules/@allyhub-next/audio/dist/recording/loudness.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/measure.d.ts +67 -0
- package/node_modules/@allyhub-next/audio/dist/recording/measure.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/mic.d.ts +32 -0
- package/node_modules/@allyhub-next/audio/dist/recording/mic.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/noise.d.ts +27 -0
- package/node_modules/@allyhub-next/audio/dist/recording/noise.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/presets.d.ts +64 -0
- package/node_modules/@allyhub-next/audio/dist/recording/presets.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/room.d.ts +78 -0
- package/node_modules/@allyhub-next/audio/dist/recording/room.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/setup.d.ts +111 -0
- package/node_modules/@allyhub-next/audio/dist/recording/setup.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/recording/vec.d.ts +3 -0
- package/node_modules/@allyhub-next/audio/dist/recording/vec.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/render.d.ts +26 -0
- package/node_modules/@allyhub-next/audio/dist/render.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/sfx.d.ts +10 -0
- package/node_modules/@allyhub-next/audio/dist/sfx.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/shape.d.ts +118 -0
- package/node_modules/@allyhub-next/audio/dist/shape.js +2 -0
- package/node_modules/@allyhub-next/audio/dist/voice.d.ts +45 -0
- package/node_modules/@allyhub-next/audio/dist/voice.js +2 -0
- package/node_modules/@allyhub-next/audio/package.json +17 -0
- package/node_modules/@allyhub-next/formats/LICENSE +241 -0
- package/node_modules/@allyhub-next/formats/dist/data/comments.d.ts +94 -0
- package/node_modules/@allyhub-next/formats/dist/data/comments.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/config.d.ts +10 -0
- package/node_modules/@allyhub-next/formats/dist/data/config.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/edits.d.ts +28 -0
- package/node_modules/@allyhub-next/formats/dist/data/edits.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/elements.d.ts +6 -0
- package/node_modules/@allyhub-next/formats/dist/data/elements.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/faces.d.ts +38 -0
- package/node_modules/@allyhub-next/formats/dist/data/faces.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/file.d.ts +11 -0
- package/node_modules/@allyhub-next/formats/dist/data/file.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/gen.d.ts +31 -0
- package/node_modules/@allyhub-next/formats/dist/data/gen.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/messages.d.ts +34 -0
- package/node_modules/@allyhub-next/formats/dist/data/messages.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/reference.d.ts +676 -0
- package/node_modules/@allyhub-next/formats/dist/data/reference.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/script.d.ts +37 -0
- package/node_modules/@allyhub-next/formats/dist/data/script.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/sheet.d.ts +214 -0
- package/node_modules/@allyhub-next/formats/dist/data/sheet.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/data/words.d.ts +25 -0
- package/node_modules/@allyhub-next/formats/dist/data/words.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/index.d.ts +16 -0
- package/node_modules/@allyhub-next/formats/dist/index.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/items.d.ts +94 -0
- package/node_modules/@allyhub-next/formats/dist/items.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/layout.d.ts +50 -0
- package/node_modules/@allyhub-next/formats/dist/layout.js +5 -0
- package/node_modules/@allyhub-next/formats/dist/schemas.d.ts +301 -0
- package/node_modules/@allyhub-next/formats/dist/schemas.js +2 -0
- package/node_modules/@allyhub-next/formats/package.json +14 -0
- package/node_modules/@allyhub-next/protocol/LICENSE +241 -0
- package/node_modules/@allyhub-next/protocol/dist/app.d.ts +98 -0
- package/node_modules/@allyhub-next/protocol/dist/app.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/auth.d.ts +116 -0
- package/node_modules/@allyhub-next/protocol/dist/auth.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/cli.d.ts +59 -0
- package/node_modules/@allyhub-next/protocol/dist/cli.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/cloud.d.ts +274 -0
- package/node_modules/@allyhub-next/protocol/dist/cloud.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/editor.d.ts +405 -0
- package/node_modules/@allyhub-next/protocol/dist/editor.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/files.d.ts +101 -0
- package/node_modules/@allyhub-next/protocol/dist/files.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/index.d.ts +12 -0
- package/node_modules/@allyhub-next/protocol/dist/index.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/jsonrpc.d.ts +83 -0
- package/node_modules/@allyhub-next/protocol/dist/jsonrpc.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/registry.d.ts +53 -0
- package/node_modules/@allyhub-next/protocol/dist/registry.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/runtimes.d.ts +93 -0
- package/node_modules/@allyhub-next/protocol/dist/runtimes.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/teams.d.ts +67 -0
- package/node_modules/@allyhub-next/protocol/dist/teams.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/tools.d.ts +345 -0
- package/node_modules/@allyhub-next/protocol/dist/tools.js +2 -0
- package/node_modules/@allyhub-next/protocol/package.json +13 -0
- package/node_modules/@allyhub-next/runtimes/LICENSE +241 -0
- package/node_modules/@allyhub-next/runtimes/dist/bundled.d.ts +10 -0
- package/node_modules/@allyhub-next/runtimes/dist/bundled.js +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/download.d.ts +15 -0
- package/node_modules/@allyhub-next/runtimes/dist/download.js +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/errors.d.ts +16 -0
- package/node_modules/@allyhub-next/runtimes/dist/errors.js +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/home.d.ts +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/home.js +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/index.d.ts +9 -0
- package/node_modules/@allyhub-next/runtimes/dist/index.js +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/lock.d.ts +6 -0
- package/node_modules/@allyhub-next/runtimes/dist/lock.js +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/manifest.d.ts +3 -0
- package/node_modules/@allyhub-next/runtimes/dist/manifest.js +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/runtimes.d.ts +63 -0
- package/node_modules/@allyhub-next/runtimes/dist/runtimes.js +3 -0
- package/node_modules/@allyhub-next/runtimes/dist/unpack.d.ts +7 -0
- package/node_modules/@allyhub-next/runtimes/dist/unpack.js +2 -0
- package/node_modules/@allyhub-next/runtimes/manifest.json +395 -0
- package/node_modules/@allyhub-next/runtimes/package.json +14 -0
- package/node_modules/@allyhub-next/runtimes/schemas/runtimes.schema.json +153 -0
- package/node_modules/@allyhub-next/scenery/LICENSE +241 -0
- package/node_modules/@allyhub-next/scenery/NOTICE +42 -0
- package/node_modules/@allyhub-next/scenery/dist/aim.d.ts +55 -0
- package/node_modules/@allyhub-next/scenery/dist/aim.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/bake.d.ts +203 -0
- package/node_modules/@allyhub-next/scenery/dist/bake.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/camera.d.ts +150 -0
- package/node_modules/@allyhub-next/scenery/dist/camera.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/curve.d.ts +40 -0
- package/node_modules/@allyhub-next/scenery/dist/curve.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/define.d.ts +164 -0
- package/node_modules/@allyhub-next/scenery/dist/define.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/fit.d.ts +64 -0
- package/node_modules/@allyhub-next/scenery/dist/fit.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/glass.d.ts +34 -0
- package/node_modules/@allyhub-next/scenery/dist/glass.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/handheld.d.ts +184 -0
- package/node_modules/@allyhub-next/scenery/dist/handheld.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/hull.d.ts +23 -0
- package/node_modules/@allyhub-next/scenery/dist/hull.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/index.d.ts +22 -0
- package/node_modules/@allyhub-next/scenery/dist/index.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/lens.d.ts +48 -0
- package/node_modules/@allyhub-next/scenery/dist/lens.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/moire.d.ts +136 -0
- package/node_modules/@allyhub-next/scenery/dist/moire.js +93 -0
- package/node_modules/@allyhub-next/scenery/dist/motion.d.ts +48 -0
- package/node_modules/@allyhub-next/scenery/dist/motion.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/move.d.ts +260 -0
- package/node_modules/@allyhub-next/scenery/dist/move.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/noise.d.ts +41 -0
- package/node_modules/@allyhub-next/scenery/dist/noise.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/phone.d.ts +34 -0
- package/node_modules/@allyhub-next/scenery/dist/phone.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/report.d.ts +677 -0
- package/node_modules/@allyhub-next/scenery/dist/report.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/screen-focus.d.ts +55 -0
- package/node_modules/@allyhub-next/scenery/dist/screen-focus.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/screen.d.ts +71 -0
- package/node_modules/@allyhub-next/scenery/dist/screen.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/solve.d.ts +82 -0
- package/node_modules/@allyhub-next/scenery/dist/solve.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/timing.d.ts +26 -0
- package/node_modules/@allyhub-next/scenery/dist/timing.js +2 -0
- package/node_modules/@allyhub-next/scenery/dist/vec.d.ts +19 -0
- package/node_modules/@allyhub-next/scenery/dist/vec.js +2 -0
- package/node_modules/@allyhub-next/scenery/package.json +13 -0
- package/node_modules/@allyhub-next/video-core/LICENSE +241 -0
- package/node_modules/@allyhub-next/video-core/dist/anchors.d.ts +164 -0
- package/node_modules/@allyhub-next/video-core/dist/anchors.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/audio-types.d.ts +148 -0
- package/node_modules/@allyhub-next/video-core/dist/audio-types.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/backdrop.d.ts +87 -0
- package/node_modules/@allyhub-next/video-core/dist/backdrop.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/captions.d.ts +122 -0
- package/node_modules/@allyhub-next/video-core/dist/captions.js +11 -0
- package/node_modules/@allyhub-next/video-core/dist/console.d.ts +91 -0
- package/node_modules/@allyhub-next/video-core/dist/console.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/contrast.d.ts +98 -0
- package/node_modules/@allyhub-next/video-core/dist/contrast.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/cut-report.d.ts +77 -0
- package/node_modules/@allyhub-next/video-core/dist/cut-report.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/edit.d.ts +77 -0
- package/node_modules/@allyhub-next/video-core/dist/edit.js +13 -0
- package/node_modules/@allyhub-next/video-core/dist/edits.d.ts +163 -0
- package/node_modules/@allyhub-next/video-core/dist/edits.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/export.d.ts +96 -0
- package/node_modules/@allyhub-next/video-core/dist/export.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/fact.d.ts +965 -0
- package/node_modules/@allyhub-next/video-core/dist/fact.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/footage-motion.d.ts +168 -0
- package/node_modules/@allyhub-next/video-core/dist/footage-motion.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/formats.d.ts +240 -0
- package/node_modules/@allyhub-next/video-core/dist/formats.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/gen.d.ts +37 -0
- package/node_modules/@allyhub-next/video-core/dist/gen.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/index.d.ts +40 -0
- package/node_modules/@allyhub-next/video-core/dist/index.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/look.d.ts +66 -0
- package/node_modules/@allyhub-next/video-core/dist/look.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/marks.d.ts +34 -0
- package/node_modules/@allyhub-next/video-core/dist/marks.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/matrix.d.ts +289 -0
- package/node_modules/@allyhub-next/video-core/dist/matrix.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/measure.d.ts +465 -0
- package/node_modules/@allyhub-next/video-core/dist/measure.js +5 -0
- package/node_modules/@allyhub-next/video-core/dist/media.d.ts +226 -0
- package/node_modules/@allyhub-next/video-core/dist/media.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/messages.d.ts +88 -0
- package/node_modules/@allyhub-next/video-core/dist/messages.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/motion.d.ts +56 -0
- package/node_modules/@allyhub-next/video-core/dist/motion.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/music.d.ts +110 -0
- package/node_modules/@allyhub-next/video-core/dist/music.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/piece.d.ts +1146 -0
- package/node_modules/@allyhub-next/video-core/dist/piece.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/placement.d.ts +37 -0
- package/node_modules/@allyhub-next/video-core/dist/placement.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/problem.d.ts +262 -0
- package/node_modules/@allyhub-next/video-core/dist/problem.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/render-types.d.ts +49 -0
- package/node_modules/@allyhub-next/video-core/dist/render-types.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/schema.d.ts +352 -0
- package/node_modules/@allyhub-next/video-core/dist/schema.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/script-edit.d.ts +176 -0
- package/node_modules/@allyhub-next/video-core/dist/script-edit.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/script.d.ts +67 -0
- package/node_modules/@allyhub-next/video-core/dist/script.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/seams.d.ts +214 -0
- package/node_modules/@allyhub-next/video-core/dist/seams.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/slides.d.ts +37 -0
- package/node_modules/@allyhub-next/video-core/dist/slides.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/sound-under.d.ts +72 -0
- package/node_modules/@allyhub-next/video-core/dist/sound-under.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/speech.d.ts +83 -0
- package/node_modules/@allyhub-next/video-core/dist/speech.js +5 -0
- package/node_modules/@allyhub-next/video-core/dist/timeline.d.ts +616 -0
- package/node_modules/@allyhub-next/video-core/dist/timeline.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/timing.d.ts +88 -0
- package/node_modules/@allyhub-next/video-core/dist/timing.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/transcript.d.ts +288 -0
- package/node_modules/@allyhub-next/video-core/dist/transcript.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/transition.d.ts +289 -0
- package/node_modules/@allyhub-next/video-core/dist/transition.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/voice.d.ts +175 -0
- package/node_modules/@allyhub-next/video-core/dist/voice.js +2 -0
- package/node_modules/@allyhub-next/video-core/dist/words.d.ts +128 -0
- package/node_modules/@allyhub-next/video-core/dist/words.js +2 -0
- package/node_modules/@allyhub-next/video-core/package.json +14 -0
- package/package.json +52 -41
- package/README.md +0 -17
- package/dist/anim.d.ts.map +0 -1
- package/dist/anim.js.map +0 -1
- package/dist/define.d.ts.map +0 -1
- package/dist/define.js.map +0 -1
- package/dist/dom.d.ts.map +0 -1
- package/dist/dom.js.map +0 -1
- package/dist/fit.d.ts.map +0 -1
- package/dist/fit.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/media.d.ts.map +0 -1
- package/dist/media.js.map +0 -1
- package/dist/messages.d.ts.map +0 -1
- package/dist/messages.js.map +0 -1
- package/dist/noise.d.ts.map +0 -1
- package/dist/noise.js.map +0 -1
- package/dist/parts.d.ts.map +0 -1
- package/dist/parts.js.map +0 -1
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.js.map +0 -1
- package/dist/piece.d.ts.map +0 -1
- package/dist/piece.js.map +0 -1
- package/dist/props.d.ts.map +0 -1
- package/dist/props.js.map +0 -1
- package/dist/text.d.ts.map +0 -1
- package/dist/text.js.map +0 -1
|
@@ -0,0 +1,616 @@
|
|
|
1
|
+
import { type TextAnchor } from "./anchors.js";
|
|
2
|
+
import type { PlatformProfile } from "./formats.js";
|
|
3
|
+
import type { Look } from "./look.js";
|
|
4
|
+
import type { MediaInfo, MediaKind } from "./media.js";
|
|
5
|
+
import type { FixedShape, MasterTargets, MixLevels, ResolvedShape, ResolvedVoice } from "./audio-types.js";
|
|
6
|
+
import type { MessagesFile } from "./messages.js";
|
|
7
|
+
import type { MessageHint, PartDefaults } from "./piece.js";
|
|
8
|
+
import type { Combo, Dims, MatrixRule, MatrixSpace } from "./matrix.js";
|
|
9
|
+
import type { Ease } from "./motion.js";
|
|
10
|
+
import type { PlacedStretch } from "./music.js";
|
|
11
|
+
import type { TimelineTransition } from "./transition.js";
|
|
12
|
+
import type { RoomLevel } from "./voice.js";
|
|
13
|
+
export interface LoadOptions {
|
|
14
|
+
/** The combo: one value per dimension, e.g. { lang: "zh-cn" }. */
|
|
15
|
+
combo: Combo;
|
|
16
|
+
purpose: "play" | "render" | "check";
|
|
17
|
+
/**
|
|
18
|
+
* The most different console messages kept from piece code (see
|
|
19
|
+
* console.ts); default CONSOLE_LIMIT.
|
|
20
|
+
*/
|
|
21
|
+
consoleLimit?: number;
|
|
22
|
+
}
|
|
23
|
+
/** A data file ctx.data(path) can read: parsed, or why it could not be. */
|
|
24
|
+
export interface DataFile {
|
|
25
|
+
sha256: string;
|
|
26
|
+
value?: unknown;
|
|
27
|
+
error?: string;
|
|
28
|
+
}
|
|
29
|
+
/** What the host hands load(): one piece, as the build made it. */
|
|
30
|
+
export interface BuildSource {
|
|
31
|
+
/** The piece's id: seeds and problems use it. */
|
|
32
|
+
piece: string;
|
|
33
|
+
/**
|
|
34
|
+
* The piece's file, relative to the project root: a path its own options
|
|
35
|
+
* name (music, a LUT) and ctx.asset() are relative to it, unless the
|
|
36
|
+
* piece says where it was written (`base`).
|
|
37
|
+
*/
|
|
38
|
+
file: string;
|
|
39
|
+
/** URL of the bundled piece module. */
|
|
40
|
+
module: string;
|
|
41
|
+
/** URLs of stylesheets the bundle imports. */
|
|
42
|
+
styles?: string[];
|
|
43
|
+
/** The piece's dimensions, as the build resolved them (lang filled in). */
|
|
44
|
+
dims: Dims;
|
|
45
|
+
/** Its slots, structures and rules, when it has slots (pools resolved). */
|
|
46
|
+
matrix?: {
|
|
47
|
+
space: MatrixSpace;
|
|
48
|
+
rules: MatrixRule[];
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* The piece's one format, as the build resolved it (the project's
|
|
52
|
+
* default filled in), e.g. "9x16". A piece has one output, its kind's.
|
|
53
|
+
*/
|
|
54
|
+
format: string;
|
|
55
|
+
/** Locales, the default first. */
|
|
56
|
+
locales: string[];
|
|
57
|
+
/** Every message by locale: the messages files' and the items' scripts'. */
|
|
58
|
+
messages: Record<string, MessagesFile>;
|
|
59
|
+
/**
|
|
60
|
+
* locale → key → the anchors a script wrote in that line (@{name}), by
|
|
61
|
+
* their place in the line as spoken.
|
|
62
|
+
*/
|
|
63
|
+
anchors?: Record<string, Record<string, TextAnchor[]>>;
|
|
64
|
+
/** The folder of the shared words (allyhub.config.ts's text); default assets/text. */
|
|
65
|
+
text?: string;
|
|
66
|
+
/** Repo path → media, with a URL valid in this page. */
|
|
67
|
+
media: Record<string, MediaInfo>;
|
|
68
|
+
/** Repo path → data files (CSV, YAML, JSON) that ctx.data(path) reads. */
|
|
69
|
+
data?: Record<string, DataFile>;
|
|
70
|
+
/** Looks by name; the built-in clean is always there. */
|
|
71
|
+
looks?: Record<string, Look>;
|
|
72
|
+
/** The project's part defaults (allyhub.config.ts `defaults.part`). */
|
|
73
|
+
partDefaults?: PartDefaults;
|
|
74
|
+
/**
|
|
75
|
+
* Every piece of the build by id, for a piece that shows another inside
|
|
76
|
+
* it (a scenery's screen): its file, dimensions, format and matrix.
|
|
77
|
+
*/
|
|
78
|
+
pieces?: Record<string, {
|
|
79
|
+
file: string;
|
|
80
|
+
dims: Dims;
|
|
81
|
+
format: string;
|
|
82
|
+
matrix?: {
|
|
83
|
+
space: MatrixSpace;
|
|
84
|
+
rules: MatrixRule[];
|
|
85
|
+
};
|
|
86
|
+
}>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* stage/source.json in a build folder: what a host
|
|
90
|
+
* needs, besides the build's files, to hand load() a BuildSource for any
|
|
91
|
+
* piece of the build. Paths are relative to the build folder; the host
|
|
92
|
+
* adds URLs (media are fetched by sha256).
|
|
93
|
+
*/
|
|
94
|
+
export interface StageSource {
|
|
95
|
+
schema: 1;
|
|
96
|
+
/** The runtime's browser bundle the build was made with. */
|
|
97
|
+
runtime: string;
|
|
98
|
+
/** Locales, the default first. */
|
|
99
|
+
locales: string[];
|
|
100
|
+
pieces: Record<string, {
|
|
101
|
+
file: string;
|
|
102
|
+
module: string;
|
|
103
|
+
styles: string[];
|
|
104
|
+
dims: Dims;
|
|
105
|
+
matrix?: {
|
|
106
|
+
space: MatrixSpace;
|
|
107
|
+
rules: MatrixRule[];
|
|
108
|
+
};
|
|
109
|
+
format: string;
|
|
110
|
+
}>;
|
|
111
|
+
media: Record<string, Omit<MediaInfo, "url">>;
|
|
112
|
+
data: Record<string, DataFile>;
|
|
113
|
+
/** The project's looks (allyhub.config.ts `look`), when it sets one. */
|
|
114
|
+
looks?: Record<string, Look>;
|
|
115
|
+
}
|
|
116
|
+
/** Where a part's speech plays: film seconds, and the take's file and offset. */
|
|
117
|
+
export interface PartSpeech {
|
|
118
|
+
/** Film time the speech starts and ends. */
|
|
119
|
+
start: number;
|
|
120
|
+
end: number;
|
|
121
|
+
/** Repo path of the take (a recording, or a `say` file). */
|
|
122
|
+
file: string;
|
|
123
|
+
/** Seconds into the file at `start`. */
|
|
124
|
+
from: number;
|
|
125
|
+
/**
|
|
126
|
+
* Seconds of the file it plays per second of film, pitch kept (the
|
|
127
|
+
* take's or the say's speed); absent: 1.
|
|
128
|
+
*/
|
|
129
|
+
speed?: number;
|
|
130
|
+
/**
|
|
131
|
+
* A cut take: the stretches of the file it plays, in film order, each
|
|
132
|
+
* from film time `at`; without them the file plays on from `from`.
|
|
133
|
+
*/
|
|
134
|
+
cuts?: SpeechCut[];
|
|
135
|
+
/** The edits file of the take (repo path), when it has one. */
|
|
136
|
+
edits?: string;
|
|
137
|
+
/** The indices of the take's words the part says (first and last), before edits. */
|
|
138
|
+
words?: [first: number, last: number];
|
|
139
|
+
/** The words the part plays, as recognised (a cut take: only those its edits keep). */
|
|
140
|
+
heard?: string;
|
|
141
|
+
/**
|
|
142
|
+
* A `saying` line: the share of its letters found in the take's kept
|
|
143
|
+
* words (0 to 1; in runs of three letters or more), and the take's word
|
|
144
|
+
* the search started from (0 when it was not found after the part before
|
|
145
|
+
* and the whole take was searched).
|
|
146
|
+
*/
|
|
147
|
+
match?: {
|
|
148
|
+
score: number;
|
|
149
|
+
from: number;
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/** From film time `at`, a cut take plays its file from `from` (until the next cut). */
|
|
153
|
+
export interface SpeechCut {
|
|
154
|
+
at: number;
|
|
155
|
+
from: number;
|
|
156
|
+
}
|
|
157
|
+
/** A graphic layer in its plane: the component, and when it shows. */
|
|
158
|
+
export interface PlaneLayer {
|
|
159
|
+
component: string;
|
|
160
|
+
/** Film seconds (end exclusive). The plane is empty where none of its layers shows. */
|
|
161
|
+
start: number;
|
|
162
|
+
end: number;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* One of a part's graphics planes: graphic layers drawn together, back to
|
|
166
|
+
* front, with no footage between them.
|
|
167
|
+
*/
|
|
168
|
+
export interface PartPlane {
|
|
169
|
+
layers: PlaneLayer[];
|
|
170
|
+
/**
|
|
171
|
+
* Its layers have z "behind-person": drawn right over the part's own
|
|
172
|
+
* footage and under its speaker, who is cut out with the person matte
|
|
173
|
+
* and drawn again over this plane.
|
|
174
|
+
*/
|
|
175
|
+
behindPerson?: true;
|
|
176
|
+
/**
|
|
177
|
+
* Its layers have z "overlay": the part's last plane, laid over the
|
|
178
|
+
* finished picture (after the camera's marks, post and the LUT), with
|
|
179
|
+
* no motion blur, one image a frame.
|
|
180
|
+
*/
|
|
181
|
+
overlay?: true;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Whether a graphic layer of a part's plane shows at film time t: the
|
|
185
|
+
* plane there is not empty. Generous by a microsecond either way: drawing
|
|
186
|
+
* an empty moment costs a capture, missing one would lose a frame.
|
|
187
|
+
*/
|
|
188
|
+
export declare function planeAt(part: Part | undefined, plane: number, t: number): boolean;
|
|
189
|
+
/** What a part's stack holds at one place, back to front. */
|
|
190
|
+
export type StackItem = {
|
|
191
|
+
kind: "footage";
|
|
192
|
+
footage: TimelineFootage;
|
|
193
|
+
} | {
|
|
194
|
+
kind: "graphics";
|
|
195
|
+
plane: number;
|
|
196
|
+
layers: PlaneLayer[];
|
|
197
|
+
}
|
|
198
|
+
/** The speaker of a footage layer, cut out and drawn again over the plane behind them. */
|
|
199
|
+
| {
|
|
200
|
+
kind: "person";
|
|
201
|
+
footage: TimelineFootage;
|
|
202
|
+
};
|
|
203
|
+
/**
|
|
204
|
+
* A part's layers as they are stacked, back to front: each footage layer
|
|
205
|
+
* after the planes under it, each plane after the footage under it, and
|
|
206
|
+
* the speaker cut out over a plane behind them.
|
|
207
|
+
*/
|
|
208
|
+
export declare function stackOf(part: Part, footage: readonly TimelineFootage[]): StackItem[];
|
|
209
|
+
export interface Part {
|
|
210
|
+
key: string;
|
|
211
|
+
/** The slot it fills, when the piece has slots. */
|
|
212
|
+
slot?: string;
|
|
213
|
+
/** What its layers are: component names, and "footage". */
|
|
214
|
+
layers: string[];
|
|
215
|
+
start: number;
|
|
216
|
+
end: number;
|
|
217
|
+
/**
|
|
218
|
+
* Its graphics planes, back to front. A part's layers are drawn in the
|
|
219
|
+
* order they are listed, footage and graphics alike: graphic layers
|
|
220
|
+
* with no footage between them are one plane, which the page draws in
|
|
221
|
+
* one picture, and each footage layer says how many planes are under
|
|
222
|
+
* it (`TimelineFootage.over`). Most parts have one plane, over all
|
|
223
|
+
* their footage.
|
|
224
|
+
*/
|
|
225
|
+
planes: PartPlane[];
|
|
226
|
+
/** The part's still moment, absolute. */
|
|
227
|
+
still: number;
|
|
228
|
+
/** A name for people: part({ title }), else its largest text at its still that not every part shows. */
|
|
229
|
+
title?: string;
|
|
230
|
+
/** Voiced parts: where the speech plays. */
|
|
231
|
+
speech?: PartSpeech;
|
|
232
|
+
/** A part that plays a stretch of another video item (take(piece).range): the item, and the stretch on its clock. */
|
|
233
|
+
plays?: {
|
|
234
|
+
video: string;
|
|
235
|
+
from: number;
|
|
236
|
+
to: number;
|
|
237
|
+
};
|
|
238
|
+
/** Its own post chain (part({ post })): run on its picture before the camera's marks and the video's post. */
|
|
239
|
+
post?: {
|
|
240
|
+
filter: string;
|
|
241
|
+
};
|
|
242
|
+
/**
|
|
243
|
+
* Its anchors, where each landed in the film: its own (`part({ anchors
|
|
244
|
+
* })`), then those of the line it says (its script's @{name}). `at` is
|
|
245
|
+
* what "@name" gives, `end` what "@/name" does.
|
|
246
|
+
*/
|
|
247
|
+
anchors?: PartAnchor[];
|
|
248
|
+
tags?: string[];
|
|
249
|
+
/** dB its speech is turned up or down after it is recorded (`part({ speechGainDb })`). */
|
|
250
|
+
speechGainDb?: number;
|
|
251
|
+
}
|
|
252
|
+
/** An anchor of a part's line, in film seconds. */
|
|
253
|
+
export interface PartAnchor {
|
|
254
|
+
name: string;
|
|
255
|
+
at: number;
|
|
256
|
+
end?: number;
|
|
257
|
+
}
|
|
258
|
+
/** A sound effect a part placed (`part({ sounds })`), on the film's clock. */
|
|
259
|
+
export interface Cue {
|
|
260
|
+
/** Film seconds where it hits. */
|
|
261
|
+
t: number;
|
|
262
|
+
/** Its name: a look's sound, a built-in one, or the file's path. */
|
|
263
|
+
sound: string;
|
|
264
|
+
part: string;
|
|
265
|
+
what?: string;
|
|
266
|
+
/** The audio file it plays (repo path); absent: a built-in synthesized sound. */
|
|
267
|
+
file?: string;
|
|
268
|
+
/** Its gain in dB over the mix's sound-effect level. */
|
|
269
|
+
gainDb?: number;
|
|
270
|
+
/** How it is shaped before it is levelled (its sound's `shape`). */
|
|
271
|
+
shape?: FixedShape;
|
|
272
|
+
}
|
|
273
|
+
/** A rectangle in pixels: x, y, width, height. */
|
|
274
|
+
export type PixelRect = [x: number, y: number, w: number, h: number];
|
|
275
|
+
/**
|
|
276
|
+
* A footage layer's background as its `background` option resolved: what
|
|
277
|
+
* is drawn behind the person, and the person's edge, in the frame's pixels.
|
|
278
|
+
*/
|
|
279
|
+
export interface Backdrop {
|
|
280
|
+
/** Blur of the background (or of the image): the Gaussian's standard deviation, in the frame's pixels. */
|
|
281
|
+
blur?: number;
|
|
282
|
+
/** 0–1 towards black. */
|
|
283
|
+
dim?: number;
|
|
284
|
+
/** 0–1 towards gray. */
|
|
285
|
+
desaturate?: number;
|
|
286
|
+
/**
|
|
287
|
+
* A flat colour instead: "#rrggbb" or "#rrggbbaa", or "transparent" (the
|
|
288
|
+
* person over what is under the layer).
|
|
289
|
+
*/
|
|
290
|
+
color?: string;
|
|
291
|
+
/** An image instead (repo path), filling the layer's box (cover). */
|
|
292
|
+
image?: string;
|
|
293
|
+
/** The person's edge: its softness and how far it is pulled in, in the frame's pixels. */
|
|
294
|
+
feather: number;
|
|
295
|
+
shrink: number;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* A footage layer on the film's clock, resolved for the footage plane: the
|
|
299
|
+
* host compiles these into ffmpeg filters (render, stills, check's final
|
|
300
|
+
* look), and the player places a muted <video> by the same numbers.
|
|
301
|
+
*/
|
|
302
|
+
export interface TimelineFootage {
|
|
303
|
+
/** The part that shows it. */
|
|
304
|
+
part: string;
|
|
305
|
+
/** Repo path of the video. */
|
|
306
|
+
file: string;
|
|
307
|
+
/** Film seconds it shows from and until (end exclusive), on the frame grid. */
|
|
308
|
+
start: number;
|
|
309
|
+
end: number;
|
|
310
|
+
/**
|
|
311
|
+
* Video seconds at `start`. Below 0 (a take's own footage whose speech
|
|
312
|
+
* starts within the lead), its first frame holds until the file starts.
|
|
313
|
+
* Past the file's end its last frame holds.
|
|
314
|
+
*/
|
|
315
|
+
from: number;
|
|
316
|
+
/** Video seconds per film second: at film time t it shows from + (t − start) × speed. */
|
|
317
|
+
speed: number;
|
|
318
|
+
/** Its sound's gain, in dB. */
|
|
319
|
+
gainDb: number;
|
|
320
|
+
/** Its sound is mixed in. */
|
|
321
|
+
audio: boolean;
|
|
322
|
+
/** The part's own take: its sound is the part's speech, never mixed twice. */
|
|
323
|
+
take?: boolean;
|
|
324
|
+
fit: "cover" | "contain";
|
|
325
|
+
/** Where it shows, in the frame's pixels (the timeline's width × height): nothing outside it. */
|
|
326
|
+
box: PixelRect;
|
|
327
|
+
/**
|
|
328
|
+
* The part of the source picture it shows, in the source's pixels: the
|
|
329
|
+
* whole picture, or the layer's crop. Absent when the source's size is
|
|
330
|
+
* not known; the picture then fills the box.
|
|
331
|
+
*/
|
|
332
|
+
crop?: PixelRect;
|
|
333
|
+
/**
|
|
334
|
+
* Where that part of the picture is drawn, in the frame's pixels: cover
|
|
335
|
+
* fills the box and overflows it (the box clips it), contain fits inside.
|
|
336
|
+
*/
|
|
337
|
+
picture: PixelRect;
|
|
338
|
+
/**
|
|
339
|
+
* A cut take's own footage: from film time `at` it shows the file from
|
|
340
|
+
* `from` on (speed 1), until the next cut. The first cut is at `start`.
|
|
341
|
+
*/
|
|
342
|
+
cuts?: SpeechCut[];
|
|
343
|
+
/**
|
|
344
|
+
* Reframe: the crop's top-left over time, in source pixels (film
|
|
345
|
+
* seconds, linear between keys); its size stays crop[2] × crop[3], and
|
|
346
|
+
* the picture is the box.
|
|
347
|
+
*/
|
|
348
|
+
pan?: {
|
|
349
|
+
t: number;
|
|
350
|
+
x: number;
|
|
351
|
+
y: number;
|
|
352
|
+
}[];
|
|
353
|
+
/**
|
|
354
|
+
* Punch-ins: the zoom over time (1: none) about a point of the box
|
|
355
|
+
* (fractions), film seconds, eased into each key.
|
|
356
|
+
*/
|
|
357
|
+
zoom?: {
|
|
358
|
+
t: number;
|
|
359
|
+
z: number;
|
|
360
|
+
cx: number;
|
|
361
|
+
cy: number;
|
|
362
|
+
ease?: Ease;
|
|
363
|
+
}[];
|
|
364
|
+
/**
|
|
365
|
+
* Box keyframes: the box over time, in the frame's pixels; what shows in
|
|
366
|
+
* the box at `box` (picture ∩ box) is drawn into the moving box.
|
|
367
|
+
*/
|
|
368
|
+
boxes?: {
|
|
369
|
+
t: number;
|
|
370
|
+
box: PixelRect;
|
|
371
|
+
ease?: Ease;
|
|
372
|
+
}[];
|
|
373
|
+
/**
|
|
374
|
+
* How many of its part's graphics planes are under it (`Part.planes`,
|
|
375
|
+
* back to front): it is drawn over those and under the rest. Absent: 0,
|
|
376
|
+
* under every plane.
|
|
377
|
+
*/
|
|
378
|
+
over?: number;
|
|
379
|
+
/**
|
|
380
|
+
* The speaker is drawn again, cut out with the person matte, over the
|
|
381
|
+
* part's behind-person graphics: the plane right over this layer
|
|
382
|
+
* (`Part.planes[over]`; the part's take, when it has such layers).
|
|
383
|
+
*/
|
|
384
|
+
cutout?: boolean;
|
|
385
|
+
/** Sharpening after it is scaled, 0–1 (the layer's `sharpen`); renders only. */
|
|
386
|
+
sharpen?: number;
|
|
387
|
+
/**
|
|
388
|
+
* Its background treated apart from the person (the layer's
|
|
389
|
+
* `background`), when the file has a person matte: the footage plane
|
|
390
|
+
* draws the background, then the person through the matte.
|
|
391
|
+
*/
|
|
392
|
+
background?: Backdrop;
|
|
393
|
+
/**
|
|
394
|
+
* The picture shows only in the ellipse inscribed in the box (moving
|
|
395
|
+
* with a keyframed box); the rest of the box is see-through.
|
|
396
|
+
*/
|
|
397
|
+
shape?: "circle";
|
|
398
|
+
/**
|
|
399
|
+
* The box's corners are rounded by this many frame pixels (at most half
|
|
400
|
+
* its shorter side; scaling with a keyframed box): what is outside them
|
|
401
|
+
* is see-through.
|
|
402
|
+
*/
|
|
403
|
+
radius?: number;
|
|
404
|
+
/**
|
|
405
|
+
* The id of the face in the file's face track the layer follows (the
|
|
406
|
+
* layer's `speaker`); absent: the track's default speaker.
|
|
407
|
+
*/
|
|
408
|
+
speaker?: number;
|
|
409
|
+
}
|
|
410
|
+
/** A voiced part's speech in the mix. */
|
|
411
|
+
export interface SpeechClip {
|
|
412
|
+
/** Repo path of the take; the bytes are fetched by sha256. */
|
|
413
|
+
file: string;
|
|
414
|
+
/** The part whose speech it is: its recording setup is that part's. */
|
|
415
|
+
part?: string;
|
|
416
|
+
/** Film time it starts. */
|
|
417
|
+
at: number;
|
|
418
|
+
/** Seconds into the file. */
|
|
419
|
+
from: number;
|
|
420
|
+
/** Film seconds it plays. */
|
|
421
|
+
dur: number;
|
|
422
|
+
/**
|
|
423
|
+
* Seconds of the file it plays per second of film, pitch kept (the
|
|
424
|
+
* take's or the say's speed: ffmpeg's atempo in the mix); absent: 1.
|
|
425
|
+
*/
|
|
426
|
+
speed?: number;
|
|
427
|
+
gainDb?: number;
|
|
428
|
+
/** Noise reduction in dB (the take's denoise). */
|
|
429
|
+
denoise?: number;
|
|
430
|
+
/**
|
|
431
|
+
* Seconds its start fades in over and its end fades out over, with an
|
|
432
|
+
* equal-power curve: a cross-fade with the clip it overlaps there (room
|
|
433
|
+
* tone into the take, one loop of room tone into the next). Absent: the
|
|
434
|
+
* mix's own 10 ms fade at every clip edge.
|
|
435
|
+
*/
|
|
436
|
+
fadeIn?: number;
|
|
437
|
+
fadeOut?: number;
|
|
438
|
+
/** A room tone fill: the part and side it fills, and how its level was set. */
|
|
439
|
+
tone?: RoomFill;
|
|
440
|
+
}
|
|
441
|
+
/** A room tone fill of a part's lead or tail, measured. */
|
|
442
|
+
export interface RoomFill extends RoomLevel {
|
|
443
|
+
/** The part's key. */
|
|
444
|
+
part: string;
|
|
445
|
+
/** `lead`: before the part's speech; `tail`: after it. */
|
|
446
|
+
side: "lead" | "tail";
|
|
447
|
+
/** Film time of the join: where the fill meets the take. */
|
|
448
|
+
join: number;
|
|
449
|
+
/** Seconds of its own room the take keeps at the join (before its first word, or after its last). */
|
|
450
|
+
pad: number;
|
|
451
|
+
/** Seconds the fill and the take cross-fade over at the join. */
|
|
452
|
+
fade: number;
|
|
453
|
+
}
|
|
454
|
+
export interface AudioPlan {
|
|
455
|
+
/** One entry per voiced part, in film order. */
|
|
456
|
+
speech?: SpeechClip[];
|
|
457
|
+
/**
|
|
458
|
+
* A take's room tone filling a part's lead or tail where its own silence
|
|
459
|
+
* around the words runs out: mixed like speech, holding no words.
|
|
460
|
+
*/
|
|
461
|
+
room?: SpeechClip[];
|
|
462
|
+
music?: MusicPlan;
|
|
463
|
+
/** The output's mix settings (video({ mix }) over the defaults); absent: the defaults. */
|
|
464
|
+
mix?: MixLevels;
|
|
465
|
+
/** What the sum is mastered to (video({ master }) over the platform's loudness and the defaults). */
|
|
466
|
+
master?: MasterTargets;
|
|
467
|
+
/**
|
|
468
|
+
* How the speech was recorded, resolved over its presets: the video's
|
|
469
|
+
* (`video({ mic })`, a studio's finishing when it says none) and the
|
|
470
|
+
* parts' own; false plays it as it is.
|
|
471
|
+
*/
|
|
472
|
+
mic?: {
|
|
473
|
+
video: ResolvedVoice | false;
|
|
474
|
+
parts?: Record<string, ResolvedVoice | false>;
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
/** The output's music as the timeline plays it. */
|
|
478
|
+
export interface MusicPlan {
|
|
479
|
+
/** Repo path; absent when this combo has none (or it is missing). */
|
|
480
|
+
file?: string;
|
|
481
|
+
/** Seconds into the file at film time 0. */
|
|
482
|
+
from: number;
|
|
483
|
+
/** The file plays again while the video goes on. */
|
|
484
|
+
loop: boolean;
|
|
485
|
+
/**
|
|
486
|
+
* The tempo: given (`bpm`) or measured from the file (`confidence`
|
|
487
|
+
* 0–1 says how steady its beat is); absent when neither is known.
|
|
488
|
+
*/
|
|
489
|
+
tempo?: {
|
|
490
|
+
bpm: number;
|
|
491
|
+
source: "given" | "measured";
|
|
492
|
+
confidence?: number;
|
|
493
|
+
/** Measured: seconds into the file of its first beat (a given bpm counts from 0). */
|
|
494
|
+
beat?: number;
|
|
495
|
+
};
|
|
496
|
+
/** Parts without speech ended on the beat (snap asked, and a tempo known). */
|
|
497
|
+
snapped: boolean;
|
|
498
|
+
/**
|
|
499
|
+
* The stretches of the file played on the film, back to back from film
|
|
500
|
+
* second 0 (`music.play`, then `music.loop`'s stretch again and again),
|
|
501
|
+
* up to the film's end; absent: the file from `from` to its end, or the
|
|
502
|
+
* whole file looped (`loop`). Each seam crosses over `seam` seconds.
|
|
503
|
+
*/
|
|
504
|
+
play?: PlacedStretch[];
|
|
505
|
+
/** Seconds each seam between stretches cross-fades over. */
|
|
506
|
+
seam?: number;
|
|
507
|
+
/** The grid's beats a bar and its downbeat (the file's second of bar 0), when a tempo is known. */
|
|
508
|
+
meter?: number;
|
|
509
|
+
downbeat?: number;
|
|
510
|
+
/**
|
|
511
|
+
* Film seconds the music stops at, its fade out ending there: the bar
|
|
512
|
+
* or beat it ends on (`music.end`); absent: the film's end.
|
|
513
|
+
*/
|
|
514
|
+
until?: number;
|
|
515
|
+
/** Its level over the film, dB over its level, film seconds (`music.gain`). */
|
|
516
|
+
gain?: {
|
|
517
|
+
t: number;
|
|
518
|
+
db: number;
|
|
519
|
+
}[];
|
|
520
|
+
/** How it is shaped, its bands' keys at film seconds (`music.filter`, `eq`, `compress`). */
|
|
521
|
+
shape?: ResolvedShape;
|
|
522
|
+
}
|
|
523
|
+
export interface Timeline {
|
|
524
|
+
fps: number;
|
|
525
|
+
/** The pixels the frame is drawn in. */
|
|
526
|
+
width: number;
|
|
527
|
+
height: number;
|
|
528
|
+
/**
|
|
529
|
+
* A video in a platform profile's format: the profile, with the
|
|
530
|
+
* numbers the piece's formats entry changes (covered edges, length,
|
|
531
|
+
* loudness).
|
|
532
|
+
*/
|
|
533
|
+
profile?: PlatformProfile;
|
|
534
|
+
duration: number;
|
|
535
|
+
/**
|
|
536
|
+
* What the footage plane draws under everything: the look's background
|
|
537
|
+
* as "#rrggbb" (or "#rrggbbaa"), or "transparent" for a transparent video.
|
|
538
|
+
*/
|
|
539
|
+
background: string;
|
|
540
|
+
parts: Part[];
|
|
541
|
+
cues: Cue[];
|
|
542
|
+
/** Footage layers, in film order. */
|
|
543
|
+
footage?: TimelineFootage[];
|
|
544
|
+
/**
|
|
545
|
+
* The transitions parts asked for (`part({ transition })`), in film
|
|
546
|
+
* order: the window of each, and what it does to the two parts'
|
|
547
|
+
* pictures. Absent: every join is a cut.
|
|
548
|
+
*/
|
|
549
|
+
transitions?: TimelineTransition[];
|
|
550
|
+
audio: AudioPlan;
|
|
551
|
+
/**
|
|
552
|
+
* What the media index lacks for this output: videos whose face track
|
|
553
|
+
* (reframe "face", captions that avoid the face, the face check) or
|
|
554
|
+
* person matte (layers behind the person) the output reads and is not
|
|
555
|
+
* there yet. Hosts make them on this computer (check, render and dev do).
|
|
556
|
+
*/
|
|
557
|
+
index?: IndexNeed[];
|
|
558
|
+
}
|
|
559
|
+
/** A video the media index should learn about: its face track, its person matte. */
|
|
560
|
+
export interface IndexNeed {
|
|
561
|
+
file: string;
|
|
562
|
+
faces?: true;
|
|
563
|
+
matte?: true;
|
|
564
|
+
}
|
|
565
|
+
export interface PartText {
|
|
566
|
+
key: string;
|
|
567
|
+
onScreen: string[];
|
|
568
|
+
/** What the part says, as written: the say or saying text, else the take's words. */
|
|
569
|
+
spoken?: string;
|
|
570
|
+
/** What it says as read aloud, when that differs (a message's `speak`). */
|
|
571
|
+
speak?: string;
|
|
572
|
+
/** The message key the spoken text came from (say(s(key)), saying(s(key))). */
|
|
573
|
+
speechKey?: string;
|
|
574
|
+
/** A paged output's speaker notes for this page (`<prefix>.<page>.notes`). */
|
|
575
|
+
notes?: string;
|
|
576
|
+
}
|
|
577
|
+
export interface MessageRead {
|
|
578
|
+
key: string;
|
|
579
|
+
part?: string;
|
|
580
|
+
kind: "text" | "list";
|
|
581
|
+
hint?: MessageHint;
|
|
582
|
+
fallback: boolean;
|
|
583
|
+
}
|
|
584
|
+
export interface Reads {
|
|
585
|
+
messages: MessageRead[];
|
|
586
|
+
media: {
|
|
587
|
+
path: string;
|
|
588
|
+
sha256: string;
|
|
589
|
+
part?: string;
|
|
590
|
+
kind: MediaKind;
|
|
591
|
+
}[];
|
|
592
|
+
/** Data files read with ctx.data (imported data is in the bundle). */
|
|
593
|
+
data: {
|
|
594
|
+
path: string;
|
|
595
|
+
sha256: string;
|
|
596
|
+
}[];
|
|
597
|
+
}
|
|
598
|
+
export interface CoverInfo {
|
|
599
|
+
key: string;
|
|
600
|
+
/** What its layers are: component names, and "footage". */
|
|
601
|
+
layers: string[];
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* A moment of a video by a reference of its own, in film seconds: an
|
|
605
|
+
* anchor of one of its parts ("@click" its start, "@/click" its end,
|
|
606
|
+
* "@click+0.2" shifted), the first part in film order that has it; or a
|
|
607
|
+
* part's key, its start. Throws, naming what there is, for anything else.
|
|
608
|
+
*/
|
|
609
|
+
export declare function momentOf(tl: {
|
|
610
|
+
readonly parts: readonly {
|
|
611
|
+
readonly key: string;
|
|
612
|
+
readonly start: number;
|
|
613
|
+
readonly anchors?: readonly PartAnchor[] | undefined;
|
|
614
|
+
}[];
|
|
615
|
+
}, ref: string): number;
|
|
616
|
+
//# sourceMappingURL=timeline.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
import{parseAnchorRef as f}from"./anchors.js";export function planeAt(t,s,r){return(t?.planes[s]?.layers??[]).some(n=>n.end>n.start&&r>=n.start-1e-6&&r<n.end+1e-6)}export function stackOf(t,s){const r=s.filter(a=>a.part===t.key),n=[];for(let a=0;a<=t.planes.length;a++){for(const o of r)Math.min(o.over??0,t.planes.length)===a&&n.push({kind:"footage",footage:o});const e=t.planes[a];if(e&&(n.push({kind:"graphics",plane:a,layers:e.layers}),!!e.behindPerson))for(const o of r)o.cutout===!0&&(o.over??0)===a&&n.push({kind:"person",footage:o})}return n}export function momentOf(t,s){const r=new Set(t.parts.flatMap(e=>(e.anchors??[]).map(o=>o.name))),n=f(s,r);if(n){for(const e of t.parts){const o=e.anchors?.find(i=>i.name===n.name);if(o){if(n.end&&o.end===void 0)throw new Error(`The anchor "${n.name}" of part ${e.key} is a place, not a stretch: "@/${n.name}" has no end. Use "@${n.name}".`);return(n.end?o.end??o.at:o.at)+n.shift}}throw new Error(`No part of the video has the anchor "${n.name}"; it has ${r.size>0?[...r].map(e=>`@${e}`).join(", "):"no anchors"}.`)}const a=t.parts.find(e=>e.key===s);if(a)return a.start;throw new Error(`"${s}" is not an anchor ("@name") or a part of the video; its parts are ${t.parts.map(e=>e.key).join(", ")}.`)}
|