@unrulysystems/native-motion-core 0.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/LICENSE +21 -0
- package/README.md +48 -0
- package/dist/clock.cjs +71 -0
- package/dist/clock.d.cts +23 -0
- package/dist/clock.d.ts +23 -0
- package/dist/clock.js +66 -0
- package/dist/collect-reads.cjs +68 -0
- package/dist/collect-reads.d.cts +23 -0
- package/dist/collect-reads.d.ts +23 -0
- package/dist/collect-reads.js +62 -0
- package/dist/component/boundedArray.cjs +74 -0
- package/dist/component/boundedArray.d.cts +25 -0
- package/dist/component/boundedArray.d.ts +25 -0
- package/dist/component/boundedArray.js +68 -0
- package/dist/component/index.cjs +57 -0
- package/dist/component/index.d.cts +12 -0
- package/dist/component/index.d.ts +12 -0
- package/dist/component/index.js +22 -0
- package/dist/component/orchestration.cjs +129 -0
- package/dist/component/orchestration.d.cts +66 -0
- package/dist/component/orchestration.d.ts +66 -0
- package/dist/component/orchestration.js +124 -0
- package/dist/component/resolve.cjs +104 -0
- package/dist/component/resolve.d.cts +11 -0
- package/dist/component/resolve.d.ts +11 -0
- package/dist/component/resolve.js +97 -0
- package/dist/component/transition.cjs +352 -0
- package/dist/component/transition.d.cts +33 -0
- package/dist/component/transition.d.ts +33 -0
- package/dist/component/transition.js +339 -0
- package/dist/component/types.cjs +114 -0
- package/dist/component/types.d.cts +60 -0
- package/dist/component/types.d.ts +60 -0
- package/dist/component/types.js +111 -0
- package/dist/component/validate.cjs +1015 -0
- package/dist/component/validate.d.cts +37 -0
- package/dist/component/validate.d.ts +37 -0
- package/dist/component/validate.js +1002 -0
- package/dist/component/variants.cjs +333 -0
- package/dist/component/variants.d.cts +106 -0
- package/dist/component/variants.d.ts +106 -0
- package/dist/component/variants.js +321 -0
- package/dist/config/constants.cjs +41 -0
- package/dist/config/constants.d.cts +29 -0
- package/dist/config/constants.d.ts +29 -0
- package/dist/config/constants.js +38 -0
- package/dist/delay.cjs +72 -0
- package/dist/delay.d.cts +26 -0
- package/dist/delay.d.ts +26 -0
- package/dist/delay.js +70 -0
- package/dist/derived.cjs +143 -0
- package/dist/derived.d.cts +41 -0
- package/dist/derived.d.ts +41 -0
- package/dist/derived.js +139 -0
- package/dist/driver/index.cjs +22 -0
- package/dist/driver/index.d.cts +7 -0
- package/dist/driver/index.d.ts +7 -0
- package/dist/driver/index.js +14 -0
- package/dist/driver/keyframeTiming.cjs +130 -0
- package/dist/driver/keyframeTiming.d.cts +18 -0
- package/dist/driver/keyframeTiming.d.ts +18 -0
- package/dist/driver/keyframeTiming.js +124 -0
- package/dist/driver/keyframeTimingConfig.cjs +24 -0
- package/dist/driver/keyframeTimingConfig.d.cts +5 -0
- package/dist/driver/keyframeTimingConfig.d.ts +5 -0
- package/dist/driver/keyframeTimingConfig.js +22 -0
- package/dist/driver/prepare.cjs +459 -0
- package/dist/driver/prepare.d.cts +4 -0
- package/dist/driver/prepare.d.ts +4 -0
- package/dist/driver/prepare.js +454 -0
- package/dist/driver/reference.cjs +762 -0
- package/dist/driver/reference.d.cts +53 -0
- package/dist/driver/reference.d.ts +53 -0
- package/dist/driver/reference.js +757 -0
- package/dist/driver/step.cjs +55 -0
- package/dist/driver/step.d.cts +9 -0
- package/dist/driver/step.d.ts +9 -0
- package/dist/driver/step.js +52 -0
- package/dist/driver/tiers.cjs +40 -0
- package/dist/driver/tiers.d.cts +2 -0
- package/dist/driver/tiers.d.ts +2 -0
- package/dist/driver/tiers.js +37 -0
- package/dist/driver/types.cjs +9 -0
- package/dist/driver/types.d.cts +68 -0
- package/dist/driver/types.d.ts +68 -0
- package/dist/driver/types.js +8 -0
- package/dist/external-animation-ledger.cjs +1250 -0
- package/dist/external-animation-ledger.d.cts +416 -0
- package/dist/external-animation-ledger.d.ts +416 -0
- package/dist/external-animation-ledger.js +1243 -0
- package/dist/gesture/directionLock.cjs +25 -0
- package/dist/gesture/directionLock.d.cts +8 -0
- package/dist/gesture/directionLock.d.ts +8 -0
- package/dist/gesture/directionLock.js +21 -0
- package/dist/gesture/dragConfig.cjs +634 -0
- package/dist/gesture/dragConfig.d.cts +298 -0
- package/dist/gesture/dragConfig.d.ts +298 -0
- package/dist/gesture/dragConfig.js +624 -0
- package/dist/gesture/elastic.cjs +44 -0
- package/dist/gesture/elastic.d.cts +4 -0
- package/dist/gesture/elastic.d.ts +4 -0
- package/dist/gesture/elastic.js +39 -0
- package/dist/gesture/handoffSession.cjs +161 -0
- package/dist/gesture/handoffSession.d.cts +35 -0
- package/dist/gesture/handoffSession.d.ts +35 -0
- package/dist/gesture/handoffSession.js +158 -0
- package/dist/gesture/index.cjs +37 -0
- package/dist/gesture/index.d.cts +12 -0
- package/dist/gesture/index.d.ts +12 -0
- package/dist/gesture/index.js +11 -0
- package/dist/gesture/projection.cjs +95 -0
- package/dist/gesture/projection.d.cts +7 -0
- package/dist/gesture/projection.d.ts +7 -0
- package/dist/gesture/projection.js +87 -0
- package/dist/gesture/session.cjs +162 -0
- package/dist/gesture/session.d.cts +29 -0
- package/dist/gesture/session.d.ts +29 -0
- package/dist/gesture/session.js +158 -0
- package/dist/gesture/types.cjs +5 -0
- package/dist/gesture/types.d.cts +13 -0
- package/dist/gesture/types.d.ts +13 -0
- package/dist/gesture/types.js +4 -0
- package/dist/gesture/viewportConstraints.cjs +38 -0
- package/dist/gesture/viewportConstraints.d.cts +6 -0
- package/dist/gesture/viewportConstraints.d.ts +6 -0
- package/dist/gesture/viewportConstraints.js +34 -0
- package/dist/graph.cjs +226 -0
- package/dist/graph.d.cts +2 -0
- package/dist/graph.d.ts +2 -0
- package/dist/graph.js +223 -0
- package/dist/index.cjs +140 -0
- package/dist/index.d.cts +33 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +70 -0
- package/dist/inertia.cjs +214 -0
- package/dist/inertia.d.cts +53 -0
- package/dist/inertia.d.ts +53 -0
- package/dist/inertia.js +212 -0
- package/dist/instant.cjs +66 -0
- package/dist/instant.d.cts +16 -0
- package/dist/instant.d.ts +16 -0
- package/dist/instant.js +63 -0
- package/dist/internal-driver.cjs +81 -0
- package/dist/internal-driver.d.cts +19 -0
- package/dist/internal-driver.d.ts +19 -0
- package/dist/internal-driver.js +35 -0
- package/dist/keyframes.cjs +191 -0
- package/dist/keyframes.d.cts +13 -0
- package/dist/keyframes.d.ts +13 -0
- package/dist/keyframes.js +188 -0
- package/dist/layout/commitDetector.cjs +67 -0
- package/dist/layout/commitDetector.d.cts +21 -0
- package/dist/layout/commitDetector.d.ts +21 -0
- package/dist/layout/commitDetector.js +64 -0
- package/dist/layout/compose.cjs +67 -0
- package/dist/layout/compose.d.cts +30 -0
- package/dist/layout/compose.d.ts +30 -0
- package/dist/layout/compose.js +65 -0
- package/dist/layout/constants.cjs +13 -0
- package/dist/layout/constants.d.cts +6 -0
- package/dist/layout/constants.d.ts +6 -0
- package/dist/layout/constants.js +10 -0
- package/dist/layout/identity.cjs +700 -0
- package/dist/layout/identity.d.cts +67 -0
- package/dist/layout/identity.d.ts +67 -0
- package/dist/layout/identity.js +698 -0
- package/dist/layout/index.cjs +36 -0
- package/dist/layout/index.d.cts +18 -0
- package/dist/layout/index.d.ts +18 -0
- package/dist/layout/index.js +13 -0
- package/dist/layout/measure.cjs +81 -0
- package/dist/layout/measure.d.cts +43 -0
- package/dist/layout/measure.d.ts +43 -0
- package/dist/layout/measure.js +78 -0
- package/dist/layout/projection.cjs +99 -0
- package/dist/layout/projection.d.cts +23 -0
- package/dist/layout/projection.d.ts +23 -0
- package/dist/layout/projection.js +97 -0
- package/dist/layout/scroll.cjs +27 -0
- package/dist/layout/scroll.d.cts +13 -0
- package/dist/layout/scroll.d.ts +13 -0
- package/dist/layout/scroll.js +24 -0
- package/dist/layout/session.cjs +207 -0
- package/dist/layout/session.d.cts +73 -0
- package/dist/layout/session.d.ts +73 -0
- package/dist/layout/session.js +205 -0
- package/dist/layout/tree.cjs +826 -0
- package/dist/layout/tree.d.cts +70 -0
- package/dist/layout/tree.d.ts +70 -0
- package/dist/layout/tree.js +823 -0
- package/dist/layout/types.cjs +36 -0
- package/dist/layout/types.d.cts +31 -0
- package/dist/layout/types.d.ts +31 -0
- package/dist/layout/types.js +35 -0
- package/dist/motion-arc.cjs +184 -0
- package/dist/motion-arc.d.cts +78 -0
- package/dist/motion-arc.d.ts +78 -0
- package/dist/motion-arc.js +183 -0
- package/dist/motion-mix.cjs +205 -0
- package/dist/motion-mix.d.cts +3 -0
- package/dist/motion-mix.d.ts +3 -0
- package/dist/motion-mix.js +202 -0
- package/dist/motion-value-driver-port.cjs +636 -0
- package/dist/motion-value-driver-port.d.cts +406 -0
- package/dist/motion-value-driver-port.d.ts +406 -0
- package/dist/motion-value-driver-port.js +627 -0
- package/dist/motion-value.cjs +189 -0
- package/dist/motion-value.d.cts +51 -0
- package/dist/motion-value.d.ts +51 -0
- package/dist/motion-value.js +185 -0
- package/dist/presence/controller.cjs +657 -0
- package/dist/presence/controller.d.cts +6 -0
- package/dist/presence/controller.d.ts +6 -0
- package/dist/presence/controller.js +652 -0
- package/dist/presence/index.cjs +19 -0
- package/dist/presence/index.d.cts +4 -0
- package/dist/presence/index.d.ts +4 -0
- package/dist/presence/index.js +12 -0
- package/dist/presence/machine.cjs +50 -0
- package/dist/presence/machine.d.cts +10 -0
- package/dist/presence/machine.d.ts +10 -0
- package/dist/presence/machine.js +46 -0
- package/dist/presence/types.cjs +6 -0
- package/dist/presence/types.d.cts +32 -0
- package/dist/presence/types.d.ts +32 -0
- package/dist/presence/types.js +5 -0
- package/dist/repeat.cjs +311 -0
- package/dist/repeat.d.cts +174 -0
- package/dist/repeat.d.ts +174 -0
- package/dist/repeat.js +300 -0
- package/dist/spring.cjs +128 -0
- package/dist/spring.d.cts +18 -0
- package/dist/spring.d.ts +18 -0
- package/dist/spring.js +125 -0
- package/dist/subscriptions.cjs +74 -0
- package/dist/subscriptions.d.cts +19 -0
- package/dist/subscriptions.d.ts +19 -0
- package/dist/subscriptions.js +69 -0
- package/dist/subset/index.cjs +23 -0
- package/dist/subset/index.d.cts +6 -0
- package/dist/subset/index.d.ts +6 -0
- package/dist/subset/index.js +13 -0
- package/dist/subset/normalize.cjs +90 -0
- package/dist/subset/normalize.d.cts +10 -0
- package/dist/subset/normalize.d.ts +10 -0
- package/dist/subset/normalize.js +85 -0
- package/dist/subset/registry.cjs +259 -0
- package/dist/subset/registry.d.cts +25 -0
- package/dist/subset/registry.d.ts +25 -0
- package/dist/subset/registry.js +256 -0
- package/dist/subset/resolve.cjs +98 -0
- package/dist/subset/resolve.d.cts +24 -0
- package/dist/subset/resolve.d.ts +24 -0
- package/dist/subset/resolve.js +90 -0
- package/dist/timing.cjs +206 -0
- package/dist/timing.d.cts +17 -0
- package/dist/timing.d.ts +17 -0
- package/dist/timing.js +201 -0
- package/dist/transformTemplate.cjs +219 -0
- package/dist/transformTemplate.d.cts +29 -0
- package/dist/transformTemplate.d.ts +29 -0
- package/dist/transformTemplate.js +215 -0
- package/dist/transition.cjs +231 -0
- package/dist/transition.d.cts +89 -0
- package/dist/transition.d.ts +89 -0
- package/dist/transition.js +223 -0
- package/dist/types.cjs +4 -0
- package/dist/types.d.cts +175 -0
- package/dist/types.d.ts +175 -0
- package/dist/types.js +3 -0
- package/dist/value-types/color.cjs +220 -0
- package/dist/value-types/color.d.cts +19 -0
- package/dist/value-types/color.d.ts +19 -0
- package/dist/value-types/color.js +218 -0
- package/dist/value-types/complex.cjs +160 -0
- package/dist/value-types/complex.d.cts +19 -0
- package/dist/value-types/complex.d.ts +19 -0
- package/dist/value-types/complex.js +155 -0
- package/dist/value-types/constants.cjs +15 -0
- package/dist/value-types/constants.d.cts +6 -0
- package/dist/value-types/constants.d.ts +6 -0
- package/dist/value-types/constants.js +12 -0
- package/dist/value-types/discrete.cjs +62 -0
- package/dist/value-types/discrete.d.cts +4 -0
- package/dist/value-types/discrete.d.ts +4 -0
- package/dist/value-types/discrete.js +56 -0
- package/dist/value-types/index.cjs +59 -0
- package/dist/value-types/index.d.cts +14 -0
- package/dist/value-types/index.d.ts +14 -0
- package/dist/value-types/index.js +24 -0
- package/dist/value-types/measure-resolve.cjs +325 -0
- package/dist/value-types/measure-resolve.d.cts +91 -0
- package/dist/value-types/measure-resolve.d.ts +91 -0
- package/dist/value-types/measure-resolve.js +313 -0
- package/dist/value-types/mix.cjs +90 -0
- package/dist/value-types/mix.d.cts +27 -0
- package/dist/value-types/mix.d.ts +27 -0
- package/dist/value-types/mix.js +85 -0
- package/dist/value-types/named-colors.cjs +61 -0
- package/dist/value-types/named-colors.d.cts +2 -0
- package/dist/value-types/named-colors.d.ts +2 -0
- package/dist/value-types/named-colors.js +58 -0
- package/dist/value-types/numeric.cjs +86 -0
- package/dist/value-types/numeric.d.cts +16 -0
- package/dist/value-types/numeric.d.ts +16 -0
- package/dist/value-types/numeric.js +79 -0
- package/dist/worklet-layout/config/constants.js +39 -0
- package/dist/worklet-layout/layout/constants.js +11 -0
- package/dist/worklet-layout/layout/identity.js +699 -0
- package/dist/worklet-layout/layout/projection.js +98 -0
- package/dist/worklet-layout/layout/session.js +206 -0
- package/dist/worklet-layout/layout/tree.js +824 -0
- package/dist/worklet-layout/layout/types.js +36 -0
- package/dist/worklet-layout/spring.js +125 -0
- package/dist/worklet-layout/timing.js +201 -0
- package/dist/worklet-layout/transition.js +223 -0
- package/dist/worklet-layout.cjs +47 -0
- package/dist/worklet-layout.d.cts +15 -0
- package/dist/worklet-layout.d.ts +15 -0
- package/dist/worklet-layout.js +28 -0
- package/dist/wrap.cjs +7 -0
- package/dist/wrap.d.cts +1 -0
- package/dist/wrap.d.ts +1 -0
- package/dist/wrap.js +4 -0
- package/package.json +45 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// SPEC-COMPONENT §2 — the end-state public API types (REQ-API-006/015). This is the "Motion's API on top"
|
|
2
|
+
// authoring surface: the declarative `Target` an author writes for `initial`/`animate`/`exit`, and the
|
|
3
|
+
// `Transition` config. The types admit ONLY the universal-subset properties (REQ-SUBSET-011) with their
|
|
4
|
+
// value shapes — there is NO permissive index signature and NO `any` escape hatch, so an unknown key or a
|
|
5
|
+
// wrong-shaped value is a compile error where statically possible (REQ-API-015). Runtime `validateTarget`
|
|
6
|
+
// (REQ-API-013) is the fail-closed backstop for what the type cannot catch (units, ranges, untyped
|
|
7
|
+
// callers). Host-agnostic (REQ-CORE-003): the public `Transition` uses Motion's SECONDS unit — the internal
|
|
8
|
+
// millisecond SPRING/TIMING resolver config is a DISTINCT type, bridged at an explicit boundary
|
|
9
|
+
// (`./transition`), never leaked into this public surface. Imports no host package.
|
|
10
|
+
// The universal target-property keys, grouped by the value shape an author may write. They mirror the
|
|
11
|
+
// SUBSET registry's universal, non-gesture properties (REQ-SUBSET-011); `types.test.ts` asserts this list
|
|
12
|
+
// is EXACTLY the registry's, so the compile-time `Target` type and the runtime membership authority can
|
|
13
|
+
// never drift. Written as literal `const` arrays because the registry stores keys widened to `string` and
|
|
14
|
+
// cannot furnish a literal key union — this is the single literal source the `Target` type is built from.
|
|
15
|
+
const LENGTH_KEYS = [
|
|
16
|
+
'x',
|
|
17
|
+
'y',
|
|
18
|
+
'perspective',
|
|
19
|
+
'width',
|
|
20
|
+
'height',
|
|
21
|
+
'top',
|
|
22
|
+
'right',
|
|
23
|
+
'bottom',
|
|
24
|
+
'left',
|
|
25
|
+
'borderRadius',
|
|
26
|
+
'borderTopLeftRadius',
|
|
27
|
+
'borderTopRightRadius',
|
|
28
|
+
'borderBottomLeftRadius',
|
|
29
|
+
'borderBottomRightRadius',
|
|
30
|
+
'borderWidth',
|
|
31
|
+
'borderTopWidth',
|
|
32
|
+
'borderRightWidth',
|
|
33
|
+
'borderBottomWidth',
|
|
34
|
+
'borderLeftWidth',
|
|
35
|
+
'margin',
|
|
36
|
+
'marginTop',
|
|
37
|
+
'marginRight',
|
|
38
|
+
'marginBottom',
|
|
39
|
+
'marginLeft',
|
|
40
|
+
'padding',
|
|
41
|
+
'paddingTop',
|
|
42
|
+
'paddingRight',
|
|
43
|
+
'paddingBottom',
|
|
44
|
+
'paddingLeft',
|
|
45
|
+
];
|
|
46
|
+
const UNITLESS_KEYS = ['scale', 'scaleX', 'scaleY', 'opacity'];
|
|
47
|
+
const ANGLE_KEYS = ['rotate', 'rotateX', 'rotateY', 'skewX', 'skewY'];
|
|
48
|
+
const COLOR_KEYS = ['backgroundColor', 'color', 'borderColor'];
|
|
49
|
+
const DISCRETE_KEYS = ['display', 'visibility'];
|
|
50
|
+
// Runtime enumeration of every universal target-property key — the drift guard's compile-time↔runtime
|
|
51
|
+
// bridge, and the key set `validateTarget`/`resolveTarget` iterate. Deep-immutable (readonly, `as const`).
|
|
52
|
+
export const TARGET_PROPERTY_KEYS = [
|
|
53
|
+
...LENGTH_KEYS,
|
|
54
|
+
...UNITLESS_KEYS,
|
|
55
|
+
...ANGLE_KEYS,
|
|
56
|
+
...COLOR_KEYS,
|
|
57
|
+
...DISCRETE_KEYS,
|
|
58
|
+
];
|
|
59
|
+
// This data is the runtime-readable counterpart of Transition below. Native's public-surface
|
|
60
|
+
// verifier consumes it directly, so parity tooling cannot invent a second transition vocabulary.
|
|
61
|
+
export const TRANSITION_OPTION_KEYS = [
|
|
62
|
+
'type',
|
|
63
|
+
'duration',
|
|
64
|
+
'delay',
|
|
65
|
+
'ease',
|
|
66
|
+
// Family-2 shipping slice: Motion authors sometimes spell the per-segment list `easings`
|
|
67
|
+
// (catalog Animation-keyframes). Runtime treats it as an alias of `ease` (same shape law).
|
|
68
|
+
'easings',
|
|
69
|
+
// T20 (REQ-API-052): catalog spelling `easing` (Benchmark-cold-start-motion). Same exclusive
|
|
70
|
+
// alias law as `easings`; converters normalize to `ease`.
|
|
71
|
+
'easing',
|
|
72
|
+
// R8 M2-B (REQ-API-033 law d): custom keyframe OFFSETS for a keyframe-array target. Keyframe-only —
|
|
73
|
+
// the layout lane never interpolates a keyframe array, so `times` is a PROPERTY-lane option, absent
|
|
74
|
+
// from the layout transition domain (shippedSurface.ts).
|
|
75
|
+
'times',
|
|
76
|
+
'stiffness',
|
|
77
|
+
'damping',
|
|
78
|
+
'mass',
|
|
79
|
+
'bounce',
|
|
80
|
+
'visualDuration',
|
|
81
|
+
'velocity',
|
|
82
|
+
// U7c (REQ-SPRING-014): the authored settle thresholds — spring physics options routed into
|
|
83
|
+
// the solver's settle condition, forwarded untransformed (the velocity precedent).
|
|
84
|
+
'restDelta',
|
|
85
|
+
'restSpeed',
|
|
86
|
+
// T18-a (REQ-API-049): the repeat family. PROPERTY-lane options — the layout/layoutId lanes
|
|
87
|
+
// refuse them rather than fold a snapshot delta (packet L4), so they are absent from the layout
|
|
88
|
+
// transition domain (shippedSurface.ts).
|
|
89
|
+
'repeat',
|
|
90
|
+
'repeatType',
|
|
91
|
+
'repeatDelay',
|
|
92
|
+
// T21 (REQ-API-053): the orchestration family — TREE-lane options consumed at the controlling
|
|
93
|
+
// node's start scheduling, never by a driver (the converters strip them, per-value map entries
|
|
94
|
+
// refuse them, and the layout lanes never list them).
|
|
95
|
+
'when',
|
|
96
|
+
'delayChildren',
|
|
97
|
+
'staggerChildren',
|
|
98
|
+
'staggerDirection',
|
|
99
|
+
// U8 (REQ-API-059): parametric path factory (`arc()`). PROPERTY-lane / element bag only;
|
|
100
|
+
// nested map entries and layout bags refuse (F3).
|
|
101
|
+
'path',
|
|
102
|
+
];
|
|
103
|
+
// T21 (REQ-API-053): the tree-lane subset of the vocabulary, single-sourced so the validator's
|
|
104
|
+
// map-entry refusal, the native controller's driver-strip, and the web shim's pass-through all
|
|
105
|
+
// branch on the same set.
|
|
106
|
+
export const ORCHESTRATION_OPTION_KEYS = [
|
|
107
|
+
'when',
|
|
108
|
+
'delayChildren',
|
|
109
|
+
'staggerChildren',
|
|
110
|
+
'staggerDirection',
|
|
111
|
+
];
|