animl 0.0.0-stage → 0.1.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 +21 -0
- package/NOTICE +34 -0
- package/README.md +56 -2
- package/modules/a11y/core/bounds.d.ts +8 -0
- package/modules/a11y/core/bounds.js +326 -0
- package/modules/a11y/core/commands.d.ts +3 -0
- package/modules/a11y/core/commands.js +103 -0
- package/modules/a11y/core/index.d.ts +6 -0
- package/modules/a11y/core/index.js +34 -0
- package/modules/a11y/core/registry.d.ts +6 -0
- package/modules/a11y/core/registry.js +48 -0
- package/modules/a11y/core/runtime.d.ts +37 -0
- package/modules/a11y/core/runtime.js +201 -0
- package/modules/a11y/core/svg.d.ts +2 -0
- package/modules/a11y/core/svg.js +4 -0
- package/modules/a11y/core/text.d.ts +4 -0
- package/modules/a11y/core/text.js +55 -0
- package/modules/a11y/core/tree.d.ts +2 -0
- package/modules/a11y/core/tree.js +4 -0
- package/modules/a11y/core/types.d.ts +72 -0
- package/modules/a11y/core/types.js +0 -0
- package/modules/a11y/core/validate.d.ts +4 -0
- package/modules/a11y/core/validate.js +91 -0
- package/modules/a11y/manifest.d.ts +51 -0
- package/modules/a11y/manifest.js +51 -0
- package/modules/a11y/markup/index.d.ts +1 -0
- package/modules/a11y/markup/index.js +4 -0
- package/modules/a11y/web/bounds.d.ts +1 -0
- package/modules/a11y/web/bounds.js +31 -0
- package/modules/a11y/web/index.d.ts +1 -0
- package/modules/a11y/web/index.js +3 -0
- package/modules/a11y/web/markup.d.ts +1 -0
- package/modules/a11y/web/markup.js +3 -0
- package/modules/a11y/web/text.d.ts +1 -0
- package/modules/a11y/web/text.js +6 -0
- package/modules/a11y-actions/core/diff.d.ts +2 -0
- package/modules/a11y-actions/core/diff.js +24 -0
- package/modules/a11y-actions/core/index.d.ts +4 -0
- package/modules/a11y-actions/core/index.js +133 -0
- package/modules/a11y-actions/manifest.d.ts +29 -0
- package/modules/a11y-actions/manifest.js +25 -0
- package/modules/a11y-actions/web/index.d.ts +1 -0
- package/modules/a11y-actions/web/index.js +4 -0
- package/modules/a11y-dom/web/index.d.ts +11 -0
- package/modules/a11y-dom/web/index.js +250 -0
- package/modules/a11y-dom/web/navigation.d.ts +1 -0
- package/modules/a11y-dom/web/navigation.js +93 -0
- package/modules/assetio/web/index.d.ts +1 -0
- package/modules/assetio/web/index.js +97 -0
- package/modules/assets/core/index.d.ts +32 -0
- package/modules/assets/core/index.js +255 -0
- package/modules/assets/core/svg.d.ts +2 -0
- package/modules/assets/core/svg.js +53 -0
- package/modules/assets/manifest.d.ts +34 -0
- package/modules/assets/manifest.js +82 -0
- package/modules/assets/web/index.d.ts +10 -0
- package/modules/assets/web/index.js +7 -0
- package/modules/bind/capabilities/data-bind-listener-actions/registry.d.ts +2 -0
- package/modules/bind/capabilities/data-bind-listener-actions/registry.js +28 -0
- package/modules/bind/core/expression.d.ts +25 -0
- package/modules/bind/core/expression.js +165 -0
- package/modules/bind/core/index.d.ts +7 -0
- package/modules/bind/core/index.js +143 -0
- package/modules/bind/manifest.d.ts +48 -0
- package/modules/bind/manifest.js +61 -0
- package/modules/bind/markup/index.d.ts +6 -0
- package/modules/bind/markup/index.js +21 -0
- package/modules/bind/web/index.d.ts +1 -0
- package/modules/bind/web/index.js +3 -0
- package/modules/bind/web/markup.d.ts +1 -0
- package/modules/bind/web/markup.js +3 -0
- package/modules/canvas/web/index.d.ts +12 -0
- package/modules/canvas/web/index.js +19 -0
- package/modules/canvas/web/renderer.d.ts +18 -0
- package/modules/canvas/web/renderer.js +743 -0
- package/modules/canvas/web/sources.d.ts +6 -0
- package/modules/canvas/web/sources.js +0 -0
- package/modules/colormix/core/index.d.ts +15 -0
- package/modules/colormix/core/index.js +115 -0
- package/modules/colormix/core/svg.d.ts +2 -0
- package/modules/colormix/core/svg.js +19 -0
- package/modules/colormix/manifest.d.ts +40 -0
- package/modules/colormix/manifest.js +42 -0
- package/modules/colormix/markup/index.d.ts +1 -0
- package/modules/colormix/markup/index.js +4 -0
- package/modules/colormix/web/index.d.ts +1 -0
- package/modules/colormix/web/index.js +49 -0
- package/modules/colormix/web/markup.d.ts +1 -0
- package/modules/colormix/web/markup.js +3 -0
- package/modules/componentpaint/capabilities/drawing-paint-paint-artboard/registry.d.ts +2 -0
- package/modules/componentpaint/capabilities/drawing-paint-paint-artboard/registry.js +9 -0
- package/modules/componentpaint/core/index.d.ts +17 -0
- package/modules/componentpaint/core/index.js +241 -0
- package/modules/componentpaint/core/svg.d.ts +2 -0
- package/modules/componentpaint/core/svg.js +67 -0
- package/modules/componentpaint/manifest.d.ts +29 -0
- package/modules/componentpaint/manifest.js +33 -0
- package/modules/componentpaint/web/index.d.ts +1 -0
- package/modules/componentpaint/web/index.js +40 -0
- package/modules/components/core/events.d.ts +7 -0
- package/modules/components/core/events.js +8 -0
- package/modules/components/core/index.d.ts +25 -0
- package/modules/components/core/index.js +543 -0
- package/modules/components/core/names.d.ts +2 -0
- package/modules/components/core/names.js +14 -0
- package/modules/components/core/node-pointer.d.ts +3 -0
- package/modules/components/core/node-pointer.js +8 -0
- package/modules/components/core/svg.d.ts +2 -0
- package/modules/components/core/svg.js +9 -0
- package/modules/components/manifest.d.ts +51 -0
- package/modules/components/manifest.js +64 -0
- package/modules/components/markup/index.d.ts +12 -0
- package/modules/components/markup/index.js +123 -0
- package/modules/components/web/index.d.ts +1 -0
- package/modules/components/web/index.js +8 -0
- package/modules/components/web/markup.d.ts +1 -0
- package/modules/components/web/markup.js +6 -0
- package/modules/composite/core/index.d.ts +7 -0
- package/modules/composite/core/index.js +314 -0
- package/modules/composite/core/svg.d.ts +2 -0
- package/modules/composite/core/svg.js +249 -0
- package/modules/composite/manifest.d.ts +33 -0
- package/modules/composite/manifest.js +53 -0
- package/modules/composite/web/index.d.ts +1 -0
- package/modules/composite/web/index.js +17 -0
- package/modules/contour/core/effects.d.ts +23 -0
- package/modules/contour/core/effects.js +242 -0
- package/modules/contour/core/index.d.ts +17 -0
- package/modules/contour/core/index.js +160 -0
- package/modules/contour/core/svg.d.ts +2 -0
- package/modules/contour/core/svg.js +47 -0
- package/modules/contour/core/winding.d.ts +3 -0
- package/modules/contour/core/winding.js +95 -0
- package/modules/contour/manifest.d.ts +31 -0
- package/modules/contour/manifest.js +50 -0
- package/modules/contour/markup/index.d.ts +1 -0
- package/modules/contour/markup/index.js +0 -0
- package/modules/contour/web/index.d.ts +1 -0
- package/modules/contour/web/index.js +5 -0
- package/modules/convert/core/converters.d.ts +4 -0
- package/modules/convert/core/converters.js +253 -0
- package/modules/convert/core/index.d.ts +13 -0
- package/modules/convert/core/index.js +226 -0
- package/modules/convert/core/integration.d.ts +3 -0
- package/modules/convert/core/integration.js +63 -0
- package/modules/convert/core/math.d.ts +14 -0
- package/modules/convert/core/math.js +110 -0
- package/modules/convert/core/registry.d.ts +4 -0
- package/modules/convert/core/registry.js +40 -0
- package/modules/convert/core/types.d.ts +37 -0
- package/modules/convert/core/types.js +35 -0
- package/modules/convert/manifest.d.ts +43 -0
- package/modules/convert/manifest.js +56 -0
- package/modules/convert/markup/index.d.ts +7 -0
- package/modules/convert/markup/index.js +23 -0
- package/modules/convert/web/index.d.ts +1 -0
- package/modules/convert/web/index.js +3 -0
- package/modules/convert/web/markup.d.ts +1 -0
- package/modules/convert/web/markup.js +3 -0
- package/modules/corners/core/index.d.ts +6 -0
- package/modules/corners/core/index.js +64 -0
- package/modules/corners/core/outline.d.ts +3 -0
- package/modules/corners/core/outline.js +20 -0
- package/modules/corners/web/index.d.ts +1 -0
- package/modules/corners/web/index.js +3 -0
- package/modules/data/core/bindings.d.ts +5 -0
- package/modules/data/core/bindings.js +147 -0
- package/modules/data/core/compile.d.ts +5 -0
- package/modules/data/core/compile.js +347 -0
- package/modules/data/core/custom.d.ts +3 -0
- package/modules/data/core/custom.js +40 -0
- package/modules/data/core/enums.d.ts +1 -0
- package/modules/data/core/enums.js +31 -0
- package/modules/data/core/errors.d.ts +16 -0
- package/modules/data/core/errors.js +19 -0
- package/modules/data/core/guards.d.ts +3 -0
- package/modules/data/core/guards.js +38 -0
- package/modules/data/core/index.d.ts +18 -0
- package/modules/data/core/index.js +284 -0
- package/modules/data/core/registry.d.ts +17 -0
- package/modules/data/core/registry.js +95 -0
- package/modules/data/core/storage.d.ts +30 -0
- package/modules/data/core/storage.js +109 -0
- package/modules/data/core/types.d.ts +78 -0
- package/modules/data/core/types.js +27 -0
- package/modules/data/manifest.d.ts +34 -0
- package/modules/data/manifest.js +114 -0
- package/modules/data/markup/index.d.ts +16 -0
- package/modules/data/markup/index.js +100 -0
- package/modules/data/web/index.d.ts +2 -0
- package/modules/data/web/index.js +8 -0
- package/modules/data-artboard/capabilities/data-host-artboard/registry.d.ts +2 -0
- package/modules/data-artboard/capabilities/data-host-artboard/registry.js +23 -0
- package/modules/data-artboard/core/index.d.ts +21 -0
- package/modules/data-artboard/core/index.js +193 -0
- package/modules/data-artboard/core/schema.d.ts +3 -0
- package/modules/data-artboard/core/schema.js +27 -0
- package/modules/data-artboard/manifest.d.ts +41 -0
- package/modules/data-artboard/manifest.js +44 -0
- package/modules/data-artboard/markup/index.d.ts +2 -0
- package/modules/data-artboard/markup/index.js +12 -0
- package/modules/data-artboard/web/index.d.ts +1 -0
- package/modules/data-artboard/web/index.js +136 -0
- package/modules/data-artboard/web/markup.d.ts +1 -0
- package/modules/data-artboard/web/markup.js +5 -0
- package/modules/data-artboard/web/values.d.ts +8 -0
- package/modules/data-artboard/web/values.js +6 -0
- package/modules/data-host/core/index.d.ts +26 -0
- package/modules/data-host/core/index.js +130 -0
- package/modules/data-host/manifest.d.ts +28 -0
- package/modules/data-host/manifest.js +29 -0
- package/modules/data-host/web/index.d.ts +1 -0
- package/modules/data-host/web/index.js +3 -0
- package/modules/derive/core/index.d.ts +2 -0
- package/modules/derive/core/index.js +369 -0
- package/modules/derive/manifest.d.ts +26 -0
- package/modules/derive/manifest.js +28 -0
- package/modules/derive/web/index.d.ts +1 -0
- package/modules/derive/web/index.js +3 -0
- package/modules/devtools/web/index.d.ts +19 -0
- package/modules/devtools/web/index.js +58 -0
- package/modules/events/core/index.d.ts +16 -0
- package/modules/events/core/index.js +279 -0
- package/modules/events/core/svg.d.ts +2 -0
- package/modules/events/core/svg.js +4 -0
- package/modules/events/manifest.d.ts +37 -0
- package/modules/events/manifest.js +76 -0
- package/modules/events/markup/index.d.ts +6 -0
- package/modules/events/markup/index.js +30 -0
- package/modules/events/web/index.d.ts +16 -0
- package/modules/events/web/index.js +185 -0
- package/modules/focus/core/index.d.ts +43 -0
- package/modules/focus/core/index.js +318 -0
- package/modules/focus/core/svg.d.ts +2 -0
- package/modules/focus/core/svg.js +4 -0
- package/modules/focus/manifest.d.ts +31 -0
- package/modules/focus/manifest.js +50 -0
- package/modules/focus/markup/index.d.ts +1 -0
- package/modules/focus/markup/index.js +4 -0
- package/modules/focus/web/index.d.ts +7 -0
- package/modules/focus/web/index.js +166 -0
- package/modules/fonts/core/css.d.ts +20 -0
- package/modules/fonts/core/css.js +16 -0
- package/modules/fonts/core/index.d.ts +21 -0
- package/modules/fonts/core/index.js +56 -0
- package/modules/fonts/core/info.d.ts +37 -0
- package/modules/fonts/core/info.js +79 -0
- package/modules/fonts/core/opentype/binary.d.ts +21 -0
- package/modules/fonts/core/opentype/binary.js +68 -0
- package/modules/fonts/core/opentype/cff.d.ts +11 -0
- package/modules/fonts/core/opentype/cff.js +273 -0
- package/modules/fonts/core/opentype/features.d.ts +8 -0
- package/modules/fonts/core/opentype/features.js +103 -0
- package/modules/fonts/core/opentype/reader.d.ts +63 -0
- package/modules/fonts/core/opentype/reader.js +535 -0
- package/modules/fonts/core/opentype/variation.d.ts +3 -0
- package/modules/fonts/core/opentype/variation.js +164 -0
- package/modules/fonts/core/options.d.ts +6 -0
- package/modules/fonts/core/options.js +34 -0
- package/modules/fonts/core/svg.d.ts +2 -0
- package/modules/fonts/core/svg.js +13 -0
- package/modules/fonts/manifest.d.ts +51 -0
- package/modules/fonts/manifest.js +61 -0
- package/modules/fonts/markup/index.d.ts +1 -0
- package/modules/fonts/markup/index.js +0 -0
- package/modules/fonts/web/canvas.d.ts +1 -0
- package/modules/fonts/web/canvas.js +37 -0
- package/modules/fonts/web/consumer.d.ts +1 -0
- package/modules/fonts/web/consumer.js +90 -0
- package/modules/fonts/web/index.d.ts +53 -0
- package/modules/fonts/web/index.js +240 -0
- package/modules/fonts/web/info.d.ts +8 -0
- package/modules/fonts/web/info.js +40 -0
- package/modules/fonts/web/measure.d.ts +3 -0
- package/modules/fonts/web/measure.js +37 -0
- package/modules/fonts/web/options.d.ts +3 -0
- package/modules/fonts/web/options.js +60 -0
- package/modules/fonts/web/settings.d.ts +3 -0
- package/modules/fonts/web/settings.js +15 -0
- package/modules/fonts/web/text.d.ts +5 -0
- package/modules/fonts/web/text.js +54 -0
- package/modules/host/core/api.d.ts +97 -0
- package/modules/host/core/api.js +505 -0
- package/modules/host/core/errors.d.ts +13 -0
- package/modules/host/core/errors.js +31 -0
- package/modules/host/core/index.d.ts +8 -0
- package/modules/host/core/index.js +29 -0
- package/modules/host/manifest.d.ts +27 -0
- package/modules/host/manifest.js +23 -0
- package/modules/host/web/index.d.ts +8 -0
- package/modules/host/web/index.js +29 -0
- package/modules/host-edit/core/index.d.ts +57 -0
- package/modules/host-edit/core/index.js +266 -0
- package/modules/host-edit/manifest.d.ts +28 -0
- package/modules/host-edit/manifest.js +25 -0
- package/modules/host-edit/web/index.d.ts +14 -0
- package/modules/host-edit/web/index.js +204 -0
- package/modules/host-fit/web/index.d.ts +12 -0
- package/modules/host-fit/web/index.js +71 -0
- package/modules/host-fit/web/size.d.ts +4 -0
- package/modules/host-fit/web/size.js +44 -0
- package/modules/host-values/core/index.d.ts +30 -0
- package/modules/host-values/core/index.js +169 -0
- package/modules/host-values/web/index.d.ts +1 -0
- package/modules/host-values/web/index.js +3 -0
- package/modules/ik/core/index.d.ts +2 -0
- package/modules/ik/core/index.js +135 -0
- package/modules/ik/core/svg.d.ts +2 -0
- package/modules/ik/core/svg.js +4 -0
- package/modules/ik/manifest.d.ts +33 -0
- package/modules/ik/manifest.js +33 -0
- package/modules/ik/markup/index.d.ts +1 -0
- package/modules/ik/markup/index.js +0 -0
- package/modules/ik/web/index.d.ts +1 -0
- package/modules/ik/web/index.js +5 -0
- package/modules/input/core/commands.d.ts +3 -0
- package/modules/input/core/commands.js +55 -0
- package/modules/input/core/index.d.ts +7 -0
- package/modules/input/core/index.js +159 -0
- package/modules/input/core/registry.d.ts +5 -0
- package/modules/input/core/registry.js +59 -0
- package/modules/input/core/runtime.d.ts +65 -0
- package/modules/input/core/runtime.js +462 -0
- package/modules/input/core/svg.d.ts +2 -0
- package/modules/input/core/svg.js +4 -0
- package/modules/input/core/types.d.ts +53 -0
- package/modules/input/core/types.js +56 -0
- package/modules/input/core/values.d.ts +7 -0
- package/modules/input/core/values.js +9 -0
- package/modules/input/manifest.d.ts +31 -0
- package/modules/input/manifest.js +100 -0
- package/modules/input/markup/index.d.ts +1 -0
- package/modules/input/markup/index.js +4 -0
- package/modules/input/web/index.d.ts +24 -0
- package/modules/input/web/index.js +252 -0
- package/modules/input/web/mapping.d.ts +3 -0
- package/modules/input/web/mapping.js +20 -0
- package/modules/layout/core/algorithm.d.ts +21 -0
- package/modules/layout/core/algorithm.js +72 -0
- package/modules/layout/core/index.d.ts +20 -0
- package/modules/layout/core/index.js +439 -0
- package/modules/layout/core/reflow.d.ts +6 -0
- package/modules/layout/core/reflow.js +96 -0
- package/modules/layout/core/registry.d.ts +7 -0
- package/modules/layout/core/registry.js +56 -0
- package/modules/layout/core/svg.d.ts +5 -0
- package/modules/layout/core/svg.js +15 -0
- package/modules/layout/manifest.d.ts +55 -0
- package/modules/layout/manifest.js +76 -0
- package/modules/layout/markup/index.d.ts +5 -0
- package/modules/layout/markup/index.js +14 -0
- package/modules/layout/web/index.d.ts +2 -0
- package/modules/layout/web/index.js +4 -0
- package/modules/layout/web/markup.d.ts +1 -0
- package/modules/layout/web/markup.js +3 -0
- package/modules/layout/web/reflow.d.ts +1 -0
- package/modules/layout/web/reflow.js +6 -0
- package/modules/layout/web/svg.d.ts +1 -0
- package/modules/layout/web/svg.js +3 -0
- package/modules/lists/capabilities/components-list/registry.d.ts +2 -0
- package/modules/lists/capabilities/components-list/registry.js +26 -0
- package/modules/lists/core/context.d.ts +10 -0
- package/modules/lists/core/context.js +94 -0
- package/modules/lists/core/index.d.ts +35 -0
- package/modules/lists/core/index.js +506 -0
- package/modules/lists/core/svg.d.ts +1 -0
- package/modules/lists/core/svg.js +4 -0
- package/modules/lists/manifest.d.ts +31 -0
- package/modules/lists/manifest.js +46 -0
- package/modules/lists/markup/index.d.ts +1 -0
- package/modules/lists/markup/index.js +0 -0
- package/modules/lists/web/index.d.ts +1 -0
- package/modules/lists/web/index.js +72 -0
- package/modules/machine/core/index.d.ts +3 -0
- package/modules/machine/core/index.js +324 -0
- package/modules/machine/core/registry.d.ts +5 -0
- package/modules/machine/core/registry.js +95 -0
- package/modules/machine/core/runtime.d.ts +64 -0
- package/modules/machine/core/runtime.js +335 -0
- package/modules/machine/core/svg.d.ts +2 -0
- package/modules/machine/core/svg.js +4 -0
- package/modules/machine/core/types.d.ts +83 -0
- package/modules/machine/core/types.js +10 -0
- package/modules/machine/manifest.d.ts +31 -0
- package/modules/machine/manifest.js +76 -0
- package/modules/machine/markup/index.d.ts +1 -0
- package/modules/machine/markup/index.js +0 -0
- package/modules/machine/web/index.d.ts +1 -0
- package/modules/machine/web/index.js +5 -0
- package/modules/markup/web/hooks.d.ts +3 -0
- package/modules/markup/web/hooks.js +35 -0
- package/modules/markup/web/index.d.ts +5 -0
- package/modules/markup/web/index.js +40 -0
- package/modules/markup-animation/markup/index.d.ts +10 -0
- package/modules/markup-animation/markup/index.js +152 -0
- package/modules/markup-animation/web/index.d.ts +1 -0
- package/modules/markup-animation/web/index.js +4 -0
- package/modules/markup-hooks/markup/convert.d.ts +12 -0
- package/modules/markup-hooks/markup/convert.js +41 -0
- package/modules/markup-hooks/markup/data.d.ts +11 -0
- package/modules/markup-hooks/markup/data.js +213 -0
- package/modules/markup-hooks/markup/events.d.ts +6 -0
- package/modules/markup-hooks/markup/events.js +83 -0
- package/modules/markup-hooks/markup/motion.d.ts +11 -0
- package/modules/markup-hooks/markup/motion.js +112 -0
- package/modules/markup-libraries/markup/async.d.ts +6 -0
- package/modules/markup-libraries/markup/async.js +35 -0
- package/modules/markup-libraries/markup/hooks.d.ts +14 -0
- package/modules/markup-libraries/markup/hooks.js +8 -0
- package/modules/markup-libraries/markup/index.d.ts +1 -0
- package/modules/markup-libraries/markup/index.js +9 -0
- package/modules/markup-libraries/markup/reuse.d.ts +6 -0
- package/modules/markup-libraries/markup/reuse.js +320 -0
- package/modules/markup-libraries/web/index.d.ts +2 -0
- package/modules/markup-libraries/web/index.js +8 -0
- package/modules/media/core/index.d.ts +2 -0
- package/modules/media/core/index.js +5 -0
- package/modules/media/manifest.d.ts +27 -0
- package/modules/media/manifest.js +24 -0
- package/modules/media/web/index.d.ts +6 -0
- package/modules/media/web/index.js +49 -0
- package/modules/mesh/core/binding.d.ts +3 -0
- package/modules/mesh/core/binding.js +34 -0
- package/modules/mesh/core/fitting.d.ts +3 -0
- package/modules/mesh/core/fitting.js +11 -0
- package/modules/mesh/core/index.d.ts +7 -0
- package/modules/mesh/core/index.js +131 -0
- package/modules/mesh/core/static.d.ts +8 -0
- package/modules/mesh/core/static.js +85 -0
- package/modules/mesh/core/svg.d.ts +2 -0
- package/modules/mesh/core/svg.js +19 -0
- package/modules/mesh/manifest.d.ts +41 -0
- package/modules/mesh/manifest.js +40 -0
- package/modules/mesh/web/canvas.d.ts +2 -0
- package/modules/mesh/web/canvas.js +93 -0
- package/modules/mesh/web/index.d.ts +1 -0
- package/modules/mesh/web/index.js +35 -0
- package/modules/mix/core/index.d.ts +2 -0
- package/modules/mix/core/index.js +92 -0
- package/modules/mix/core/svg.d.ts +8 -0
- package/modules/mix/core/svg.js +112 -0
- package/modules/mix/manifest.d.ts +31 -0
- package/modules/mix/manifest.js +39 -0
- package/modules/mix/markup/index.d.ts +1 -0
- package/modules/mix/markup/index.js +0 -0
- package/modules/mix/web/index.d.ts +1 -0
- package/modules/mix/web/index.js +5 -0
- package/modules/motion/capabilities/data-bind-keyframes/registry.d.ts +2 -0
- package/modules/motion/capabilities/data-bind-keyframes/registry.js +18 -0
- package/modules/motion/core/api.d.ts +119 -0
- package/modules/motion/core/api.js +455 -0
- package/modules/motion/core/clock.d.ts +16 -0
- package/modules/motion/core/clock.js +62 -0
- package/modules/motion/core/control.d.ts +26 -0
- package/modules/motion/core/control.js +130 -0
- package/modules/motion/core/curves.d.ts +3 -0
- package/modules/motion/core/curves.js +31 -0
- package/modules/motion/core/index.d.ts +3 -0
- package/modules/motion/core/index.js +340 -0
- package/modules/motion/core/registry.d.ts +2 -0
- package/modules/motion/core/registry.js +56 -0
- package/modules/motion/core/svg.d.ts +2 -0
- package/modules/motion/core/svg.js +4 -0
- package/modules/motion/manifest.d.ts +37 -0
- package/modules/motion/manifest.js +69 -0
- package/modules/motion/markup/index.d.ts +15 -0
- package/modules/motion/markup/index.js +18 -0
- package/modules/motion/web/index.d.ts +7 -0
- package/modules/motion/web/index.js +26 -0
- package/modules/nested/capabilities/components-nested-remap/registry.d.ts +2 -0
- package/modules/nested/capabilities/components-nested-remap/registry.js +59 -0
- package/modules/nested/core/index.d.ts +7 -0
- package/modules/nested/core/index.js +315 -0
- package/modules/nested/core/render.d.ts +10 -0
- package/modules/nested/core/render.js +172 -0
- package/modules/nested/core/svg.d.ts +1 -0
- package/modules/nested/core/svg.js +4 -0
- package/modules/nested/core/time.d.ts +3 -0
- package/modules/nested/core/time.js +83 -0
- package/modules/nested/manifest.d.ts +31 -0
- package/modules/nested/manifest.js +42 -0
- package/modules/nested/markup/index.d.ts +1 -0
- package/modules/nested/markup/index.js +0 -0
- package/modules/nested/web/index.d.ts +1 -0
- package/modules/nested/web/index.js +67 -0
- package/modules/paint/core/geometry.d.ts +2 -0
- package/modules/paint/core/geometry.js +182 -0
- package/modules/paint/core/index.d.ts +3 -0
- package/modules/paint/core/index.js +279 -0
- package/modules/paint/core/sampling.d.ts +4 -0
- package/modules/paint/core/sampling.js +124 -0
- package/modules/paint/core/svg.d.ts +26 -0
- package/modules/paint/core/svg.js +120 -0
- package/modules/paint/manifest.d.ts +62 -0
- package/modules/paint/manifest.js +80 -0
- package/modules/paint/markup/index.d.ts +20 -0
- package/modules/paint/markup/index.js +172 -0
- package/modules/paint/web/index.d.ts +1 -0
- package/modules/paint/web/index.js +5 -0
- package/modules/paint/web/markup.d.ts +1 -0
- package/modules/paint/web/markup.js +3 -0
- package/modules/paint/web/sampling.d.ts +1 -0
- package/modules/paint/web/sampling.js +3 -0
- package/modules/pathfollow/capabilities/rigging-follow-path/registry.d.ts +2 -0
- package/modules/pathfollow/capabilities/rigging-follow-path/registry.js +4 -0
- package/modules/pathfollow/capabilities/rigging-list-follow-path/registry.d.ts +2 -0
- package/modules/pathfollow/capabilities/rigging-list-follow-path/registry.js +4 -0
- package/modules/pathfollow/core/index.d.ts +2 -0
- package/modules/pathfollow/core/index.js +164 -0
- package/modules/pathfollow/core/measure.d.ts +10 -0
- package/modules/pathfollow/core/measure.js +136 -0
- package/modules/pathfollow/core/svg.d.ts +2 -0
- package/modules/pathfollow/core/svg.js +4 -0
- package/modules/pathfollow/manifest.d.ts +33 -0
- package/modules/pathfollow/manifest.js +39 -0
- package/modules/pathfollow/markup/index.d.ts +1 -0
- package/modules/pathfollow/markup/index.js +0 -0
- package/modules/pathfollow/web/index.d.ts +1 -0
- package/modules/pathfollow/web/index.js +8 -0
- package/modules/posepad/core/handle.d.ts +7 -0
- package/modules/posepad/core/handle.js +87 -0
- package/modules/posepad/core/index.d.ts +12 -0
- package/modules/posepad/core/index.js +104 -0
- package/modules/posepad/core/registry.d.ts +2 -0
- package/modules/posepad/core/registry.js +27 -0
- package/modules/posepad/manifest.d.ts +35 -0
- package/modules/posepad/manifest.js +46 -0
- package/modules/posepad/web/handle.d.ts +1 -0
- package/modules/posepad/web/handle.js +4 -0
- package/modules/posepad/web/index.d.ts +1 -0
- package/modules/posepad/web/index.js +3 -0
- package/modules/rig/core/all.d.ts +2 -0
- package/modules/rig/core/all.js +13 -0
- package/modules/rig/core/api.d.ts +55 -0
- package/modules/rig/core/api.js +43 -0
- package/modules/rig/core/constraints.d.ts +10 -0
- package/modules/rig/core/constraints.js +96 -0
- package/modules/rig/core/distance.d.ts +2 -0
- package/modules/rig/core/distance.js +27 -0
- package/modules/rig/core/index.d.ts +12 -0
- package/modules/rig/core/index.js +243 -0
- package/modules/rig/core/origin.d.ts +6 -0
- package/modules/rig/core/origin.js +107 -0
- package/modules/rig/core/solve.d.ts +9 -0
- package/modules/rig/core/solve.js +111 -0
- package/modules/rig/core/svg.d.ts +2 -0
- package/modules/rig/core/svg.js +4 -0
- package/modules/rig/manifest.d.ts +52 -0
- package/modules/rig/manifest.js +58 -0
- package/modules/rig/markup/elements.d.ts +4 -0
- package/modules/rig/markup/elements.js +35 -0
- package/modules/rig/markup/index.d.ts +5 -0
- package/modules/rig/markup/index.js +13 -0
- package/modules/rig/web/distance.d.ts +1 -0
- package/modules/rig/web/distance.js +11 -0
- package/modules/rig/web/index.d.ts +1 -0
- package/modules/rig/web/index.js +5 -0
- package/modules/rig/web/markup.d.ts +1 -0
- package/modules/rig/web/markup.js +29 -0
- package/modules/rig/web/origin.d.ts +1 -0
- package/modules/rig/web/origin.js +11 -0
- package/modules/scroll/core/index.d.ts +11 -0
- package/modules/scroll/core/index.js +261 -0
- package/modules/scroll/core/svg.d.ts +2 -0
- package/modules/scroll/core/svg.js +4 -0
- package/modules/scroll/manifest.d.ts +33 -0
- package/modules/scroll/manifest.js +34 -0
- package/modules/scroll/markup/index.d.ts +1 -0
- package/modules/scroll/markup/index.js +0 -0
- package/modules/scroll/web/index.d.ts +1 -0
- package/modules/scroll/web/index.js +5 -0
- package/modules/skin/capabilities/rigging-skin/registry.d.ts +5 -0
- package/modules/skin/capabilities/rigging-skin/registry.js +34 -0
- package/modules/skin/core/all.d.ts +2 -0
- package/modules/skin/core/all.js +27 -0
- package/modules/skin/core/auto.d.ts +4 -0
- package/modules/skin/core/auto.js +23 -0
- package/modules/skin/core/dash.d.ts +2 -0
- package/modules/skin/core/dash.js +13 -0
- package/modules/skin/core/index.d.ts +28 -0
- package/modules/skin/core/index.js +274 -0
- package/modules/skin/core/mesh.d.ts +5 -0
- package/modules/skin/core/mesh.js +21 -0
- package/modules/skin/core/svg.d.ts +2 -0
- package/modules/skin/core/svg.js +4 -0
- package/modules/skin/core/values.d.ts +2 -0
- package/modules/skin/core/values.js +23 -0
- package/modules/skin/manifest.d.ts +46 -0
- package/modules/skin/manifest.js +44 -0
- package/modules/skin/markup/index.d.ts +1 -0
- package/modules/skin/markup/index.js +0 -0
- package/modules/skin/web/auto.d.ts +1 -0
- package/modules/skin/web/auto.js +11 -0
- package/modules/skin/web/dash.d.ts +1 -0
- package/modules/skin/web/dash.js +16 -0
- package/modules/skin/web/index.d.ts +1 -0
- package/modules/skin/web/index.js +3 -0
- package/modules/skin/web/mesh.d.ts +1 -0
- package/modules/skin/web/mesh.js +13 -0
- package/modules/skin/web/values.d.ts +1 -0
- package/modules/skin/web/values.js +11 -0
- package/modules/surface/core/index.d.ts +4 -0
- package/modules/surface/core/index.js +318 -0
- package/modules/surface/core/svg.d.ts +8 -0
- package/modules/surface/core/svg.js +247 -0
- package/modules/surface/manifest.d.ts +44 -0
- package/modules/surface/manifest.js +56 -0
- package/modules/surface/web/index.d.ts +1 -0
- package/modules/surface/web/index.js +5 -0
- package/modules/surface/web/markup.d.ts +1 -0
- package/modules/surface/web/markup.js +1 -0
- package/modules/text/core/hit.d.ts +14 -0
- package/modules/text/core/hit.js +79 -0
- package/modules/text/core/host.d.ts +6 -0
- package/modules/text/core/host.js +44 -0
- package/modules/text/core/index.d.ts +41 -0
- package/modules/text/core/index.js +301 -0
- package/modules/text/core/layout.d.ts +79 -0
- package/modules/text/core/layout.js +189 -0
- package/modules/text/core/measure.d.ts +31 -0
- package/modules/text/core/measure.js +35 -0
- package/modules/text/core/overflow.d.ts +7 -0
- package/modules/text/core/overflow.js +58 -0
- package/modules/text/core/registry.d.ts +6 -0
- package/modules/text/core/registry.js +82 -0
- package/modules/text/core/svg.d.ts +6 -0
- package/modules/text/core/svg.js +128 -0
- package/modules/text/manifest.d.ts +72 -0
- package/modules/text/manifest.js +96 -0
- package/modules/text/markup/index.d.ts +6 -0
- package/modules/text/markup/index.js +51 -0
- package/modules/text/web/canvas.d.ts +1 -0
- package/modules/text/web/canvas.js +39 -0
- package/modules/text/web/css.d.ts +2 -0
- package/modules/text/web/css.js +4 -0
- package/modules/text/web/hit.d.ts +9 -0
- package/modules/text/web/hit.js +22 -0
- package/modules/text/web/host.d.ts +6 -0
- package/modules/text/web/host.js +14 -0
- package/modules/text/web/index.d.ts +1 -0
- package/modules/text/web/index.js +72 -0
- package/modules/text/web/markup.d.ts +1 -0
- package/modules/text/web/markup.js +10 -0
- package/modules/text/web/measure.d.ts +4 -0
- package/modules/text/web/measure.js +40 -0
- package/modules/text/web/overflow.d.ts +1 -0
- package/modules/text/web/overflow.js +4 -0
- package/modules/text-effects/core/evaluate.d.ts +52 -0
- package/modules/text-effects/core/evaluate.js +144 -0
- package/modules/text-effects/core/index.d.ts +4 -0
- package/modules/text-effects/core/index.js +127 -0
- package/modules/text-effects/core/registry.d.ts +5 -0
- package/modules/text-effects/core/registry.js +60 -0
- package/modules/text-effects/core/svg.d.ts +5 -0
- package/modules/text-effects/core/svg.js +69 -0
- package/modules/text-effects/manifest.d.ts +42 -0
- package/modules/text-effects/manifest.js +61 -0
- package/modules/text-effects/markup/index.d.ts +1 -0
- package/modules/text-effects/markup/index.js +0 -0
- package/modules/text-effects/web/index.d.ts +1 -0
- package/modules/text-effects/web/index.js +119 -0
- package/modules/text-effects/web/markup.d.ts +1 -0
- package/modules/text-effects/web/markup.js +1 -0
- package/modules/text-input/core/extra.d.ts +3 -0
- package/modules/text-input/core/extra.js +66 -0
- package/modules/text-input/core/index.d.ts +54 -0
- package/modules/text-input/core/index.js +344 -0
- package/modules/text-input/core/registry.d.ts +2 -0
- package/modules/text-input/core/registry.js +45 -0
- package/modules/text-input/core/svg.d.ts +13 -0
- package/modules/text-input/core/svg.js +46 -0
- package/modules/text-input/manifest.d.ts +58 -0
- package/modules/text-input/manifest.js +81 -0
- package/modules/text-input/markup/index.d.ts +1 -0
- package/modules/text-input/markup/index.js +4 -0
- package/modules/text-input/web/canvas.d.ts +1 -0
- package/modules/text-input/web/canvas.js +12 -0
- package/modules/text-input/web/clipboard.d.ts +6 -0
- package/modules/text-input/web/clipboard.js +15 -0
- package/modules/text-input/web/extra.d.ts +1 -0
- package/modules/text-input/web/extra.js +52 -0
- package/modules/text-input/web/index.d.ts +6 -0
- package/modules/text-input/web/index.js +192 -0
- package/modules/text-input/web/markup.d.ts +1 -0
- package/modules/text-input/web/markup.js +1 -0
- package/modules/text-input/web/svg.d.ts +1 -0
- package/modules/text-input/web/svg.js +27 -0
- package/package.json +1150 -4
- package/packages/core/src/all.d.ts +1 -0
- package/packages/core/src/all.js +143 -0
- package/packages/core/src/check.d.ts +5 -0
- package/packages/core/src/check.js +147 -0
- package/packages/core/src/color.d.ts +8 -0
- package/packages/core/src/color.js +21 -0
- package/packages/core/src/cond.d.ts +32 -0
- package/packages/core/src/cond.js +58 -0
- package/packages/core/src/diag.d.ts +25 -0
- package/packages/core/src/diag.js +49 -0
- package/packages/core/src/draw.d.ts +166 -0
- package/packages/core/src/draw.js +143 -0
- package/packages/core/src/ease.d.ts +10 -0
- package/packages/core/src/ease.js +75 -0
- package/packages/core/src/event-capture.d.ts +14 -0
- package/packages/core/src/event-capture.js +39 -0
- package/packages/core/src/flags.d.ts +6 -0
- package/packages/core/src/flags.js +4 -0
- package/packages/core/src/format.d.ts +2 -0
- package/packages/core/src/format.js +40 -0
- package/packages/core/src/geom.d.ts +28 -0
- package/packages/core/src/geom.js +111 -0
- package/packages/core/src/index.d.ts +18 -0
- package/packages/core/src/index.js +68 -0
- package/packages/core/src/load.d.ts +171 -0
- package/packages/core/src/load.js +719 -0
- package/packages/core/src/modules/a11y/index.d.ts +1 -0
- package/packages/core/src/modules/a11y/index.js +1 -0
- package/packages/core/src/modules/a11y/svg.d.ts +1 -0
- package/packages/core/src/modules/a11y/svg.js +1 -0
- package/packages/core/src/modules/a11y/text.d.ts +1 -0
- package/packages/core/src/modules/a11y/text.js +1 -0
- package/packages/core/src/modules/a11y-actions/index.d.ts +1 -0
- package/packages/core/src/modules/a11y-actions/index.js +1 -0
- package/packages/core/src/modules/assets/index.d.ts +1 -0
- package/packages/core/src/modules/assets/index.js +1 -0
- package/packages/core/src/modules/assets/svg.d.ts +1 -0
- package/packages/core/src/modules/assets/svg.js +1 -0
- package/packages/core/src/modules/bind/expression.d.ts +1 -0
- package/packages/core/src/modules/bind/expression.js +1 -0
- package/packages/core/src/modules/bind/index.d.ts +1 -0
- package/packages/core/src/modules/bind/index.js +1 -0
- package/packages/core/src/modules/colormix/index.d.ts +1 -0
- package/packages/core/src/modules/colormix/index.js +1 -0
- package/packages/core/src/modules/colormix/svg.d.ts +1 -0
- package/packages/core/src/modules/colormix/svg.js +1 -0
- package/packages/core/src/modules/componentpaint/index.d.ts +1 -0
- package/packages/core/src/modules/componentpaint/index.js +1 -0
- package/packages/core/src/modules/componentpaint/svg.d.ts +1 -0
- package/packages/core/src/modules/componentpaint/svg.js +1 -0
- package/packages/core/src/modules/components/index.d.ts +1 -0
- package/packages/core/src/modules/components/index.js +1 -0
- package/packages/core/src/modules/components/svg.d.ts +1 -0
- package/packages/core/src/modules/components/svg.js +1 -0
- package/packages/core/src/modules/composite/index.d.ts +1 -0
- package/packages/core/src/modules/composite/index.js +1 -0
- package/packages/core/src/modules/composite/svg.d.ts +1 -0
- package/packages/core/src/modules/composite/svg.js +1 -0
- package/packages/core/src/modules/contour/index.d.ts +1 -0
- package/packages/core/src/modules/contour/index.js +1 -0
- package/packages/core/src/modules/contour/svg.d.ts +1 -0
- package/packages/core/src/modules/contour/svg.js +1 -0
- package/packages/core/src/modules/convert/index.d.ts +1 -0
- package/packages/core/src/modules/convert/index.js +1 -0
- package/packages/core/src/modules/corners/index.d.ts +1 -0
- package/packages/core/src/modules/corners/index.js +1 -0
- package/packages/core/src/modules/data/index.d.ts +1 -0
- package/packages/core/src/modules/data/index.js +1 -0
- package/packages/core/src/modules/data-artboard/index.d.ts +1 -0
- package/packages/core/src/modules/data-artboard/index.js +1 -0
- package/packages/core/src/modules/data-host/index.d.ts +1 -0
- package/packages/core/src/modules/data-host/index.js +1 -0
- package/packages/core/src/modules/derive/index.d.ts +1 -0
- package/packages/core/src/modules/derive/index.js +1 -0
- package/packages/core/src/modules/events/index.d.ts +1 -0
- package/packages/core/src/modules/events/index.js +1 -0
- package/packages/core/src/modules/events/svg.d.ts +1 -0
- package/packages/core/src/modules/events/svg.js +1 -0
- package/packages/core/src/modules/focus/index.d.ts +1 -0
- package/packages/core/src/modules/focus/index.js +1 -0
- package/packages/core/src/modules/focus/svg.d.ts +1 -0
- package/packages/core/src/modules/focus/svg.js +1 -0
- package/packages/core/src/modules/fonts/index.d.ts +1 -0
- package/packages/core/src/modules/fonts/index.js +1 -0
- package/packages/core/src/modules/fonts/info.d.ts +1 -0
- package/packages/core/src/modules/fonts/info.js +1 -0
- package/packages/core/src/modules/fonts/svg.d.ts +1 -0
- package/packages/core/src/modules/fonts/svg.js +1 -0
- package/packages/core/src/modules/host/index.d.ts +1 -0
- package/packages/core/src/modules/host/index.js +1 -0
- package/packages/core/src/modules/host-edit/index.d.ts +1 -0
- package/packages/core/src/modules/host-edit/index.js +1 -0
- package/packages/core/src/modules/host-values/index.d.ts +1 -0
- package/packages/core/src/modules/host-values/index.js +1 -0
- package/packages/core/src/modules/ik/index.d.ts +1 -0
- package/packages/core/src/modules/ik/index.js +1 -0
- package/packages/core/src/modules/ik/svg.d.ts +1 -0
- package/packages/core/src/modules/ik/svg.js +1 -0
- package/packages/core/src/modules/input/index.d.ts +1 -0
- package/packages/core/src/modules/input/index.js +1 -0
- package/packages/core/src/modules/input/svg.d.ts +1 -0
- package/packages/core/src/modules/input/svg.js +1 -0
- package/packages/core/src/modules/layout/index.d.ts +1 -0
- package/packages/core/src/modules/layout/index.js +1 -0
- package/packages/core/src/modules/layout/svg.d.ts +1 -0
- package/packages/core/src/modules/layout/svg.js +1 -0
- package/packages/core/src/modules/lists/index.d.ts +1 -0
- package/packages/core/src/modules/lists/index.js +1 -0
- package/packages/core/src/modules/lists/svg.d.ts +1 -0
- package/packages/core/src/modules/lists/svg.js +1 -0
- package/packages/core/src/modules/machine/index.d.ts +1 -0
- package/packages/core/src/modules/machine/index.js +1 -0
- package/packages/core/src/modules/machine/svg.d.ts +1 -0
- package/packages/core/src/modules/machine/svg.js +1 -0
- package/packages/core/src/modules/media/index.d.ts +1 -0
- package/packages/core/src/modules/media/index.js +1 -0
- package/packages/core/src/modules/mesh/index.d.ts +1 -0
- package/packages/core/src/modules/mesh/index.js +1 -0
- package/packages/core/src/modules/mesh/static.d.ts +1 -0
- package/packages/core/src/modules/mesh/static.js +1 -0
- package/packages/core/src/modules/mesh/svg.d.ts +1 -0
- package/packages/core/src/modules/mesh/svg.js +1 -0
- package/packages/core/src/modules/mix/index.d.ts +1 -0
- package/packages/core/src/modules/mix/index.js +1 -0
- package/packages/core/src/modules/mix/svg.d.ts +1 -0
- package/packages/core/src/modules/mix/svg.js +1 -0
- package/packages/core/src/modules/motion/index.d.ts +1 -0
- package/packages/core/src/modules/motion/index.js +1 -0
- package/packages/core/src/modules/motion/svg.d.ts +1 -0
- package/packages/core/src/modules/motion/svg.js +1 -0
- package/packages/core/src/modules/nested/index.d.ts +1 -0
- package/packages/core/src/modules/nested/index.js +1 -0
- package/packages/core/src/modules/nested/svg.d.ts +1 -0
- package/packages/core/src/modules/nested/svg.js +1 -0
- package/packages/core/src/modules/paint/geometry.d.ts +1 -0
- package/packages/core/src/modules/paint/geometry.js +1 -0
- package/packages/core/src/modules/paint/index.d.ts +1 -0
- package/packages/core/src/modules/paint/index.js +1 -0
- package/packages/core/src/modules/paint/svg.d.ts +1 -0
- package/packages/core/src/modules/paint/svg.js +1 -0
- package/packages/core/src/modules/pathfollow/index.d.ts +1 -0
- package/packages/core/src/modules/pathfollow/index.js +1 -0
- package/packages/core/src/modules/pathfollow/svg.d.ts +1 -0
- package/packages/core/src/modules/pathfollow/svg.js +1 -0
- package/packages/core/src/modules/posepad/index.d.ts +1 -0
- package/packages/core/src/modules/posepad/index.js +1 -0
- package/packages/core/src/modules/rig/index.d.ts +1 -0
- package/packages/core/src/modules/rig/index.js +1 -0
- package/packages/core/src/modules/rig/svg.d.ts +1 -0
- package/packages/core/src/modules/rig/svg.js +1 -0
- package/packages/core/src/modules/scroll/index.d.ts +1 -0
- package/packages/core/src/modules/scroll/index.js +1 -0
- package/packages/core/src/modules/scroll/svg.d.ts +1 -0
- package/packages/core/src/modules/scroll/svg.js +1 -0
- package/packages/core/src/modules/skin/index.d.ts +1 -0
- package/packages/core/src/modules/skin/index.js +1 -0
- package/packages/core/src/modules/skin/svg.d.ts +1 -0
- package/packages/core/src/modules/skin/svg.js +1 -0
- package/packages/core/src/modules/surface/index.d.ts +1 -0
- package/packages/core/src/modules/surface/index.js +1 -0
- package/packages/core/src/modules/surface/svg.d.ts +1 -0
- package/packages/core/src/modules/surface/svg.js +1 -0
- package/packages/core/src/modules/text/hit.d.ts +1 -0
- package/packages/core/src/modules/text/hit.js +1 -0
- package/packages/core/src/modules/text/host.d.ts +1 -0
- package/packages/core/src/modules/text/host.js +1 -0
- package/packages/core/src/modules/text/index.d.ts +1 -0
- package/packages/core/src/modules/text/index.js +1 -0
- package/packages/core/src/modules/text/svg.d.ts +1 -0
- package/packages/core/src/modules/text/svg.js +1 -0
- package/packages/core/src/modules/text-effects/index.d.ts +1 -0
- package/packages/core/src/modules/text-effects/index.js +1 -0
- package/packages/core/src/modules/text-effects/svg.d.ts +1 -0
- package/packages/core/src/modules/text-effects/svg.js +1 -0
- package/packages/core/src/modules/text-input/index.d.ts +1 -0
- package/packages/core/src/modules/text-input/index.js +1 -0
- package/packages/core/src/modules/text-input/svg.d.ts +1 -0
- package/packages/core/src/modules/text-input/svg.js +1 -0
- package/packages/core/src/modules.d.ts +65 -0
- package/packages/core/src/modules.js +103 -0
- package/packages/core/src/path.d.ts +47 -0
- package/packages/core/src/path.js +288 -0
- package/packages/core/src/player.d.ts +109 -0
- package/packages/core/src/player.js +714 -0
- package/packages/core/src/random.d.ts +11 -0
- package/packages/core/src/random.js +43 -0
- package/packages/core/src/registry.d.ts +106 -0
- package/packages/core/src/registry.js +234 -0
- package/packages/core/src/schema.d.ts +4 -0
- package/packages/core/src/schema.js +91 -0
- package/packages/core/src/script-events.d.ts +1 -0
- package/packages/core/src/script-events.js +27 -0
- package/packages/core/src/script-writes.d.ts +12 -0
- package/packages/core/src/script-writes.js +106 -0
- package/packages/core/src/script.d.ts +55 -0
- package/packages/core/src/script.js +746 -0
- package/packages/core/src/svg.d.ts +65 -0
- package/packages/core/src/svg.js +182 -0
- package/packages/core/src/time.d.ts +7 -0
- package/packages/core/src/time.js +19 -0
- package/packages/markup/src/a11y.d.ts +1 -0
- package/packages/markup/src/a11y.js +1 -0
- package/packages/markup/src/async.d.ts +4 -0
- package/packages/markup/src/async.js +8 -0
- package/packages/markup/src/bind.d.ts +1 -0
- package/packages/markup/src/bind.js +1 -0
- package/packages/markup/src/browser.d.ts +2 -0
- package/packages/markup/src/browser.js +6 -0
- package/packages/markup/src/colormix.d.ts +1 -0
- package/packages/markup/src/colormix.js +1 -0
- package/packages/markup/src/compile.d.ts +60 -0
- package/packages/markup/src/compile.js +747 -0
- package/packages/markup/src/components.d.ts +1 -0
- package/packages/markup/src/components.js +1 -0
- package/packages/markup/src/contour.d.ts +1 -0
- package/packages/markup/src/contour.js +1 -0
- package/packages/markup/src/convert.d.ts +1 -0
- package/packages/markup/src/convert.js +1 -0
- package/packages/markup/src/data-artboard.d.ts +1 -0
- package/packages/markup/src/data-artboard.js +1 -0
- package/packages/markup/src/data.d.ts +1 -0
- package/packages/markup/src/data.js +1 -0
- package/packages/markup/src/decompile.d.ts +2 -0
- package/packages/markup/src/decompile.js +278 -0
- package/packages/markup/src/events.d.ts +1 -0
- package/packages/markup/src/events.js +1 -0
- package/packages/markup/src/fields.d.ts +7 -0
- package/packages/markup/src/fields.js +15 -0
- package/packages/markup/src/focus.d.ts +1 -0
- package/packages/markup/src/focus.js +1 -0
- package/packages/markup/src/fonts.d.ts +1 -0
- package/packages/markup/src/fonts.js +1 -0
- package/packages/markup/src/format.d.ts +6 -0
- package/packages/markup/src/format.js +59 -0
- package/packages/markup/src/ik.d.ts +1 -0
- package/packages/markup/src/ik.js +1 -0
- package/packages/markup/src/index.d.ts +44 -0
- package/packages/markup/src/index.js +22 -0
- package/packages/markup/src/input.d.ts +1 -0
- package/packages/markup/src/input.js +1 -0
- package/packages/markup/src/layout.d.ts +22 -0
- package/packages/markup/src/layout.js +117 -0
- package/packages/markup/src/libraries-async.d.ts +1 -0
- package/packages/markup/src/libraries-async.js +1 -0
- package/packages/markup/src/libraries.d.ts +1 -0
- package/packages/markup/src/libraries.js +1 -0
- package/packages/markup/src/library-hooks.d.ts +1 -0
- package/packages/markup/src/library-hooks.js +1 -0
- package/packages/markup/src/lists.d.ts +1 -0
- package/packages/markup/src/lists.js +1 -0
- package/packages/markup/src/machine.d.ts +1 -0
- package/packages/markup/src/machine.js +1 -0
- package/packages/markup/src/markup-layout.d.ts +1 -0
- package/packages/markup/src/markup-layout.js +1 -0
- package/packages/markup/src/mix.d.ts +1 -0
- package/packages/markup/src/mix.js +1 -0
- package/packages/markup/src/module-hooks.d.ts +21 -0
- package/packages/markup/src/module-hooks.js +56 -0
- package/packages/markup/src/modules.d.ts +1 -0
- package/packages/markup/src/modules.js +1 -0
- package/packages/markup/src/motion.d.ts +1 -0
- package/packages/markup/src/motion.js +1 -0
- package/packages/markup/src/names.d.ts +32 -0
- package/packages/markup/src/names.js +89 -0
- package/packages/markup/src/nested.d.ts +1 -0
- package/packages/markup/src/nested.js +1 -0
- package/packages/markup/src/pathfollow.d.ts +1 -0
- package/packages/markup/src/pathfollow.js +1 -0
- package/packages/markup/src/reuse.d.ts +1 -0
- package/packages/markup/src/reuse.js +1 -0
- package/packages/markup/src/rig.d.ts +1 -0
- package/packages/markup/src/rig.js +1 -0
- package/packages/markup/src/scroll.d.ts +1 -0
- package/packages/markup/src/scroll.js +1 -0
- package/packages/markup/src/skin.d.ts +1 -0
- package/packages/markup/src/skin.js +1 -0
- package/packages/markup/src/text-effects.d.ts +1 -0
- package/packages/markup/src/text-effects.js +1 -0
- package/packages/markup/src/text-input.d.ts +1 -0
- package/packages/markup/src/text-input.js +1 -0
- package/packages/markup/src/text.d.ts +1 -0
- package/packages/markup/src/text.js +1 -0
- package/packages/markup/src/xml.d.ts +67 -0
- package/packages/markup/src/xml.js +211 -0
- package/packages/playground/src/app.d.ts +3 -0
- package/packages/playground/src/app.js +586 -0
- package/packages/playground/src/page.html +117 -0
- package/packages/playground/src/pure.d.ts +32 -0
- package/packages/playground/src/pure.js +125 -0
- package/packages/playground/src/style.css +1043 -0
- package/packages/web/dist/anima-a11y-actions.js +1 -0
- package/packages/web/dist/anima-a11y-bounds.js +1 -0
- package/packages/web/dist/anima-a11y-dom.js +1 -0
- package/packages/web/dist/anima-a11y-navigation.js +1 -0
- package/packages/web/dist/anima-a11y-text.js +1 -0
- package/packages/web/dist/anima-a11y.js +1 -0
- package/packages/web/dist/anima-assetio.js +1 -0
- package/packages/web/dist/anima-assets.js +1 -0
- package/packages/web/dist/anima-bind.js +1 -0
- package/packages/web/dist/anima-canvas-mesh.js +1 -0
- package/packages/web/dist/anima-canvas.js +1 -0
- package/packages/web/dist/anima-colormix.js +1 -0
- package/packages/web/dist/anima-componentpaint.js +1 -0
- package/packages/web/dist/anima-components.js +1 -0
- package/packages/web/dist/anima-composite.js +1 -0
- package/packages/web/dist/anima-contour.js +1 -0
- package/packages/web/dist/anima-convert.js +1 -0
- package/packages/web/dist/anima-corners.js +1 -0
- package/packages/web/dist/anima-data-artboard-values.js +1 -0
- package/packages/web/dist/anima-data-artboard.js +1 -0
- package/packages/web/dist/anima-data-host.js +1 -0
- package/packages/web/dist/anima-data.js +1 -0
- package/packages/web/dist/anima-derive.js +1 -0
- package/packages/web/dist/anima-devtools.js +1 -0
- package/packages/web/dist/anima-events.js +1 -0
- package/packages/web/dist/anima-focus.js +1 -0
- package/packages/web/dist/anima-fonts-info.js +1 -0
- package/packages/web/dist/anima-fonts-options.js +1 -0
- package/packages/web/dist/anima-fonts-text.js +1 -0
- package/packages/web/dist/anima-fonts.js +1 -0
- package/packages/web/dist/anima-host-edit.js +1 -0
- package/packages/web/dist/anima-host-fit-size.js +1 -0
- package/packages/web/dist/anima-host-fit.js +1 -0
- package/packages/web/dist/anima-host-values.js +1 -0
- package/packages/web/dist/anima-host.js +1 -0
- package/packages/web/dist/anima-icon.js +1 -0
- package/packages/web/dist/anima-ik.js +1 -0
- package/packages/web/dist/anima-input.js +1 -0
- package/packages/web/dist/anima-layout-reflow.js +1 -0
- package/packages/web/dist/anima-layout-svg.js +1 -0
- package/packages/web/dist/anima-layout.js +1 -0
- package/packages/web/dist/anima-lists.js +1 -0
- package/packages/web/dist/anima-machine.js +1 -0
- package/packages/web/dist/anima-markup-a11y.js +1 -0
- package/packages/web/dist/anima-markup-animation.js +1 -0
- package/packages/web/dist/anima-markup-bind.js +1 -0
- package/packages/web/dist/anima-markup-colormix.js +1 -0
- package/packages/web/dist/anima-markup-components.js +1 -0
- package/packages/web/dist/anima-markup-convert.js +1 -0
- package/packages/web/dist/anima-markup-data-artboard.js +1 -0
- package/packages/web/dist/anima-markup-hooks.js +1 -0
- package/packages/web/dist/anima-markup-layout.js +1 -0
- package/packages/web/dist/anima-markup-libraries.js +1 -0
- package/packages/web/dist/anima-markup-paint.js +1 -0
- package/packages/web/dist/anima-markup-rig.js +1 -0
- package/packages/web/dist/anima-markup-surface.js +1 -0
- package/packages/web/dist/anima-markup-text-effects.js +1 -0
- package/packages/web/dist/anima-markup-text-input.js +1 -0
- package/packages/web/dist/anima-markup-text.js +1 -0
- package/packages/web/dist/anima-markup.js +1 -0
- package/packages/web/dist/anima-media.js +1 -0
- package/packages/web/dist/anima-mesh.js +1 -0
- package/packages/web/dist/anima-mix.js +1 -0
- package/packages/web/dist/anima-motion.js +1 -0
- package/packages/web/dist/anima-nested.js +1 -0
- package/packages/web/dist/anima-paint-sampling.js +1 -0
- package/packages/web/dist/anima-paint.js +1 -0
- package/packages/web/dist/anima-pathfollow.js +1 -0
- package/packages/web/dist/anima-posepad-handle.js +1 -0
- package/packages/web/dist/anima-posepad.js +1 -0
- package/packages/web/dist/anima-rig-distance.js +1 -0
- package/packages/web/dist/anima-rig-origin.js +1 -0
- package/packages/web/dist/anima-rig.js +1 -0
- package/packages/web/dist/anima-scroll.js +1 -0
- package/packages/web/dist/anima-skin-auto.js +1 -0
- package/packages/web/dist/anima-skin-dash.js +1 -0
- package/packages/web/dist/anima-skin-mesh.js +1 -0
- package/packages/web/dist/anima-skin-values.js +1 -0
- package/packages/web/dist/anima-skin.js +1 -0
- package/packages/web/dist/anima-surface.js +1 -0
- package/packages/web/dist/anima-text-canvas.js +1 -0
- package/packages/web/dist/anima-text-effects.js +1 -0
- package/packages/web/dist/anima-text-hit.js +1 -0
- package/packages/web/dist/anima-text-host.js +1 -0
- package/packages/web/dist/anima-text-input-canvas.js +1 -0
- package/packages/web/dist/anima-text-input-clipboard.js +1 -0
- package/packages/web/dist/anima-text-input-extra.js +1 -0
- package/packages/web/dist/anima-text-input-svg.js +1 -0
- package/packages/web/dist/anima-text-input.js +1 -0
- package/packages/web/dist/anima-text-overflow.js +1 -0
- package/packages/web/dist/anima-text.js +1 -0
- package/packages/web/src/a11y-actions.d.ts +1 -0
- package/packages/web/src/a11y-actions.js +1 -0
- package/packages/web/src/a11y-bounds.d.ts +1 -0
- package/packages/web/src/a11y-bounds.js +1 -0
- package/packages/web/src/a11y-dom.d.ts +1 -0
- package/packages/web/src/a11y-dom.js +1 -0
- package/packages/web/src/a11y-navigation.d.ts +1 -0
- package/packages/web/src/a11y-navigation.js +1 -0
- package/packages/web/src/a11y-text.d.ts +1 -0
- package/packages/web/src/a11y-text.js +1 -0
- package/packages/web/src/a11y.d.ts +1 -0
- package/packages/web/src/a11y.js +1 -0
- package/packages/web/src/a11yactions.d.ts +1 -0
- package/packages/web/src/a11yactions.js +1 -0
- package/packages/web/src/all-modules.d.ts +73 -0
- package/packages/web/src/all-modules.js +73 -0
- package/packages/web/src/assetio.d.ts +1 -0
- package/packages/web/src/assetio.js +1 -0
- package/packages/web/src/assets.d.ts +1 -0
- package/packages/web/src/assets.js +1 -0
- package/packages/web/src/bind.d.ts +1 -0
- package/packages/web/src/bind.js +1 -0
- package/packages/web/src/canvas-mesh.d.ts +1 -0
- package/packages/web/src/canvas-mesh.js +1 -0
- package/packages/web/src/canvas.d.ts +1 -0
- package/packages/web/src/canvas.js +1 -0
- package/packages/web/src/colormix.d.ts +1 -0
- package/packages/web/src/colormix.js +1 -0
- package/packages/web/src/componentpaint.d.ts +1 -0
- package/packages/web/src/componentpaint.js +1 -0
- package/packages/web/src/components.d.ts +1 -0
- package/packages/web/src/components.js +1 -0
- package/packages/web/src/composite.d.ts +1 -0
- package/packages/web/src/composite.js +1 -0
- package/packages/web/src/content-box.d.ts +7 -0
- package/packages/web/src/content-box.js +16 -0
- package/packages/web/src/contour.d.ts +1 -0
- package/packages/web/src/contour.js +1 -0
- package/packages/web/src/convert.d.ts +1 -0
- package/packages/web/src/convert.js +1 -0
- package/packages/web/src/corners.d.ts +1 -0
- package/packages/web/src/corners.js +1 -0
- package/packages/web/src/data-artboard-values.d.ts +1 -0
- package/packages/web/src/data-artboard-values.js +1 -0
- package/packages/web/src/data-artboard.d.ts +1 -0
- package/packages/web/src/data-artboard.js +1 -0
- package/packages/web/src/data-host.d.ts +1 -0
- package/packages/web/src/data-host.js +1 -0
- package/packages/web/src/data.d.ts +1 -0
- package/packages/web/src/data.js +1 -0
- package/packages/web/src/dataartboard.d.ts +1 -0
- package/packages/web/src/dataartboard.js +1 -0
- package/packages/web/src/datahost.d.ts +1 -0
- package/packages/web/src/datahost.js +1 -0
- package/packages/web/src/derive.d.ts +1 -0
- package/packages/web/src/derive.js +1 -0
- package/packages/web/src/devtools.d.ts +1 -0
- package/packages/web/src/devtools.js +1 -0
- package/packages/web/src/events.d.ts +1 -0
- package/packages/web/src/events.js +1 -0
- package/packages/web/src/focus.d.ts +1 -0
- package/packages/web/src/focus.js +1 -0
- package/packages/web/src/fonts-info.d.ts +1 -0
- package/packages/web/src/fonts-info.js +1 -0
- package/packages/web/src/fonts-options.d.ts +1 -0
- package/packages/web/src/fonts-options.js +1 -0
- package/packages/web/src/fonts-text.d.ts +1 -0
- package/packages/web/src/fonts-text.js +1 -0
- package/packages/web/src/fonts.d.ts +1 -0
- package/packages/web/src/fonts.js +1 -0
- package/packages/web/src/host-edit.d.ts +1 -0
- package/packages/web/src/host-edit.js +1 -0
- package/packages/web/src/host-fit-size.d.ts +1 -0
- package/packages/web/src/host-fit-size.js +1 -0
- package/packages/web/src/host-fit.d.ts +1 -0
- package/packages/web/src/host-fit.js +1 -0
- package/packages/web/src/host-values.d.ts +1 -0
- package/packages/web/src/host-values.js +1 -0
- package/packages/web/src/host.d.ts +1 -0
- package/packages/web/src/host.js +1 -0
- package/packages/web/src/hostedit.d.ts +1 -0
- package/packages/web/src/hostedit.js +1 -0
- package/packages/web/src/hostvalues.d.ts +1 -0
- package/packages/web/src/hostvalues.js +1 -0
- package/packages/web/src/ik.d.ts +1 -0
- package/packages/web/src/ik.js +1 -0
- package/packages/web/src/index.d.ts +123 -0
- package/packages/web/src/index.js +774 -0
- package/packages/web/src/input.d.ts +1 -0
- package/packages/web/src/input.js +1 -0
- package/packages/web/src/layout-reflow.d.ts +1 -0
- package/packages/web/src/layout-reflow.js +1 -0
- package/packages/web/src/layout-svg.d.ts +1 -0
- package/packages/web/src/layout-svg.js +1 -0
- package/packages/web/src/layout.d.ts +1 -0
- package/packages/web/src/layout.js +1 -0
- package/packages/web/src/lists.d.ts +1 -0
- package/packages/web/src/lists.js +1 -0
- package/packages/web/src/machine.d.ts +1 -0
- package/packages/web/src/machine.js +1 -0
- package/packages/web/src/markup-a11y.d.ts +1 -0
- package/packages/web/src/markup-a11y.js +1 -0
- package/packages/web/src/markup-animation.d.ts +1 -0
- package/packages/web/src/markup-animation.js +1 -0
- package/packages/web/src/markup-bind.d.ts +1 -0
- package/packages/web/src/markup-bind.js +1 -0
- package/packages/web/src/markup-colormix.d.ts +1 -0
- package/packages/web/src/markup-colormix.js +1 -0
- package/packages/web/src/markup-components.d.ts +1 -0
- package/packages/web/src/markup-components.js +1 -0
- package/packages/web/src/markup-convert.d.ts +1 -0
- package/packages/web/src/markup-convert.js +1 -0
- package/packages/web/src/markup-data-artboard.d.ts +1 -0
- package/packages/web/src/markup-data-artboard.js +1 -0
- package/packages/web/src/markup-hooks.d.ts +1 -0
- package/packages/web/src/markup-hooks.js +1 -0
- package/packages/web/src/markup-layout.d.ts +1 -0
- package/packages/web/src/markup-layout.js +1 -0
- package/packages/web/src/markup-libraries.d.ts +1 -0
- package/packages/web/src/markup-libraries.js +1 -0
- package/packages/web/src/markup-paint.d.ts +1 -0
- package/packages/web/src/markup-paint.js +1 -0
- package/packages/web/src/markup-rig.d.ts +1 -0
- package/packages/web/src/markup-rig.js +1 -0
- package/packages/web/src/markup-surface.d.ts +1 -0
- package/packages/web/src/markup-surface.js +1 -0
- package/packages/web/src/markup-text-effects.d.ts +1 -0
- package/packages/web/src/markup-text-effects.js +1 -0
- package/packages/web/src/markup-text-input.d.ts +1 -0
- package/packages/web/src/markup-text-input.js +1 -0
- package/packages/web/src/markup-text.d.ts +1 -0
- package/packages/web/src/markup-text.js +1 -0
- package/packages/web/src/markup.d.ts +1 -0
- package/packages/web/src/markup.js +1 -0
- package/packages/web/src/media.d.ts +1 -0
- package/packages/web/src/media.js +1 -0
- package/packages/web/src/mesh.d.ts +1 -0
- package/packages/web/src/mesh.js +1 -0
- package/packages/web/src/mix.d.ts +1 -0
- package/packages/web/src/mix.js +1 -0
- package/packages/web/src/motion.d.ts +1 -0
- package/packages/web/src/motion.js +1 -0
- package/packages/web/src/nested.d.ts +1 -0
- package/packages/web/src/nested.js +1 -0
- package/packages/web/src/paint-sampling.d.ts +1 -0
- package/packages/web/src/paint-sampling.js +1 -0
- package/packages/web/src/paint.d.ts +1 -0
- package/packages/web/src/paint.js +1 -0
- package/packages/web/src/pathfollow.d.ts +1 -0
- package/packages/web/src/pathfollow.js +1 -0
- package/packages/web/src/posepad-handle.d.ts +1 -0
- package/packages/web/src/posepad-handle.js +1 -0
- package/packages/web/src/posepad.d.ts +1 -0
- package/packages/web/src/posepad.js +1 -0
- package/packages/web/src/rig-distance.d.ts +1 -0
- package/packages/web/src/rig-distance.js +1 -0
- package/packages/web/src/rig-origin.d.ts +1 -0
- package/packages/web/src/rig-origin.js +1 -0
- package/packages/web/src/rig.d.ts +1 -0
- package/packages/web/src/rig.js +1 -0
- package/packages/web/src/scroll.d.ts +1 -0
- package/packages/web/src/scroll.js +1 -0
- package/packages/web/src/skin-auto.d.ts +1 -0
- package/packages/web/src/skin-auto.js +1 -0
- package/packages/web/src/skin-dash.d.ts +1 -0
- package/packages/web/src/skin-dash.js +1 -0
- package/packages/web/src/skin-mesh.d.ts +1 -0
- package/packages/web/src/skin-mesh.js +1 -0
- package/packages/web/src/skin-values.d.ts +1 -0
- package/packages/web/src/skin-values.js +1 -0
- package/packages/web/src/skin.d.ts +1 -0
- package/packages/web/src/skin.js +1 -0
- package/packages/web/src/surface.d.ts +1 -0
- package/packages/web/src/surface.js +1 -0
- package/packages/web/src/text-canvas.d.ts +1 -0
- package/packages/web/src/text-canvas.js +1 -0
- package/packages/web/src/text-effects.d.ts +1 -0
- package/packages/web/src/text-effects.js +1 -0
- package/packages/web/src/text-hit.d.ts +1 -0
- package/packages/web/src/text-hit.js +1 -0
- package/packages/web/src/text-host.d.ts +1 -0
- package/packages/web/src/text-host.js +1 -0
- package/packages/web/src/text-input-canvas.d.ts +1 -0
- package/packages/web/src/text-input-canvas.js +1 -0
- package/packages/web/src/text-input-clipboard.d.ts +1 -0
- package/packages/web/src/text-input-clipboard.js +1 -0
- package/packages/web/src/text-input-extra.d.ts +1 -0
- package/packages/web/src/text-input-extra.js +1 -0
- package/packages/web/src/text-input-svg.d.ts +1 -0
- package/packages/web/src/text-input-svg.js +1 -0
- package/packages/web/src/text-input.d.ts +1 -0
- package/packages/web/src/text-input.js +1 -0
- package/packages/web/src/text-overflow.d.ts +1 -0
- package/packages/web/src/text-overflow.js +1 -0
- package/packages/web/src/text.d.ts +1 -0
- package/packages/web/src/text.js +1 -0
- package/packages/web/src/texteffects.d.ts +1 -0
- package/packages/web/src/texteffects.js +1 -0
- package/packages/web/src/textinput.d.ts +1 -0
- package/packages/web/src/textinput.js +1 -0
- package/tools/browser-build.d.ts +3 -0
- package/tools/browser-build.js +33 -0
- package/tools/build-playground.d.ts +1 -0
- package/tools/build-playground.js +33 -0
- package/tools/modules.generated.d.ts +217 -0
- package/tools/modules.generated.js +1215 -0
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
import { VERBOSE as V } from "../../../packages/core/src/flags.js";
|
|
2
|
+
import {
|
|
3
|
+
occurrence,
|
|
4
|
+
capturing,
|
|
5
|
+
stampEntryEvent
|
|
6
|
+
} from "../../../packages/core/src/event-capture.js";
|
|
7
|
+
import { resolveAddress } from "../../../packages/core/src/load.js";
|
|
8
|
+
import { sampleTrack, mixValues } from "../../../packages/core/src/player.js";
|
|
9
|
+
import { StateClocks } from "./control.js";
|
|
10
|
+
import { reached, timeFloor } from "../../../packages/core/src/time.js";
|
|
11
|
+
import { bounds, crossings, position, timing } from "./clock.js";
|
|
12
|
+
const finite = (x) => {
|
|
13
|
+
if (!Number.isFinite(x)) throw Error("anima: expected a finite number");
|
|
14
|
+
return x;
|
|
15
|
+
};
|
|
16
|
+
let sample = sampleTrack, blend = mixValues, resolve = resolveAddress;
|
|
17
|
+
const mixValue = (a, b, w, discrete) => discrete ? b : blend(a, b, w);
|
|
18
|
+
function metadata(t) {
|
|
19
|
+
return {
|
|
20
|
+
name: t.name,
|
|
21
|
+
duration: t.duration,
|
|
22
|
+
speed: timing.get(t)?.speed ?? 1,
|
|
23
|
+
quantize: timing.get(t)?.quantize ?? null,
|
|
24
|
+
work: [...bounds(t)],
|
|
25
|
+
loop: t.loop
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
class TimelineInstance {
|
|
29
|
+
animation;
|
|
30
|
+
name;
|
|
31
|
+
#owner;
|
|
32
|
+
#mix = 1;
|
|
33
|
+
#speed;
|
|
34
|
+
#loop;
|
|
35
|
+
#clock;
|
|
36
|
+
#active = true;
|
|
37
|
+
#playing = true;
|
|
38
|
+
#entered = true;
|
|
39
|
+
#frozen = false;
|
|
40
|
+
didLoop = false;
|
|
41
|
+
constructor(owner, t, options = {}) {
|
|
42
|
+
this.#owner = owner;
|
|
43
|
+
this.animation = t;
|
|
44
|
+
this.name = options.name ?? t.name;
|
|
45
|
+
if (!/^[a-z][a-zA-Z0-9-]*$/.test(this.name)) throw Error("anima: invalid instance name");
|
|
46
|
+
this.#speed = finite(options.speed ?? timing.get(t)?.speed ?? 1);
|
|
47
|
+
this.#loop = options.loop ?? t.loop;
|
|
48
|
+
this.#clock = bounds(t)[this.#speed < 0 ? 1 : 0];
|
|
49
|
+
this.mix = options.mix ?? 1;
|
|
50
|
+
this.loop = this.#loop;
|
|
51
|
+
}
|
|
52
|
+
get info() {
|
|
53
|
+
return metadata(this.animation);
|
|
54
|
+
}
|
|
55
|
+
get time() {
|
|
56
|
+
return position(this.animation, this.#clock, this.#loop, false);
|
|
57
|
+
}
|
|
58
|
+
set time(value) {
|
|
59
|
+
this.seek(value);
|
|
60
|
+
}
|
|
61
|
+
get playing() {
|
|
62
|
+
return this.#active && this.#playing && !this.finished;
|
|
63
|
+
}
|
|
64
|
+
get finished() {
|
|
65
|
+
const [a, b] = bounds(this.animation);
|
|
66
|
+
return this.#loop === "once" && (this.#speed < 0 ? reached(a, this.#clock) : reached(this.#clock, b));
|
|
67
|
+
}
|
|
68
|
+
get mix() {
|
|
69
|
+
return this.#mix;
|
|
70
|
+
}
|
|
71
|
+
set mix(value) {
|
|
72
|
+
this.#mix = Math.max(0, Math.min(1, finite(value)));
|
|
73
|
+
this.#owner.wake();
|
|
74
|
+
}
|
|
75
|
+
get speed() {
|
|
76
|
+
return this.#speed;
|
|
77
|
+
}
|
|
78
|
+
set speed(value) {
|
|
79
|
+
this.#speed = finite(value);
|
|
80
|
+
this.#owner.wake();
|
|
81
|
+
}
|
|
82
|
+
get loop() {
|
|
83
|
+
return this.#loop;
|
|
84
|
+
}
|
|
85
|
+
set loop(value) {
|
|
86
|
+
if (value !== null && !["once", "loop", "pingpong"].includes(value))
|
|
87
|
+
throw Error("anima: invalid loop");
|
|
88
|
+
this.#loop = value ?? this.animation.loop;
|
|
89
|
+
this.#owner.wake();
|
|
90
|
+
}
|
|
91
|
+
seek(seconds) {
|
|
92
|
+
const [a, b] = bounds(this.animation);
|
|
93
|
+
this.#clock = Math.max(a, Math.min(b, finite(seconds)));
|
|
94
|
+
this.#frozen = false;
|
|
95
|
+
this.#entered = false;
|
|
96
|
+
this.didLoop = false;
|
|
97
|
+
this.#active = true;
|
|
98
|
+
this.#owner.wake();
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
scrub(progress) {
|
|
102
|
+
const [a, b] = bounds(this.animation);
|
|
103
|
+
this.pause();
|
|
104
|
+
return this.seek(a + (b - a) * Math.max(0, Math.min(1, finite(progress))));
|
|
105
|
+
}
|
|
106
|
+
play() {
|
|
107
|
+
this.#active = true;
|
|
108
|
+
this.#playing = true;
|
|
109
|
+
this.#owner.wake();
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
pause() {
|
|
113
|
+
this.#playing = false;
|
|
114
|
+
this.#owner.wake();
|
|
115
|
+
return this;
|
|
116
|
+
}
|
|
117
|
+
stop() {
|
|
118
|
+
this.#active = false;
|
|
119
|
+
this.#playing = false;
|
|
120
|
+
this.#clock = bounds(this.animation)[this.#speed < 0 ? 1 : 0];
|
|
121
|
+
this.#frozen = false;
|
|
122
|
+
this.#entered = true;
|
|
123
|
+
this.#owner.wake();
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
advance(dt) {
|
|
127
|
+
finite(dt);
|
|
128
|
+
if (dt < 0) throw Error("anima: advance needs dt \u2265 0");
|
|
129
|
+
const events = [];
|
|
130
|
+
this.didLoop = false;
|
|
131
|
+
if (!this.#active || !this.#playing) return events;
|
|
132
|
+
if (this.#entered && this.#owner.player.reducedMotion && this.animation.reduced !== "play") {
|
|
133
|
+
const end = this.animation.reduced === "end";
|
|
134
|
+
this.#clock = this.#owner.reduce(
|
|
135
|
+
this.animation,
|
|
136
|
+
this.#speed,
|
|
137
|
+
end,
|
|
138
|
+
this.name,
|
|
139
|
+
events,
|
|
140
|
+
this.#speed
|
|
141
|
+
);
|
|
142
|
+
this.#frozen = true;
|
|
143
|
+
this.#entered = false;
|
|
144
|
+
this.#playing = false;
|
|
145
|
+
return events;
|
|
146
|
+
}
|
|
147
|
+
const a = this.#clock, b = a + dt * this.#speed;
|
|
148
|
+
const [lo, hi] = bounds(this.animation), d = hi - lo;
|
|
149
|
+
this.didLoop = this.#loop === "once" ? !reached(lo, a) && reached(lo, b) || !reached(a, hi) && reached(b, hi) : timeFloor(a - lo, d) !== timeFloor(b - lo, d);
|
|
150
|
+
crossings(this.animation, a, b, this.#entered, this.name, events, this.#loop);
|
|
151
|
+
this.#entered = false;
|
|
152
|
+
this.#clock = this.#loop === "once" ? Math.max(lo, Math.min(hi, b)) : b;
|
|
153
|
+
return events;
|
|
154
|
+
}
|
|
155
|
+
apply(mix = this.mix) {
|
|
156
|
+
this.mix = mix;
|
|
157
|
+
this.#active = true;
|
|
158
|
+
this.#owner.wake();
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
sampleInto(values) {
|
|
162
|
+
if (!this.#active || !this.#mix) return;
|
|
163
|
+
const time = position(this.animation, this.#clock, this.#frozen ? "once" : this.#loop);
|
|
164
|
+
for (const track of this.animation.tracks) {
|
|
165
|
+
const index = this.#owner.slots.get(track.addr);
|
|
166
|
+
const prop = this.#owner.player.model.addrs.get(track.addr).prop;
|
|
167
|
+
const discrete = ["int", "uint", "string", "reference", "bool"].includes(prop.type);
|
|
168
|
+
values[index] = mixValue(
|
|
169
|
+
values[index],
|
|
170
|
+
sample(track, time, this.#owner.player),
|
|
171
|
+
this.#mix,
|
|
172
|
+
discrete
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
class MachineInstance {
|
|
178
|
+
name;
|
|
179
|
+
player;
|
|
180
|
+
#owner;
|
|
181
|
+
#active = true;
|
|
182
|
+
#playing = true;
|
|
183
|
+
#mix = 1;
|
|
184
|
+
constructor(owner, name, player) {
|
|
185
|
+
this.#owner = owner;
|
|
186
|
+
this.name = name;
|
|
187
|
+
this.player = player;
|
|
188
|
+
}
|
|
189
|
+
get mix() {
|
|
190
|
+
return this.#mix;
|
|
191
|
+
}
|
|
192
|
+
set mix(v) {
|
|
193
|
+
this.#mix = Math.max(0, Math.min(1, finite(v)));
|
|
194
|
+
this.#owner.wake();
|
|
195
|
+
}
|
|
196
|
+
set(name, value) {
|
|
197
|
+
this.player.set(name, value);
|
|
198
|
+
this.#owner.wake();
|
|
199
|
+
}
|
|
200
|
+
fire(name) {
|
|
201
|
+
this.player.fire(name);
|
|
202
|
+
this.#owner.wake();
|
|
203
|
+
}
|
|
204
|
+
get(name) {
|
|
205
|
+
return this.player.get(name);
|
|
206
|
+
}
|
|
207
|
+
states() {
|
|
208
|
+
return this.player.states();
|
|
209
|
+
}
|
|
210
|
+
play() {
|
|
211
|
+
this.#active = true;
|
|
212
|
+
this.#playing = true;
|
|
213
|
+
this.#owner.wake();
|
|
214
|
+
}
|
|
215
|
+
pause() {
|
|
216
|
+
this.#playing = false;
|
|
217
|
+
this.#owner.wake();
|
|
218
|
+
}
|
|
219
|
+
stop() {
|
|
220
|
+
this.#active = false;
|
|
221
|
+
this.#playing = false;
|
|
222
|
+
this.#owner.wake();
|
|
223
|
+
}
|
|
224
|
+
compose(dt, values, events) {
|
|
225
|
+
if (!this.#active) return true;
|
|
226
|
+
let settled = true;
|
|
227
|
+
if (this.#playing) {
|
|
228
|
+
this.player.reducedMotion = this.#owner.player.reducedMotion;
|
|
229
|
+
const r = this.player.step(dt, (a) => values[this.#owner.slots.get(a)]);
|
|
230
|
+
settled = r.settled;
|
|
231
|
+
events.push(...r.events.map((e) => ({ ...e, layer: this.name + "/" + e.layer })));
|
|
232
|
+
}
|
|
233
|
+
if (this.#mix)
|
|
234
|
+
for (const address of this.player.writes()) {
|
|
235
|
+
const prop = this.player.model.addrs.get(address);
|
|
236
|
+
const value = this.player.prop(prop.node, prop.key);
|
|
237
|
+
const i = this.#owner.slots.get(address);
|
|
238
|
+
values[i] = mixValue(
|
|
239
|
+
values[i],
|
|
240
|
+
value,
|
|
241
|
+
this.#mix,
|
|
242
|
+
["int", "uint", "string", "reference", "bool"].includes(prop.prop.type)
|
|
243
|
+
);
|
|
244
|
+
}
|
|
245
|
+
return settled;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
const runtimes = /* @__PURE__ */ new WeakMap();
|
|
249
|
+
const exits = /* @__PURE__ */ new WeakMap();
|
|
250
|
+
class MotionRuntime {
|
|
251
|
+
player;
|
|
252
|
+
slots;
|
|
253
|
+
instances = [];
|
|
254
|
+
timelines = /* @__PURE__ */ new Map();
|
|
255
|
+
machines = /* @__PURE__ */ new Map();
|
|
256
|
+
definitions;
|
|
257
|
+
PlayerClass;
|
|
258
|
+
#changed = false;
|
|
259
|
+
clocks;
|
|
260
|
+
constructor(player, definitions, PlayerClass) {
|
|
261
|
+
this.player = player;
|
|
262
|
+
this.clocks = new StateClocks(player);
|
|
263
|
+
this.definitions = definitions;
|
|
264
|
+
this.PlayerClass = PlayerClass;
|
|
265
|
+
this.slots = new Map(player.addrs.map((a, i) => [a, i]));
|
|
266
|
+
runtimes.set(player, this);
|
|
267
|
+
}
|
|
268
|
+
get busy() {
|
|
269
|
+
return this.#changed;
|
|
270
|
+
}
|
|
271
|
+
states() {
|
|
272
|
+
return Object.fromEntries(
|
|
273
|
+
[...this.machines].flatMap(
|
|
274
|
+
([name, m]) => Object.entries(m.states()).map(([layer, state]) => [name + "/" + layer, state])
|
|
275
|
+
)
|
|
276
|
+
);
|
|
277
|
+
}
|
|
278
|
+
inspect() {
|
|
279
|
+
return [...this.machines].flatMap(
|
|
280
|
+
([name, m]) => m.player.inspect().map((l) => ({ ...l, layer: name + "/" + l.layer }))
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
wake() {
|
|
284
|
+
this.#changed = true;
|
|
285
|
+
this.player.onChange?.();
|
|
286
|
+
}
|
|
287
|
+
enter = (run, from, to, tr, carry) => this.clocks.enter(run, from, to, tr, carry);
|
|
288
|
+
prepare = (run, s, dt, eligible) => this.clocks.prepare(run, s, dt, eligible);
|
|
289
|
+
rest = (_run, s) => this.clocks.controlled(s);
|
|
290
|
+
local(t, elapsed, _speed, run) {
|
|
291
|
+
return position(t, this.clocks.raw(run, elapsed));
|
|
292
|
+
}
|
|
293
|
+
duration = (t, speed, run) => this.clocks.duration(t, speed, run);
|
|
294
|
+
finished = (t, elapsed, run) => this.clocks.finished(t, elapsed, run);
|
|
295
|
+
resume = (run, time) => this.clocks.resume(run, time);
|
|
296
|
+
reduce(t, speed, end, layer, events, effective = speed * (timing.get(t)?.speed ?? 1)) {
|
|
297
|
+
const [a, b] = bounds(t), reverse = effective < 0;
|
|
298
|
+
const start = reverse ? b : a, finish = reverse ? a : b;
|
|
299
|
+
if (end) crossings(t, start, finish, true, layer, events, "once");
|
|
300
|
+
return end ? finish : start;
|
|
301
|
+
}
|
|
302
|
+
events(t, a, b, closed, layer, out, _speed, run, source) {
|
|
303
|
+
if (this.clocks.isControlled(run)) return;
|
|
304
|
+
const before = V ? out.length : 0;
|
|
305
|
+
crossings(
|
|
306
|
+
t,
|
|
307
|
+
this.clocks.raw(run, a),
|
|
308
|
+
this.clocks.raw(run, b),
|
|
309
|
+
closed && !this.clocks.synced(run),
|
|
310
|
+
layer,
|
|
311
|
+
out,
|
|
312
|
+
t.loop,
|
|
313
|
+
source
|
|
314
|
+
);
|
|
315
|
+
if (V && capturing) {
|
|
316
|
+
const span = (b - a) * _speed * (timing.get(t)?.speed ?? 1);
|
|
317
|
+
const fraction = !span ? 0 : (this.clocks.raw(run, b) - this.clocks.raw(run, a)) / span;
|
|
318
|
+
for (const e of out.slice(before)) {
|
|
319
|
+
e[occurrence] = (e[occurrence] ?? 0) * fraction;
|
|
320
|
+
if (closed) stampEntryEvent(e, ((e[occurrence] ?? 0) - 1) * (b - a));
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
gate(t, st, elapsed, run) {
|
|
325
|
+
const threshold = exits.get(t);
|
|
326
|
+
return this.clocks.gate(run, st, t, elapsed) && (threshold === void 0 || reached(
|
|
327
|
+
elapsed * Math.abs(st.speed * (timing.get(this.player.model.timelines[st.play])?.speed ?? 1)),
|
|
328
|
+
threshold
|
|
329
|
+
));
|
|
330
|
+
}
|
|
331
|
+
carry(t, st, elapsed, run) {
|
|
332
|
+
const threshold = exits.get(t);
|
|
333
|
+
return threshold === void 0 ? this.clocks.carry(run, st, t, elapsed) : Math.max(
|
|
334
|
+
0,
|
|
335
|
+
elapsed - (threshold && threshold / Math.abs(
|
|
336
|
+
st.speed * (timing.get(this.player.model.timelines[st.play])?.speed ?? 1)
|
|
337
|
+
))
|
|
338
|
+
);
|
|
339
|
+
}
|
|
340
|
+
pivot(p, node) {
|
|
341
|
+
const rest = p.model.nodes[node].raw.pivot ?? [0, 0];
|
|
342
|
+
return [p.num(node, "pivotX", rest[0]), p.num(node, "pivotY", rest[1])];
|
|
343
|
+
}
|
|
344
|
+
compose(dt, values, events) {
|
|
345
|
+
this.#changed = false;
|
|
346
|
+
let settled = true;
|
|
347
|
+
for (const i of this.instances) {
|
|
348
|
+
if (i instanceof TimelineInstance) {
|
|
349
|
+
events.push(...i.advance(dt));
|
|
350
|
+
i.sampleInto(values);
|
|
351
|
+
if (i.playing && i.speed !== 0) settled = false;
|
|
352
|
+
} else if (!i.compose(dt, values, events)) settled = false;
|
|
353
|
+
}
|
|
354
|
+
return settled && !this.#changed;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
function install(PlayerClass, sampler, mixer, resolver) {
|
|
358
|
+
sample = sampler;
|
|
359
|
+
blend = mixer;
|
|
360
|
+
resolve = resolver;
|
|
361
|
+
const runtime = (p) => {
|
|
362
|
+
const r = runtimes.get(p);
|
|
363
|
+
if (!r) throw Error("anima: requires motion");
|
|
364
|
+
return r;
|
|
365
|
+
};
|
|
366
|
+
const methods = {
|
|
367
|
+
timeline(name) {
|
|
368
|
+
const r = runtime(this);
|
|
369
|
+
let t = r.timelines.get(name);
|
|
370
|
+
if (!t) {
|
|
371
|
+
t = this.createTimeline(name);
|
|
372
|
+
r.timelines.set(name, t);
|
|
373
|
+
}
|
|
374
|
+
return t;
|
|
375
|
+
},
|
|
376
|
+
createTimeline(name, options = {}) {
|
|
377
|
+
const r = runtime(this), t = this.model.timelines.find((t2) => t2.name === name);
|
|
378
|
+
if (!t) throw Error("anima: unknown timeline " + name);
|
|
379
|
+
const instance = new TimelineInstance(r, t, options);
|
|
380
|
+
if (r.instances.some((i) => i.name === instance.name))
|
|
381
|
+
throw Error("anima: duplicate instance " + instance.name);
|
|
382
|
+
r.instances.push(instance);
|
|
383
|
+
r.wake();
|
|
384
|
+
return instance;
|
|
385
|
+
},
|
|
386
|
+
machine(name) {
|
|
387
|
+
const r = runtime(this);
|
|
388
|
+
let instance = r.machines.get(name);
|
|
389
|
+
if (!instance) {
|
|
390
|
+
const m = r.definitions.get(name);
|
|
391
|
+
if (!m) throw Error("anima: unknown machine " + name);
|
|
392
|
+
if (r.instances.some((i) => i.name === name))
|
|
393
|
+
throw Error("anima: duplicate instance " + name);
|
|
394
|
+
instance = new MachineInstance(
|
|
395
|
+
r,
|
|
396
|
+
name,
|
|
397
|
+
new r.PlayerClass(m, { reducedMotion: this.reducedMotion })
|
|
398
|
+
);
|
|
399
|
+
r.instances.push(instance);
|
|
400
|
+
r.machines.set(name, instance);
|
|
401
|
+
r.wake();
|
|
402
|
+
}
|
|
403
|
+
return instance;
|
|
404
|
+
},
|
|
405
|
+
node(id, type) {
|
|
406
|
+
runtime(this);
|
|
407
|
+
const index = this.model.ids.get(id);
|
|
408
|
+
if (index === void 0) return;
|
|
409
|
+
const n = this.model.nodes[index];
|
|
410
|
+
if (type && n.type !== type) return;
|
|
411
|
+
const local = () => [...this.local(index)], world = () => [...this.world(index)];
|
|
412
|
+
return {
|
|
413
|
+
id: n.id,
|
|
414
|
+
type: n.type,
|
|
415
|
+
get: (key) => {
|
|
416
|
+
const a = resolve(id + "." + key, this.model.nodes, this.model.ids);
|
|
417
|
+
const v = Array.isArray(a) ? this.prop(index, key) : this.model.addrs.has(id + "." + key) ? this.prop(index, key) : a.rest;
|
|
418
|
+
return Array.isArray(v) ? [...v] : typeof v === "object" ? void 0 : v;
|
|
419
|
+
},
|
|
420
|
+
get local() {
|
|
421
|
+
return local();
|
|
422
|
+
},
|
|
423
|
+
get world() {
|
|
424
|
+
return world();
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
|
+
},
|
|
428
|
+
seek(name, seconds) {
|
|
429
|
+
return this.timeline(name).seek(seconds);
|
|
430
|
+
},
|
|
431
|
+
scrub(name, progress) {
|
|
432
|
+
return this.timeline(name).scrub(progress);
|
|
433
|
+
},
|
|
434
|
+
applyTimeline(name, seconds, options = {}) {
|
|
435
|
+
const i = this.timeline(name).pause().seek(seconds);
|
|
436
|
+
i.mix = options.mix ?? 1;
|
|
437
|
+
return i;
|
|
438
|
+
}
|
|
439
|
+
};
|
|
440
|
+
Object.defineProperties(PlayerClass.prototype, Object.getOwnPropertyDescriptors(methods));
|
|
441
|
+
Object.defineProperty(PlayerClass.prototype, "animations", {
|
|
442
|
+
configurable: true,
|
|
443
|
+
get: function() {
|
|
444
|
+
return this.model.timelines.map(metadata);
|
|
445
|
+
}
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
export {
|
|
449
|
+
MachineInstance,
|
|
450
|
+
MotionRuntime,
|
|
451
|
+
TimelineInstance,
|
|
452
|
+
exits,
|
|
453
|
+
install,
|
|
454
|
+
metadata
|
|
455
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TimelineM } from '../../../packages/core/src/load.js';
|
|
2
|
+
import type { AnimaEvent } from '../../../packages/core/src/player.js';
|
|
3
|
+
export type Loop = TimelineM['loop'];
|
|
4
|
+
export interface Timing {
|
|
5
|
+
speed?: number;
|
|
6
|
+
quantize?: number;
|
|
7
|
+
work?: [number, number];
|
|
8
|
+
}
|
|
9
|
+
export declare const timing: WeakMap<TimelineM, Timing>;
|
|
10
|
+
export declare const bounds: (t: TimelineM) => [number, number];
|
|
11
|
+
export declare function position(t: TimelineM, clock: number, loop?: Loop, quantize?: boolean): number;
|
|
12
|
+
/** Source clock, before work-area folding and sample quantization. */
|
|
13
|
+
export declare function clock(t: TimelineM, elapsed: number, stateSpeed?: number): number;
|
|
14
|
+
export declare const duration: (t: TimelineM, speed: number) => number;
|
|
15
|
+
/** Half-open crossings, stable by authored event order for coincident events. */
|
|
16
|
+
export declare function crossings(t: TimelineM, a: number, b: number, closed: boolean, layer: string, out: AnimaEvent[], loop?: Loop, source?: [number, string][]): void;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { VERBOSE as V } from "../../../packages/core/src/flags.js";
|
|
2
|
+
import { stampEvent } from "../../../packages/core/src/event-capture.js";
|
|
3
|
+
import { reached, snapTime, foldTime } from "../../../packages/core/src/time.js";
|
|
4
|
+
const timing = /* @__PURE__ */ new WeakMap();
|
|
5
|
+
const bounds = (t) => timing.get(t)?.work ?? [0, t.duration];
|
|
6
|
+
function position(t, clock2, loop = t.loop, quantize = true) {
|
|
7
|
+
const [start, end] = bounds(t), d = end - start;
|
|
8
|
+
const relative = clock2 - start;
|
|
9
|
+
const x = loop === "once" ? Math.max(0, Math.min(d, snapTime(snapTime(relative, 0), d))) : foldTime(relative, d, loop === "pingpong");
|
|
10
|
+
let at = x === d ? end : start + x;
|
|
11
|
+
const q = timing.get(t)?.quantize;
|
|
12
|
+
if (quantize && q && at !== end) {
|
|
13
|
+
const tick = Math.round(at * q) / q;
|
|
14
|
+
at = Math.max(start, snapTime(at, tick) === tick ? tick : Math.floor(at * q) / q);
|
|
15
|
+
}
|
|
16
|
+
return at;
|
|
17
|
+
}
|
|
18
|
+
function clock(t, elapsed, stateSpeed = 1) {
|
|
19
|
+
const speed = stateSpeed * (timing.get(t)?.speed ?? 1);
|
|
20
|
+
const [a, b] = bounds(t);
|
|
21
|
+
return (speed < 0 ? b : a) + elapsed * speed;
|
|
22
|
+
}
|
|
23
|
+
const duration = (t, speed) => {
|
|
24
|
+
const [a, b] = bounds(t);
|
|
25
|
+
return (b - a) / Math.abs(speed * (timing.get(t)?.speed ?? 1));
|
|
26
|
+
};
|
|
27
|
+
function crossings(t, a, b, closed, layer, out, loop = t.loop, source = t.events) {
|
|
28
|
+
const [start, end] = bounds(t), d = end - start;
|
|
29
|
+
const reverse = b < a;
|
|
30
|
+
const lo = Math.min(a, b), hi = Math.max(a, b);
|
|
31
|
+
const period = loop === "pingpong" ? 2 * d : d;
|
|
32
|
+
const found = [];
|
|
33
|
+
for (const [at, name] of source) {
|
|
34
|
+
if (at < start || at > end) continue;
|
|
35
|
+
const first = loop === "once" ? 0 : Math.floor((lo - start) / period) - 1;
|
|
36
|
+
const last = loop === "once" ? 0 : Math.min(first + 1e4, Math.ceil((hi - start) / period) + 1);
|
|
37
|
+
const seen = /* @__PURE__ */ new Set();
|
|
38
|
+
for (let k = first; k <= last; k++) {
|
|
39
|
+
for (const x of loop === "pingpong" && at !== start && at !== end ? [at + k * period, 2 * end - at + k * period] : [at + k * period]) {
|
|
40
|
+
const hit = reverse ? reached(x, b) && (closed ? reached(a, x) : !reached(x, a)) : reached(b, x) && (closed ? reached(x, a) : !reached(a, x));
|
|
41
|
+
if (hit && !seen.has(x)) {
|
|
42
|
+
seen.add(x);
|
|
43
|
+
found.push([x, at, name]);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
found.sort((x, y) => reverse ? y[0] - x[0] : x[0] - y[0]);
|
|
49
|
+
for (const [at, time, name] of found) {
|
|
50
|
+
const event = { name, layer, time };
|
|
51
|
+
if (V) stampEvent(event, (at - a) / (b - a));
|
|
52
|
+
out.push(event);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export {
|
|
56
|
+
bounds,
|
|
57
|
+
clock,
|
|
58
|
+
crossings,
|
|
59
|
+
duration,
|
|
60
|
+
position,
|
|
61
|
+
timing
|
|
62
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { StateM, TransitionM, TimelineM } from '../../../packages/core/src/load.js';
|
|
2
|
+
import type { Player } from '../../../packages/core/src/player.js';
|
|
3
|
+
export declare const stateControls: WeakMap<StateM, {
|
|
4
|
+
hold?: boolean;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const syncs: WeakSet<TransitionM>;
|
|
7
|
+
export declare const nextExits: WeakMap<TransitionM, "step" | "loop">;
|
|
8
|
+
export declare class StateClocks {
|
|
9
|
+
#private;
|
|
10
|
+
readonly player: Player;
|
|
11
|
+
constructor(player: Player);
|
|
12
|
+
resume(run: object, time: number): void;
|
|
13
|
+
rate(s: StateM): number;
|
|
14
|
+
controlled(s: StateM): boolean;
|
|
15
|
+
synced(run: object): boolean;
|
|
16
|
+
isControlled(run: object): boolean;
|
|
17
|
+
input(s: StateM): number | undefined;
|
|
18
|
+
raw(run: object, elapsed: number): number;
|
|
19
|
+
enter(run: object, from: StateM | undefined, to: StateM, tr: TransitionM | undefined, carry: number): void;
|
|
20
|
+
arm(run: object, s: StateM, tr: TransitionM): number;
|
|
21
|
+
prepare(run: object, s: StateM, _dt: number, eligible: (t: TransitionM) => boolean): void;
|
|
22
|
+
gate(run: object, s: StateM, tr: TransitionM, elapsed: number): boolean;
|
|
23
|
+
carry(run: object, s: StateM, tr: TransitionM, elapsed: number): number | undefined;
|
|
24
|
+
finished(t: TimelineM, elapsed: number, run: object): boolean;
|
|
25
|
+
duration(t: TimelineM, speed: number, run: object): number;
|
|
26
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { bounds, clock, position, timing } from "./clock.js";
|
|
2
|
+
import { reached, snapTime, timeFloor } from "../../../packages/core/src/time.js";
|
|
3
|
+
const stateControls = /* @__PURE__ */ new WeakMap();
|
|
4
|
+
const syncs = /* @__PURE__ */ new WeakSet();
|
|
5
|
+
const nextExits = /* @__PURE__ */ new WeakMap();
|
|
6
|
+
class StateClocks {
|
|
7
|
+
#runs = /* @__PURE__ */ new WeakMap();
|
|
8
|
+
player;
|
|
9
|
+
constructor(player) {
|
|
10
|
+
this.player = player;
|
|
11
|
+
}
|
|
12
|
+
resume(run, time) {
|
|
13
|
+
const c = this.#runs.get(run);
|
|
14
|
+
if (!this.controlled(c.state)) c.start = time - run.time * this.rate(c.state);
|
|
15
|
+
c.limit = Infinity;
|
|
16
|
+
c.armed.clear();
|
|
17
|
+
}
|
|
18
|
+
rate(s) {
|
|
19
|
+
return s.speed * (timing.get(this.player.model.timelines[s.play])?.speed ?? 1);
|
|
20
|
+
}
|
|
21
|
+
controlled(s) {
|
|
22
|
+
return !!stateControls.get(s)?.hold || !!this.player.model.timeBindings?.has(s);
|
|
23
|
+
}
|
|
24
|
+
synced(run) {
|
|
25
|
+
return this.#runs.get(run).synced;
|
|
26
|
+
}
|
|
27
|
+
isControlled(run) {
|
|
28
|
+
return this.controlled(this.#runs.get(run).state);
|
|
29
|
+
}
|
|
30
|
+
input(s) {
|
|
31
|
+
const expression = this.player.model.timeBindings?.get(s);
|
|
32
|
+
if (!expression) return;
|
|
33
|
+
const inputs = new Map(
|
|
34
|
+
[...this.player.model.inputs.keys()].map((n) => [n, this.player.get(n)])
|
|
35
|
+
);
|
|
36
|
+
const [a, b] = bounds(this.player.model.timelines[s.play]);
|
|
37
|
+
return Math.max(a, Math.min(b, expression(inputs)));
|
|
38
|
+
}
|
|
39
|
+
raw(run, elapsed) {
|
|
40
|
+
const c = this.#runs.get(run);
|
|
41
|
+
if (Number.isFinite(c.limit) && reached(elapsed, c.limit)) elapsed = c.limit;
|
|
42
|
+
return c.start + (this.controlled(c.state) ? 0 : Math.min(elapsed, c.limit) * this.rate(c.state));
|
|
43
|
+
}
|
|
44
|
+
enter(run, from, to, tr, carry) {
|
|
45
|
+
if (to.play === void 0) {
|
|
46
|
+
this.#runs.delete(run);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const t = this.player.model.timelines[to.play];
|
|
50
|
+
const old = run;
|
|
51
|
+
const value = this.input(to);
|
|
52
|
+
const start = tr && syncs.has(tr) && from?.play !== void 0 ? old.frozen >= 0 ? old.frozen : position(t, this.raw(run, old.time - carry), t.loop, false) : value ?? clock(t, 0, to.speed);
|
|
53
|
+
this.#runs.set(run, {
|
|
54
|
+
start,
|
|
55
|
+
state: to,
|
|
56
|
+
limit: Infinity,
|
|
57
|
+
armed: /* @__PURE__ */ new Map(),
|
|
58
|
+
value,
|
|
59
|
+
synced: !!tr && syncs.has(tr)
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// Inclusive boundary: a request observed exactly at a tick need not wait another tick.
|
|
63
|
+
arm(run, s, tr) {
|
|
64
|
+
const c = this.#runs.get(run);
|
|
65
|
+
let at = c.armed.get(tr);
|
|
66
|
+
if (at !== void 0) return at;
|
|
67
|
+
const r = run, t = this.player.model.timelines[s.play];
|
|
68
|
+
const [a, b] = bounds(t), rate = this.rate(s);
|
|
69
|
+
if (r.frozen >= 0 || this.controlled(s) || !rate) at = r.time;
|
|
70
|
+
else {
|
|
71
|
+
const raw = this.raw(run, r.time), local = position(t, raw, t.loop, false);
|
|
72
|
+
const segment = timeFloor(raw - a, b - a);
|
|
73
|
+
const forward = rate > 0 !== (t.loop === "pingpong" && Math.abs(segment % 2) === 1);
|
|
74
|
+
const q = nextExits.get(tr) === "step" ? timing.get(t)?.quantize : void 0;
|
|
75
|
+
const rounded = q ? Math.round(local * q) / q : forward ? a : b;
|
|
76
|
+
const exact = snapTime(local, rounded) === rounded || snapTime(local, a) === a || snapTime(local, b) === b;
|
|
77
|
+
const boundary = exact ? local : q ? Math.max(a, Math.min(b, (forward ? Math.ceil(local * q) : Math.floor(local * q)) / q)) : forward ? b : a;
|
|
78
|
+
at = r.time + Math.abs(boundary - local) / Math.abs(rate);
|
|
79
|
+
}
|
|
80
|
+
c.armed.set(tr, at);
|
|
81
|
+
return at;
|
|
82
|
+
}
|
|
83
|
+
prepare(run, s, _dt, eligible) {
|
|
84
|
+
if (s.play === void 0) return;
|
|
85
|
+
const c = this.#runs.get(run);
|
|
86
|
+
const value = this.input(s);
|
|
87
|
+
if (value !== void 0 && value !== c.value) {
|
|
88
|
+
c.start = value;
|
|
89
|
+
c.value = value;
|
|
90
|
+
}
|
|
91
|
+
c.limit = Infinity;
|
|
92
|
+
for (const tr of s.on) {
|
|
93
|
+
if (!nextExits.has(tr)) continue;
|
|
94
|
+
if (!eligible(tr)) {
|
|
95
|
+
c.armed.delete(tr);
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
this.arm(run, s, tr);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
gate(run, s, tr, elapsed) {
|
|
102
|
+
if (!nextExits.has(tr)) return true;
|
|
103
|
+
const at = this.arm(run, s, tr);
|
|
104
|
+
if (!reached(elapsed, at)) return false;
|
|
105
|
+
this.#runs.get(run).limit = at;
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
carry(run, s, tr, elapsed) {
|
|
109
|
+
return nextExits.has(tr) ? Math.max(0, elapsed - this.arm(run, s, tr)) : void 0;
|
|
110
|
+
}
|
|
111
|
+
finished(t, elapsed, run) {
|
|
112
|
+
const c = this.#runs.get(run);
|
|
113
|
+
if (this.controlled(c.state)) return false;
|
|
114
|
+
const rate = this.rate(c.state), [a, b] = bounds(t);
|
|
115
|
+
const raw = this.raw(run, elapsed);
|
|
116
|
+
return rate < 0 ? reached(a, raw) : rate > 0 && reached(raw, b);
|
|
117
|
+
}
|
|
118
|
+
duration(t, speed, run) {
|
|
119
|
+
const c = this.#runs.get(run);
|
|
120
|
+
if (this.controlled(c.state)) return Infinity;
|
|
121
|
+
const [a, b] = bounds(t), rate = speed * (timing.get(t)?.speed ?? 1);
|
|
122
|
+
return rate ? Math.max(0, (rate < 0 ? c.start - a : b - c.start) / Math.abs(rate)) : Infinity;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export {
|
|
126
|
+
StateClocks,
|
|
127
|
+
nextExits,
|
|
128
|
+
stateControls,
|
|
129
|
+
syncs
|
|
130
|
+
};
|