@omnimedia/omnitool 1.1.0-1 → 1.1.0-100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +556 -72
- package/package.json +20 -15
- package/s/context.ts +0 -7
- package/s/demo/demo.bundle.ts +104 -39
- package/s/demo/demo.css +246 -11
- package/s/demo/routines/export-test.ts +16 -0
- package/s/demo/routines/filmstrip-test.ts +23 -19
- package/s/demo/routines/load-video.ts +2 -3
- package/s/demo/routines/playback-test.ts +61 -0
- package/s/demo/routines/timeline-setup.ts +81 -0
- package/s/demo/routines/transcode-test.ts +21 -5
- package/s/demo/routines/transcriber-test.ts +34 -0
- package/s/demo/routines/transitions-test.ts +43 -0
- package/s/demo/routines/waveform-test.ts +35 -8
- package/s/driver/driver-worker.ts +9 -0
- package/s/driver/driver.test.ts +1 -1
- package/s/driver/driver.ts +52 -43
- package/s/driver/fns/host.ts +7 -6
- package/s/driver/fns/schematic.ts +69 -25
- package/s/driver/fns/work.ts +102 -214
- package/s/driver/parts/compositor.ts +319 -0
- package/s/driver/parts/machina.ts +19 -20
- package/s/driver/utils/find-pixi-filter.ts +24 -0
- package/s/driver/utils/load-decoder-source.ts +3 -4
- package/s/features/bg-remover/bg-remover.ts +26 -0
- package/s/features/bg-remover/default-spec.ts +11 -0
- package/s/features/bg-remover/types.ts +27 -0
- package/s/features/bg-remover/worker.bundle.ts +52 -0
- package/s/features/parts/expose-errors.ts +41 -0
- package/s/features/parts/load-pipe.ts +17 -0
- package/s/features/parts/types.ts +19 -0
- package/s/features/speech/transcribe/default-spec.ts +11 -0
- package/s/features/speech/transcribe/parts/prep-audio.ts +23 -0
- package/s/features/speech/transcribe/parts/transcribe.ts +70 -0
- package/s/features/speech/transcribe/transcriber.ts +46 -0
- package/s/features/speech/transcribe/types.ts +76 -0
- package/s/features/speech/transcribe/worker.bundle.ts +42 -0
- package/s/features/transition/parts/fragment.ts +24 -0
- package/s/features/transition/parts/types.ts +27 -0
- package/s/features/transition/parts/uniforms.ts +29 -0
- package/s/features/transition/parts/vertex.ts +31 -0
- package/s/features/transition/transition.ts +60 -0
- package/s/index.html.ts +103 -20
- package/s/index.ts +1 -0
- package/s/tests.bundle.ts +11 -0
- package/s/tests.html.ts +28 -0
- package/s/timeline/index.ts +17 -1
- package/s/timeline/parts/animations/make.ts +38 -0
- package/s/timeline/parts/animations/presets.ts +138 -0
- package/s/timeline/parts/animations/properties.ts +30 -0
- package/s/timeline/parts/animations/registry.ts +13 -0
- package/s/timeline/parts/animations/types.ts +80 -0
- package/s/timeline/parts/basics.ts +1 -1
- package/s/timeline/parts/captions.ts +91 -0
- package/s/timeline/parts/filmstrip.ts +43 -16
- package/s/timeline/parts/filters.ts +453 -0
- package/s/timeline/parts/item.ts +124 -11
- package/s/timeline/parts/media.ts +43 -1
- package/s/timeline/parts/resource-pool.ts +8 -5
- package/s/timeline/parts/resource.ts +3 -0
- package/s/timeline/parts/transitions.ts +102 -0
- package/s/timeline/parts/waveform/parts/collect.ts +72 -0
- package/s/timeline/parts/waveform/parts/render.ts +45 -0
- package/s/timeline/parts/waveform/parts/types.ts +24 -0
- package/s/timeline/parts/waveform/waveform.ts +161 -0
- package/s/timeline/renderers/export/parts/audio-gain.ts +17 -0
- package/s/timeline/renderers/export/parts/audio-mix.ts +133 -0
- package/s/timeline/renderers/export/parts/cursor.ts +291 -0
- package/s/timeline/renderers/export/parts/produce-audio.ts +64 -0
- package/s/timeline/renderers/export/parts/produce-video.ts +49 -0
- package/s/timeline/renderers/export/parts/resamplers.ts +48 -0
- package/s/timeline/renderers/export/produce.ts +28 -0
- package/s/timeline/renderers/parts/handy.ts +441 -0
- package/s/timeline/renderers/parts/samplers/audio/parts/find.ts +19 -0
- package/s/timeline/renderers/parts/samplers/audio/parts/init.ts +60 -0
- package/s/timeline/renderers/parts/samplers/audio/parts/sink.ts +38 -0
- package/s/timeline/renderers/parts/samplers/audio/parts/types.ts +16 -0
- package/s/timeline/renderers/parts/samplers/audio/sampler.ts +35 -0
- package/s/timeline/renderers/parts/samplers/visual/parts/defaults.ts +23 -0
- package/s/timeline/renderers/parts/samplers/visual/parts/image-sink.ts +51 -0
- package/s/timeline/renderers/parts/samplers/visual/parts/sample.ts +99 -0
- package/s/timeline/renderers/parts/samplers/visual/parts/sequence.ts +97 -0
- package/s/timeline/renderers/parts/samplers/visual/parts/transition.ts +28 -0
- package/s/timeline/renderers/parts/samplers/visual/parts/types.ts +11 -0
- package/s/timeline/renderers/parts/samplers/visual/parts/video-sink.ts +38 -0
- package/s/timeline/renderers/parts/samplers/visual/sampler.ts +31 -0
- package/s/timeline/renderers/parts/schedulers.ts +96 -0
- package/s/timeline/renderers/player/parts/playback.ts +213 -0
- package/s/timeline/renderers/player/player.ts +86 -0
- package/s/timeline/renderers/renderers.test.ts +403 -0
- package/s/timeline/sugar/helpers.ts +239 -0
- package/s/timeline/sugar/o.ts +443 -48
- package/s/timeline/sugar/omni.test.ts +210 -0
- package/s/timeline/sugar/omni.ts +38 -12
- package/s/timeline/types.ts +62 -0
- package/s/timeline/utils/anim.ts +63 -0
- package/s/timeline/utils/checksum.ts +5 -2
- package/s/timeline/utils/datafile.ts +15 -4
- package/s/timeline/utils/dummy-data.ts +3 -3
- package/s/timeline/utils/matrix.ts +54 -0
- package/s/timeline/utils/terps.ts +81 -0
- package/s/units/fps.ts +8 -0
- package/s/units/ms.ts +8 -0
- package/s/units/seconds.ts +8 -0
- package/x/WebGLRenderer-4CHIZDHY.js +2 -0
- package/x/WebGLRenderer-4CHIZDHY.js.map +7 -0
- package/x/WebGPURenderer-O6WXU2QR.js +2 -0
- package/x/WebGPURenderer-O6WXU2QR.js.map +7 -0
- package/x/browserAll-WNIOTNNP.js +2 -0
- package/x/browserAll-WNIOTNNP.js.map +7 -0
- package/x/chunk-23FOBGX6.js +2 -0
- package/x/chunk-23FOBGX6.js.map +7 -0
- package/x/chunk-73XOWA4F.js +393 -0
- package/x/chunk-73XOWA4F.js.map +7 -0
- package/x/chunk-IAWJKNX5.js +42 -0
- package/x/chunk-IAWJKNX5.js.map +7 -0
- package/x/chunk-KCMVLWBS.js +157 -0
- package/x/chunk-KCMVLWBS.js.map +7 -0
- package/x/chunk-MR32SQ27.js +2 -0
- package/x/chunk-MR32SQ27.js.map +7 -0
- package/x/chunk-VCUJJYRJ.js +327 -0
- package/x/chunk-VCUJJYRJ.js.map +7 -0
- package/x/chunk-XNIZ4L5W.js +269 -0
- package/x/chunk-XNIZ4L5W.js.map +7 -0
- package/x/chunk-ZLGNQFUI.js +15 -0
- package/x/chunk-ZLGNQFUI.js.map +7 -0
- package/x/context.d.ts +1 -4
- package/x/context.js +1 -5
- package/x/context.js.map +1 -1
- package/x/demo/WebGLRenderer-RSJAHIG2.js +2 -0
- package/x/demo/WebGLRenderer-RSJAHIG2.js.map +7 -0
- package/x/demo/WebGPURenderer-MGFAJCYY.js +2 -0
- package/x/demo/WebGPURenderer-MGFAJCYY.js.map +7 -0
- package/x/demo/browserAll-PTRBXBRP.js +2 -0
- package/x/demo/browserAll-PTRBXBRP.js.map +7 -0
- package/x/demo/chunk-CUYOGHWU.js +42 -0
- package/x/demo/chunk-CUYOGHWU.js.map +7 -0
- package/x/demo/chunk-DGTDNJ7W.js +2 -0
- package/x/demo/chunk-DGTDNJ7W.js.map +7 -0
- package/x/demo/chunk-FZ5BYF63.js +15 -0
- package/x/demo/chunk-FZ5BYF63.js.map +7 -0
- package/x/demo/chunk-KWN4NNES.js +269 -0
- package/x/demo/chunk-KWN4NNES.js.map +7 -0
- package/x/demo/chunk-OJ3FPXW7.js +157 -0
- package/x/demo/chunk-OJ3FPXW7.js.map +7 -0
- package/x/demo/chunk-PSLUOGTZ.js +393 -0
- package/x/demo/chunk-PSLUOGTZ.js.map +7 -0
- package/x/demo/chunk-VLCVEIFU.js +327 -0
- package/x/demo/chunk-VLCVEIFU.js.map +7 -0
- package/x/demo/chunk-ZWCPT5FR.js +2 -0
- package/x/demo/chunk-ZWCPT5FR.js.map +7 -0
- package/x/demo/demo.bundle.js +94 -36
- package/x/demo/demo.bundle.js.map +1 -1
- package/x/demo/demo.bundle.min.js +7359 -107
- package/x/demo/demo.bundle.min.js.map +4 -4
- package/x/demo/demo.css +246 -11
- package/x/demo/routines/export-test.d.ts +2 -0
- package/x/demo/routines/export-test.js +10 -0
- package/x/demo/routines/export-test.js.map +1 -0
- package/x/demo/routines/filmstrip-test.d.ts +1 -1
- package/x/demo/routines/filmstrip-test.js +21 -18
- package/x/demo/routines/filmstrip-test.js.map +1 -1
- package/x/demo/routines/load-video.d.ts +1 -1
- package/x/demo/routines/load-video.js +1 -2
- package/x/demo/routines/load-video.js.map +1 -1
- package/x/demo/routines/playback-test.d.ts +2 -0
- package/x/demo/routines/playback-test.js +51 -0
- package/x/demo/routines/playback-test.js.map +1 -0
- package/x/demo/routines/timeline-setup.d.ts +6 -0
- package/x/demo/routines/timeline-setup.js +59 -0
- package/x/demo/routines/timeline-setup.js.map +1 -0
- package/x/demo/routines/transcode-test.js +17 -5
- package/x/demo/routines/transcode-test.js.map +1 -1
- package/x/demo/routines/transcriber-test.d.ts +4 -0
- package/x/demo/routines/transcriber-test.js +33 -0
- package/x/demo/routines/transcriber-test.js.map +1 -0
- package/x/demo/routines/transitions-test.d.ts +5 -0
- package/x/demo/routines/transitions-test.js +35 -0
- package/x/demo/routines/transitions-test.js.map +1 -0
- package/x/demo/routines/waveform-test.d.ts +2 -1
- package/x/demo/routines/waveform-test.js +29 -8
- package/x/demo/routines/waveform-test.js.map +1 -1
- package/x/demo/webworkerAll-JENRT6BT.js +2 -0
- package/x/demo/webworkerAll-JENRT6BT.js.map +7 -0
- package/x/driver/driver-worker.d.ts +1 -0
- package/x/driver/driver-worker.js +6 -0
- package/x/driver/driver-worker.js.map +1 -0
- package/x/driver/driver.d.ts +24 -9
- package/x/driver/driver.js +51 -40
- package/x/driver/driver.js.map +1 -1
- package/x/driver/driver.test.js +1 -1
- package/x/driver/driver.test.js.map +1 -1
- package/x/driver/driver.worker.bundle.min.js +137 -1137
- package/x/driver/driver.worker.bundle.min.js.map +4 -4
- package/x/driver/fns/host.d.ts +12 -4
- package/x/driver/fns/host.js +3 -3
- package/x/driver/fns/host.js.map +1 -1
- package/x/driver/fns/schematic.d.ts +65 -25
- package/x/driver/fns/work.d.ts +14 -7
- package/x/driver/fns/work.js +83 -174
- package/x/driver/fns/work.js.map +1 -1
- package/x/driver/parts/compositor.d.ts +39 -0
- package/x/driver/parts/compositor.js +264 -0
- package/x/driver/parts/compositor.js.map +1 -0
- package/x/driver/parts/machina.d.ts +0 -20
- package/x/driver/parts/machina.js +6 -10
- package/x/driver/parts/machina.js.map +1 -1
- package/x/driver/utils/find-pixi-filter.d.ts +5 -0
- package/x/driver/utils/find-pixi-filter.js +13 -0
- package/x/driver/utils/find-pixi-filter.js.map +1 -0
- package/x/driver/utils/load-decoder-source.d.ts +2 -1
- package/x/driver/utils/load-decoder-source.js +2 -3
- package/x/driver/utils/load-decoder-source.js.map +1 -1
- package/x/features/bg-remover/bg-remover.d.ts +5 -0
- package/x/features/bg-remover/bg-remover.js +18 -0
- package/x/features/bg-remover/bg-remover.js.map +1 -0
- package/x/features/bg-remover/default-spec.d.ts +2 -0
- package/x/features/bg-remover/default-spec.js +6 -0
- package/x/features/bg-remover/default-spec.js.map +1 -0
- package/x/features/bg-remover/types.d.ts +20 -0
- package/x/features/bg-remover/types.js +2 -0
- package/x/features/bg-remover/types.js.map +1 -0
- package/x/features/bg-remover/worker.bundle.js +39 -0
- package/x/features/bg-remover/worker.bundle.js.map +1 -0
- package/x/features/bg-remover/worker.bundle.min.js +2916 -0
- package/x/features/bg-remover/worker.bundle.min.js.map +7 -0
- package/x/features/parts/expose-errors.d.ts +3 -0
- package/x/features/parts/expose-errors.js +32 -0
- package/x/features/parts/expose-errors.js.map +1 -0
- package/x/features/parts/load-pipe.d.ts +2 -0
- package/x/features/parts/load-pipe.js +13 -0
- package/x/features/parts/load-pipe.js.map +1 -0
- package/x/features/parts/types.d.ts +15 -0
- package/x/features/parts/types.js +2 -0
- package/x/features/parts/types.js.map +1 -0
- package/x/features/speech/transcribe/default-spec.d.ts +2 -0
- package/x/features/speech/transcribe/default-spec.js +8 -0
- package/x/features/speech/transcribe/default-spec.js.map +1 -0
- package/x/features/speech/transcribe/parts/prep-audio.d.ts +5 -0
- package/x/features/speech/transcribe/parts/prep-audio.js +21 -0
- package/x/features/speech/transcribe/parts/prep-audio.js.map +1 -0
- package/x/features/speech/transcribe/parts/transcribe.d.ts +5 -0
- package/x/features/speech/transcribe/parts/transcribe.js +56 -0
- package/x/features/speech/transcribe/parts/transcribe.js.map +1 -0
- package/x/features/speech/transcribe/transcriber.d.ts +5 -0
- package/x/features/speech/transcribe/transcriber.js +33 -0
- package/x/features/speech/transcribe/transcriber.js.map +1 -0
- package/x/features/speech/transcribe/types.d.ts +59 -0
- package/x/features/speech/transcribe/types.js +2 -0
- package/x/features/speech/transcribe/types.js.map +1 -0
- package/x/features/speech/transcribe/worker.bundle.js +35 -0
- package/x/features/speech/transcribe/worker.bundle.js.map +1 -0
- package/x/features/speech/transcribe/worker.bundle.min.js +2916 -0
- package/x/features/speech/transcribe/worker.bundle.min.js.map +7 -0
- package/x/features/transition/parts/fragment.d.ts +1 -0
- package/x/features/transition/parts/fragment.js +25 -0
- package/x/features/transition/parts/fragment.js.map +1 -0
- package/x/features/transition/parts/types.d.ts +23 -0
- package/x/features/transition/parts/types.js +2 -0
- package/x/features/transition/parts/types.js.map +1 -0
- package/x/features/transition/parts/uniforms.d.ts +31 -0
- package/x/features/transition/parts/uniforms.js +27 -0
- package/x/features/transition/parts/uniforms.js.map +1 -0
- package/x/features/transition/parts/vertex.d.ts +1 -0
- package/x/features/transition/parts/vertex.js +32 -0
- package/x/features/transition/parts/vertex.js.map +1 -0
- package/x/features/transition/transition.d.ts +5 -0
- package/x/features/transition/transition.js +50 -0
- package/x/features/transition/transition.js.map +1 -0
- package/x/index.d.ts +1 -0
- package/x/index.html +349 -30
- package/x/index.html.js +103 -19
- package/x/index.html.js.map +1 -1
- package/x/index.js +1 -0
- package/x/index.js.map +1 -1
- package/x/tests.bundle.d.ts +1 -0
- package/x/tests.bundle.js +8 -0
- package/x/tests.bundle.js.map +1 -0
- package/x/tests.bundle.min.js +7374 -0
- package/x/tests.bundle.min.js.map +7 -0
- package/x/tests.html +316 -0
- package/x/tests.html.d.ts +2 -0
- package/x/tests.html.js +22 -0
- package/x/tests.html.js.map +1 -0
- package/x/timeline/index.d.ts +16 -0
- package/x/timeline/index.js +16 -0
- package/x/timeline/index.js.map +1 -1
- package/x/timeline/parts/animations/make.d.ts +3 -0
- package/x/timeline/parts/animations/make.js +29 -0
- package/x/timeline/parts/animations/make.js.map +1 -0
- package/x/timeline/parts/animations/presets.d.ts +170 -0
- package/x/timeline/parts/animations/presets.js +135 -0
- package/x/timeline/parts/animations/presets.js.map +1 -0
- package/x/timeline/parts/animations/properties.d.ts +84 -0
- package/x/timeline/parts/animations/properties.js +25 -0
- package/x/timeline/parts/animations/properties.js.map +1 -0
- package/x/timeline/parts/animations/registry.d.ts +218 -0
- package/x/timeline/parts/animations/registry.js +11 -0
- package/x/timeline/parts/animations/registry.js.map +1 -0
- package/x/timeline/parts/animations/types.d.ts +60 -0
- package/x/timeline/parts/animations/types.js +2 -0
- package/x/timeline/parts/animations/types.js.map +1 -0
- package/x/timeline/parts/basics.d.ts +1 -1
- package/x/timeline/parts/captions.d.ts +41 -0
- package/x/timeline/parts/captions.js +55 -0
- package/x/timeline/parts/captions.js.map +1 -0
- package/x/timeline/parts/filmstrip.d.ts +4 -3
- package/x/timeline/parts/filmstrip.js +29 -10
- package/x/timeline/parts/filmstrip.js.map +1 -1
- package/x/timeline/parts/filters.d.ts +108 -0
- package/x/timeline/parts/filters.js +340 -0
- package/x/timeline/parts/filters.js.map +1 -0
- package/x/timeline/parts/item.d.ts +106 -12
- package/x/timeline/parts/item.js +11 -7
- package/x/timeline/parts/item.js.map +1 -1
- package/x/timeline/parts/media.d.ts +6 -0
- package/x/timeline/parts/media.js +35 -1
- package/x/timeline/parts/media.js.map +1 -1
- package/x/timeline/parts/resource-pool.d.ts +3 -0
- package/x/timeline/parts/resource-pool.js +7 -4
- package/x/timeline/parts/resource-pool.js.map +1 -1
- package/x/timeline/parts/resource.d.ts +3 -0
- package/x/timeline/parts/transitions.d.ts +15 -0
- package/x/timeline/parts/transitions.js +81 -0
- package/x/timeline/parts/transitions.js.map +1 -0
- package/x/timeline/parts/waveform/parts/collect.d.ts +11 -0
- package/x/timeline/parts/waveform/parts/collect.js +56 -0
- package/x/timeline/parts/waveform/parts/collect.js.map +1 -0
- package/x/timeline/parts/waveform/parts/render.d.ts +5 -0
- package/x/timeline/parts/waveform/parts/render.js +29 -0
- package/x/timeline/parts/waveform/parts/render.js.map +1 -0
- package/x/timeline/parts/waveform/parts/types.d.ts +21 -0
- package/x/timeline/parts/waveform/parts/types.js +2 -0
- package/x/timeline/parts/waveform/parts/types.js.map +1 -0
- package/x/timeline/parts/waveform/waveform.d.ts +19 -0
- package/x/timeline/parts/waveform/waveform.js +133 -0
- package/x/timeline/parts/waveform/waveform.js.map +1 -0
- package/x/timeline/renderers/export/parts/audio-gain.d.ts +1 -0
- package/x/timeline/renderers/export/parts/audio-gain.js +13 -0
- package/x/timeline/renderers/export/parts/audio-gain.js.map +1 -0
- package/x/timeline/renderers/export/parts/audio-mix.d.ts +21 -0
- package/x/timeline/renderers/export/parts/audio-mix.js +89 -0
- package/x/timeline/renderers/export/parts/audio-mix.js.map +1 -0
- package/x/timeline/renderers/export/parts/cursor.d.ts +35 -0
- package/x/timeline/renderers/export/parts/cursor.js +236 -0
- package/x/timeline/renderers/export/parts/cursor.js.map +1 -0
- package/x/timeline/renderers/export/parts/produce-audio.d.ts +6 -0
- package/x/timeline/renderers/export/parts/produce-audio.js +41 -0
- package/x/timeline/renderers/export/parts/produce-audio.js.map +1 -0
- package/x/timeline/renderers/export/parts/produce-video.d.ts +10 -0
- package/x/timeline/renderers/export/parts/produce-video.js +26 -0
- package/x/timeline/renderers/export/parts/produce-video.js.map +1 -0
- package/x/timeline/renderers/export/parts/resamplers.d.ts +12 -0
- package/x/timeline/renderers/export/parts/resamplers.js +29 -0
- package/x/timeline/renderers/export/parts/resamplers.js.map +1 -0
- package/x/timeline/renderers/export/produce.d.ts +13 -0
- package/x/timeline/renderers/export/produce.js +15 -0
- package/x/timeline/renderers/export/produce.js.map +1 -0
- package/x/timeline/renderers/parts/handy.d.ts +38 -0
- package/x/timeline/renderers/parts/handy.js +263 -0
- package/x/timeline/renderers/parts/handy.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/find.d.ts +6 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/find.js +15 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/find.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/init.d.ts +5 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/init.js +40 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/init.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/sink.d.ts +8 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/sink.js +24 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/sink.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/types.d.ts +14 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/types.js +2 -0
- package/x/timeline/renderers/parts/samplers/audio/parts/types.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/audio/sampler.d.ts +11 -0
- package/x/timeline/renderers/parts/samplers/audio/sampler.js +22 -0
- package/x/timeline/renderers/parts/samplers/audio/sampler.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/defaults.d.ts +8 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/defaults.js +14 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/defaults.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/image-sink.d.ts +11 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/image-sink.js +36 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/image-sink.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/sample.d.ts +9 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/sample.js +70 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/sample.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/sequence.d.ts +6 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/sequence.js +63 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/sequence.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/transition.d.ts +3 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/transition.js +18 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/transition.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/types.d.ts +9 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/types.js +2 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/types.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/video-sink.d.ts +8 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/video-sink.js +24 -0
- package/x/timeline/renderers/parts/samplers/visual/parts/video-sink.js.map +1 -0
- package/x/timeline/renderers/parts/samplers/visual/sampler.d.ts +7 -0
- package/x/timeline/renderers/parts/samplers/visual/sampler.js +20 -0
- package/x/timeline/renderers/parts/samplers/visual/sampler.js.map +1 -0
- package/x/timeline/renderers/parts/schedulers.d.ts +17 -0
- package/x/timeline/renderers/parts/schedulers.js +64 -0
- package/x/timeline/renderers/parts/schedulers.js.map +1 -0
- package/x/timeline/renderers/player/parts/playback.d.ts +39 -0
- package/x/timeline/renderers/player/parts/playback.js +160 -0
- package/x/timeline/renderers/player/parts/playback.js.map +1 -0
- package/x/timeline/renderers/player/player.d.ts +27 -0
- package/x/timeline/renderers/player/player.js +64 -0
- package/x/timeline/renderers/player/player.js.map +1 -0
- package/x/timeline/renderers/renderers.test.d.ts +33 -0
- package/x/timeline/renderers/renderers.test.js +321 -0
- package/x/timeline/renderers/renderers.test.js.map +1 -0
- package/x/timeline/sugar/helpers.d.ts +72 -0
- package/x/timeline/sugar/helpers.js +122 -0
- package/x/timeline/sugar/helpers.js.map +1 -0
- package/x/timeline/sugar/o.d.ts +59 -8
- package/x/timeline/sugar/o.js +326 -40
- package/x/timeline/sugar/o.js.map +1 -1
- package/x/timeline/sugar/omni.d.ts +11 -2
- package/x/timeline/sugar/omni.js +30 -9
- package/x/timeline/sugar/omni.js.map +1 -1
- package/x/timeline/sugar/omni.test.d.ts +27 -0
- package/x/timeline/sugar/omni.test.js +128 -0
- package/x/timeline/sugar/omni.test.js.map +1 -0
- package/x/timeline/types.d.ts +37 -0
- package/x/timeline/types.js +2 -0
- package/x/timeline/types.js.map +1 -0
- package/x/timeline/utils/anim.d.ts +3 -0
- package/x/timeline/utils/anim.js +40 -0
- package/x/timeline/utils/anim.js.map +1 -0
- package/x/timeline/utils/checksum.d.ts +3 -2
- package/x/timeline/utils/checksum.js +2 -1
- package/x/timeline/utils/checksum.js.map +1 -1
- package/x/timeline/utils/datafile.d.ts +5 -3
- package/x/timeline/utils/datafile.js +18 -5
- package/x/timeline/utils/datafile.js.map +1 -1
- package/x/timeline/utils/dummy-data.d.ts +1 -2
- package/x/timeline/utils/dummy-data.js +4 -2
- package/x/timeline/utils/dummy-data.js.map +1 -1
- package/x/timeline/utils/matrix.d.ts +17 -0
- package/x/timeline/utils/matrix.js +36 -0
- package/x/timeline/utils/matrix.js.map +1 -0
- package/x/timeline/utils/terps.d.ts +11 -0
- package/x/timeline/utils/terps.js +57 -0
- package/x/timeline/utils/terps.js.map +1 -0
- package/x/units/fps.d.ts +6 -0
- package/x/units/fps.js +2 -0
- package/x/units/fps.js.map +1 -0
- package/x/units/ms.d.ts +6 -0
- package/x/units/ms.js +2 -0
- package/x/units/ms.js.map +1 -0
- package/x/units/seconds.d.ts +6 -0
- package/x/units/seconds.js +2 -0
- package/x/units/seconds.js.map +1 -0
- package/x/webworkerAll-RLCTMSDD.js +2 -0
- package/x/webworkerAll-RLCTMSDD.js.map +7 -0
- package/s/tests.test.ts +0 -8
- package/s/timeline/parts/waveform.ts +0 -62
- package/s/timeline/sugar/omni-test.ts +0 -38
- package/x/tests.test.js +0 -6
- package/x/tests.test.js.map +0 -1
- package/x/timeline/parts/waveform.d.ts +0 -8
- package/x/timeline/parts/waveform.js +0 -51
- package/x/timeline/parts/waveform.js.map +0 -1
- package/x/timeline/sugar/omni-test.js +0 -22
- package/x/timeline/sugar/omni-test.js.map +0 -1
- /package/x/{tests.test.d.ts → features/bg-remover/worker.bundle.d.ts} +0 -0
- /package/x/{timeline/sugar/omni-test.d.ts → features/speech/transcribe/worker.bundle.d.ts} +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
class TerpKeys {
|
|
2
|
+
keys;
|
|
3
|
+
index;
|
|
4
|
+
constructor(keys, index) {
|
|
5
|
+
this.keys = keys;
|
|
6
|
+
this.index = index;
|
|
7
|
+
}
|
|
8
|
+
near(offset) {
|
|
9
|
+
const next = this.keys[Math.max(0, Math.min(this.keys.length - 1, this.index + offset))];
|
|
10
|
+
return next[1];
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const asTerp = (fn) => fn;
|
|
14
|
+
const fromEasingFn = (easing) => asTerp((x, keys) => easing(x, keys.near(0), keys.near(1)));
|
|
15
|
+
const lerp = (x, a, b) => a + (b - a) * x;
|
|
16
|
+
export const terps = {
|
|
17
|
+
linear: fromEasingFn(lerp),
|
|
18
|
+
ease: fromEasingFn((x, a, b) => {
|
|
19
|
+
const eased = x < 0.5
|
|
20
|
+
? 4 * x * x * x
|
|
21
|
+
: 1 - Math.pow(-2 * x + 2, 3) / 2;
|
|
22
|
+
return lerp(eased, a, b);
|
|
23
|
+
}),
|
|
24
|
+
easeIn: fromEasingFn((x, a, b) => lerp(x * x * x, a, b)),
|
|
25
|
+
easeOut: fromEasingFn((x, a, b) => lerp(1 - Math.pow(1 - x, 3), a, b)),
|
|
26
|
+
bounce: fromEasingFn((x, a, b) => {
|
|
27
|
+
const n1 = 7.5625;
|
|
28
|
+
const d1 = 2.75;
|
|
29
|
+
const eased = x < 1 / d1
|
|
30
|
+
? n1 * x * x
|
|
31
|
+
: x < 2 / d1
|
|
32
|
+
? n1 * (x - 1.5 / d1) ** 2 + 0.75
|
|
33
|
+
: x < 2.5 / d1
|
|
34
|
+
? n1 * (x - 2.25 / d1) ** 2 + 0.9375
|
|
35
|
+
: n1 * (x - 2.625 / d1) ** 2 + 0.984375;
|
|
36
|
+
return lerp(eased, a, b);
|
|
37
|
+
}),
|
|
38
|
+
catmullRom: asTerp((x, keys) => {
|
|
39
|
+
const p1 = keys.near(-1);
|
|
40
|
+
const p2 = keys.near(0);
|
|
41
|
+
const p3 = keys.near(1);
|
|
42
|
+
const p4 = keys.near(2);
|
|
43
|
+
const x2 = x * x;
|
|
44
|
+
const x3 = x2 * x;
|
|
45
|
+
return 0.5 * ((2 * p2) +
|
|
46
|
+
(-p1 + p3) * x +
|
|
47
|
+
(2 * p1 - 5 * p2 + 4 * p3 - p4) * x2 +
|
|
48
|
+
(-p1 + 3 * p2 - 3 * p3 + p4) * x3);
|
|
49
|
+
}),
|
|
50
|
+
};
|
|
51
|
+
export const resolveTerp = (terp, x, keys, index) => {
|
|
52
|
+
const fn = terps[terp];
|
|
53
|
+
if (!fn)
|
|
54
|
+
throw new Error(`unknown terp "${terp}"`);
|
|
55
|
+
return fn(x, new TerpKeys(keys, index));
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=terps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terps.js","sourceRoot":"","sources":["../../../s/timeline/utils/terps.ts"],"names":[],"mappings":"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"}
|
package/x/units/fps.d.ts
ADDED
package/x/units/fps.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fps.js","sourceRoot":"","sources":["../../s/units/fps.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAO,EAAE,CACzC,KAAY,CAAA"}
|
package/x/units/ms.d.ts
ADDED
package/x/units/ms.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ms.js","sourceRoot":"","sources":["../../s/units/ms.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAa,EAAM,EAAE,CACvC,KAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seconds.js","sourceRoot":"","sources":["../../s/units/seconds.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAW,EAAE,CACjD,KAAgB,CAAA"}
|
package/s/tests.test.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import WaveSurfer from "wavesurfer.js"
|
|
2
|
-
|
|
3
|
-
import {context} from "../../context.js"
|
|
4
|
-
import {DecoderSource} from "../../driver/fns/schematic.js"
|
|
5
|
-
|
|
6
|
-
export class Waveform {
|
|
7
|
-
wavesurfer: WaveSurfer
|
|
8
|
-
|
|
9
|
-
constructor(peaks: number[], container: HTMLElement, duration: number) {
|
|
10
|
-
this.wavesurfer = WaveSurfer.create({
|
|
11
|
-
container,
|
|
12
|
-
waveColor: 'rgb(200, 0, 200)',
|
|
13
|
-
progressColor: 'rgb(100, 0, 100)',
|
|
14
|
-
barWidth: 10,
|
|
15
|
-
barRadius: 10,
|
|
16
|
-
barGap: 2,
|
|
17
|
-
peaks: [peaks],
|
|
18
|
-
duration
|
|
19
|
-
})
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
static async init(source: DecoderSource, container: HTMLElement) {
|
|
23
|
-
const driver = await context.driver
|
|
24
|
-
const reader = driver.decode({ source }).audio.getReader()
|
|
25
|
-
|
|
26
|
-
const peaks: number[] = []
|
|
27
|
-
let buffer: number[] = []
|
|
28
|
-
const samplesPerPeak = 1024
|
|
29
|
-
const duration = await driver.getAudioDuration(source)
|
|
30
|
-
|
|
31
|
-
while (true) {
|
|
32
|
-
const {done, value: audioData} = await reader.read()
|
|
33
|
-
if (done) break
|
|
34
|
-
|
|
35
|
-
const frames = audioData.numberOfFrames
|
|
36
|
-
const plane = new Float32Array(frames)
|
|
37
|
-
audioData.copyTo(plane, {planeIndex: 0}) // Use left channel only
|
|
38
|
-
|
|
39
|
-
for (let i = 0; i < plane.length; i++) {
|
|
40
|
-
buffer.push(plane[i])
|
|
41
|
-
if (buffer.length >= samplesPerPeak) {
|
|
42
|
-
const chunk = buffer.splice(0, samplesPerPeak)
|
|
43
|
-
const min = Math.min(...chunk)
|
|
44
|
-
const max = Math.max(...chunk)
|
|
45
|
-
peaks.push(min, max)
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
audioData.close()
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return new Waveform(peaks, container, duration ?? 0)
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// set zoom(value: number) {
|
|
56
|
-
// this.wavesurfer.zoom(value)
|
|
57
|
-
// }
|
|
58
|
-
|
|
59
|
-
set width(value: number) {
|
|
60
|
-
this.wavesurfer.setOptions({width: value})
|
|
61
|
-
}
|
|
62
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import {Omni} from "./omni.js"
|
|
3
|
-
import {dummyData} from "../utils/dummy-data.js"
|
|
4
|
-
|
|
5
|
-
//
|
|
6
|
-
// create an omni context
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
const omni = new Omni()
|
|
10
|
-
|
|
11
|
-
//
|
|
12
|
-
// load in some media resources
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
const {mediaA, mediaB} = await omni.load({
|
|
16
|
-
mediaA: dummyData(),
|
|
17
|
-
mediaB: dummyData(),
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
//
|
|
21
|
-
// create a timeline
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
const timeline = omni.timeline(o => o.sequence(
|
|
25
|
-
o.clip(mediaA),
|
|
26
|
-
o.transition.crossfade(600),
|
|
27
|
-
o.stack(
|
|
28
|
-
o.clip(mediaB),
|
|
29
|
-
o.text("hello world"),
|
|
30
|
-
),
|
|
31
|
-
))
|
|
32
|
-
|
|
33
|
-
//
|
|
34
|
-
// log the timeline
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
console.log(JSON.stringify(timeline, undefined, " "))
|
|
38
|
-
|
package/x/tests.test.js
DELETED
package/x/tests.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tests.test.js","sourceRoot":"","sources":["../s/tests.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,MAAM,MAAM,yBAAyB,CAAA;AAE5C,MAAM,OAAO,CAAC,GAAG,CAAC;IACjB,MAAM;CACN,CAAC,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import WaveSurfer from "wavesurfer.js";
|
|
2
|
-
import { DecoderSource } from "../../driver/fns/schematic.js";
|
|
3
|
-
export declare class Waveform {
|
|
4
|
-
wavesurfer: WaveSurfer;
|
|
5
|
-
constructor(peaks: number[], container: HTMLElement, duration: number);
|
|
6
|
-
static init(source: DecoderSource, container: HTMLElement): Promise<Waveform>;
|
|
7
|
-
set width(value: number);
|
|
8
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import WaveSurfer from "wavesurfer.js";
|
|
2
|
-
import { context } from "../../context.js";
|
|
3
|
-
export class Waveform {
|
|
4
|
-
wavesurfer;
|
|
5
|
-
constructor(peaks, container, duration) {
|
|
6
|
-
this.wavesurfer = WaveSurfer.create({
|
|
7
|
-
container,
|
|
8
|
-
waveColor: 'rgb(200, 0, 200)',
|
|
9
|
-
progressColor: 'rgb(100, 0, 100)',
|
|
10
|
-
barWidth: 10,
|
|
11
|
-
barRadius: 10,
|
|
12
|
-
barGap: 2,
|
|
13
|
-
peaks: [peaks],
|
|
14
|
-
duration
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
static async init(source, container) {
|
|
18
|
-
const driver = await context.driver;
|
|
19
|
-
const reader = driver.decode({ source }).audio.getReader();
|
|
20
|
-
const peaks = [];
|
|
21
|
-
let buffer = [];
|
|
22
|
-
const samplesPerPeak = 1024;
|
|
23
|
-
const duration = await driver.getAudioDuration(source);
|
|
24
|
-
while (true) {
|
|
25
|
-
const { done, value: audioData } = await reader.read();
|
|
26
|
-
if (done)
|
|
27
|
-
break;
|
|
28
|
-
const frames = audioData.numberOfFrames;
|
|
29
|
-
const plane = new Float32Array(frames);
|
|
30
|
-
audioData.copyTo(plane, { planeIndex: 0 }); // Use left channel only
|
|
31
|
-
for (let i = 0; i < plane.length; i++) {
|
|
32
|
-
buffer.push(plane[i]);
|
|
33
|
-
if (buffer.length >= samplesPerPeak) {
|
|
34
|
-
const chunk = buffer.splice(0, samplesPerPeak);
|
|
35
|
-
const min = Math.min(...chunk);
|
|
36
|
-
const max = Math.max(...chunk);
|
|
37
|
-
peaks.push(min, max);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
audioData.close();
|
|
41
|
-
}
|
|
42
|
-
return new Waveform(peaks, container, duration ?? 0);
|
|
43
|
-
}
|
|
44
|
-
// set zoom(value: number) {
|
|
45
|
-
// this.wavesurfer.zoom(value)
|
|
46
|
-
// }
|
|
47
|
-
set width(value) {
|
|
48
|
-
this.wavesurfer.setOptions({ width: value });
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=waveform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"waveform.js","sourceRoot":"","sources":["../../../s/timeline/parts/waveform.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAGxC,MAAM,OAAO,QAAQ;IACpB,UAAU,CAAY;IAEtB,YAAY,KAAe,EAAE,SAAsB,EAAE,QAAgB;QACpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YAClC,SAAS;YACT,SAAS,EAAE,kBAAkB;YAC7B,aAAa,EAAE,kBAAkB;YACjC,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC,KAAK,CAAC;YACd,QAAQ;SACT,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAqB,EAAE,SAAsB;QAC9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAA;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAA;QAE1D,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,MAAM,GAAa,EAAE,CAAA;QACzB,MAAM,cAAc,GAAG,IAAI,CAAA;QAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAEtD,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACpD,IAAI,IAAI;gBAAE,MAAK;YAEf,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAA;YACvC,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;YACtC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,EAAC,UAAU,EAAE,CAAC,EAAC,CAAC,CAAA,CAAC,wBAAwB;YAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrB,IAAI,MAAM,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;oBAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;oBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;oBAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBACrB,CAAC;YACF,CAAC;YAED,SAAS,CAAC,KAAK,EAAE,CAAA;QAClB,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,4BAA4B;IAC5B,+BAA+B;IAC/B,IAAI;IAEJ,IAAI,KAAK,CAAC,KAAa;QACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;IAC3C,CAAC;CACD"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Omni } from "./omni.js";
|
|
2
|
-
import { dummyData } from "../utils/dummy-data.js";
|
|
3
|
-
//
|
|
4
|
-
// create an omni context
|
|
5
|
-
//
|
|
6
|
-
const omni = new Omni();
|
|
7
|
-
//
|
|
8
|
-
// load in some media resources
|
|
9
|
-
//
|
|
10
|
-
const { mediaA, mediaB } = await omni.load({
|
|
11
|
-
mediaA: dummyData(),
|
|
12
|
-
mediaB: dummyData(),
|
|
13
|
-
});
|
|
14
|
-
//
|
|
15
|
-
// create a timeline
|
|
16
|
-
//
|
|
17
|
-
const timeline = omni.timeline(o => o.sequence(o.clip(mediaA), o.transition.crossfade(600), o.stack(o.clip(mediaB), o.text("hello world"))));
|
|
18
|
-
//
|
|
19
|
-
// log the timeline
|
|
20
|
-
//
|
|
21
|
-
console.log(JSON.stringify(timeline, undefined, " "));
|
|
22
|
-
//# sourceMappingURL=omni-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"omni-test.js","sourceRoot":"","sources":["../../../s/timeline/sugar/omni-test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAA;AAEhD,EAAE;AACF,yBAAyB;AACzB,EAAE;AAEF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;AAEvB,EAAE;AACF,+BAA+B;AAC/B,EAAE;AAEF,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;IACxC,MAAM,EAAE,SAAS,EAAE;IACnB,MAAM,EAAE,SAAS,EAAE;CACnB,CAAC,CAAA;AAEF,EAAE;AACF,oBAAoB;AACpB,EAAE;AAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EACd,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,EAC3B,CAAC,CAAC,KAAK,CACN,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EACd,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CACrB,CACD,CAAC,CAAA;AAEF,EAAE;AACF,mBAAmB;AACnB,EAAE;AAEF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA"}
|
|
File without changes
|
|
File without changes
|