@lumencast/runtime 0.3.0 → 0.5.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/README.md +57 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/animate/frame-coalescer.d.ts +13 -0
- package/dist/animate/frame-coalescer.d.ts.map +1 -0
- package/dist/animate/frame-coalescer.js +46 -0
- package/dist/animate/frame-coalescer.js.map +1 -0
- package/dist/animate/keyframes.d.ts +1 -1
- package/dist/animate/keyframes.d.ts.map +1 -1
- package/dist/animate/keyframes.js +20 -6
- package/dist/animate/keyframes.js.map +1 -1
- package/dist/animate/transitions.d.ts +33 -1
- package/dist/animate/transitions.d.ts.map +1 -1
- package/dist/animate/transitions.js +78 -3
- package/dist/animate/transitions.js.map +1 -1
- package/dist/{broadcast-B82fQPph.js → broadcast-3vYij4k-.js} +3 -3
- package/dist/{broadcast-B82fQPph.js.map → broadcast-3vYij4k-.js.map} +1 -1
- package/dist/{control-DIfwMYRb.js → control-BFNkY7-6.js} +4 -4
- package/dist/{control-DIfwMYRb.js.map → control-BFNkY7-6.js.map} +1 -1
- package/dist/{index-BFZXQAD7.js → index-CyOlpZAL.js} +318 -145
- package/dist/index-CyOlpZAL.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.html +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/lumencast.js +9 -2
- package/dist/mount.d.ts.map +1 -1
- package/dist/mount.js +11 -1
- package/dist/mount.js.map +1 -1
- package/dist/render/bind-animate.d.ts +40 -0
- package/dist/render/bind-animate.d.ts.map +1 -0
- package/dist/render/bind-animate.js +329 -0
- package/dist/render/bind-animate.js.map +1 -0
- package/dist/render/bundle.d.ts +48 -6
- package/dist/render/bundle.d.ts.map +1 -1
- package/dist/render/bundle.js +71 -4
- package/dist/render/bundle.js.map +1 -1
- package/dist/render/color-interp.d.ts +18 -0
- package/dist/render/color-interp.d.ts.map +1 -0
- package/dist/render/color-interp.js +303 -0
- package/dist/render/color-interp.js.map +1 -0
- package/dist/render/css-color.d.ts +16 -0
- package/dist/render/css-color.d.ts.map +1 -0
- package/dist/render/css-color.js +130 -0
- package/dist/render/css-color.js.map +1 -0
- package/dist/render/diagnostics.d.ts +26 -0
- package/dist/render/diagnostics.d.ts.map +1 -0
- package/dist/render/diagnostics.js +58 -0
- package/dist/render/diagnostics.js.map +1 -0
- package/dist/render/fill.d.ts +15 -3
- package/dist/render/fill.d.ts.map +1 -1
- package/dist/render/fill.js +81 -14
- package/dist/render/fill.js.map +1 -1
- package/dist/render/filter-clamp.d.ts +35 -0
- package/dist/render/filter-clamp.d.ts.map +1 -0
- package/dist/render/filter-clamp.js +90 -0
- package/dist/render/filter-clamp.js.map +1 -0
- package/dist/render/keyframe-player.d.ts +4 -1
- package/dist/render/keyframe-player.d.ts.map +1 -1
- package/dist/render/keyframe-player.js +2 -2
- package/dist/render/keyframe-player.js.map +1 -1
- package/dist/render/primitives/frame.d.ts +16 -1
- package/dist/render/primitives/frame.d.ts.map +1 -1
- package/dist/render/primitives/frame.js +44 -13
- package/dist/render/primitives/frame.js.map +1 -1
- package/dist/render/primitives/image.d.ts +1 -1
- package/dist/render/primitives/image.d.ts.map +1 -1
- package/dist/render/primitives/image.js +8 -5
- package/dist/render/primitives/image.js.map +1 -1
- package/dist/render/primitives/index.d.ts +3 -0
- package/dist/render/primitives/index.d.ts.map +1 -1
- package/dist/render/primitives/index.js.map +1 -1
- package/dist/render/primitives/instance.d.ts +1 -1
- package/dist/render/primitives/instance.d.ts.map +1 -1
- package/dist/render/primitives/instance.js +10 -13
- package/dist/render/primitives/instance.js.map +1 -1
- package/dist/render/primitives/shape.d.ts +9 -3
- package/dist/render/primitives/shape.d.ts.map +1 -1
- package/dist/render/primitives/shape.js +58 -14
- package/dist/render/primitives/shape.js.map +1 -1
- package/dist/render/primitives/text.d.ts +35 -4
- package/dist/render/primitives/text.d.ts.map +1 -1
- package/dist/render/primitives/text.js +181 -9
- package/dist/render/primitives/text.js.map +1 -1
- package/dist/render/prop-allowlist.d.ts +10 -0
- package/dist/render/prop-allowlist.d.ts.map +1 -0
- package/dist/render/prop-allowlist.js +112 -0
- package/dist/render/prop-allowlist.js.map +1 -0
- package/dist/render/svg-path.d.ts +35 -0
- package/dist/render/svg-path.d.ts.map +1 -0
- package/dist/render/svg-path.js +211 -0
- package/dist/render/svg-path.js.map +1 -0
- package/dist/render/tree.d.ts.map +1 -1
- package/dist/render/tree.js +30 -5
- package/dist/render/tree.js.map +1 -1
- package/dist/{status-pill-DNHbHdag.js → status-pill-DIpXc5du.js} +2 -2
- package/dist/{status-pill-DNHbHdag.js.map → status-pill-DIpXc5du.js.map} +1 -1
- package/dist/{test-Dp0QrKYM.js → test-ByRec1kd.js} +4 -4
- package/dist/{test-Dp0QrKYM.js.map → test-ByRec1kd.js.map} +1 -1
- package/dist/tree-D5wYHpPu.js +1230 -0
- package/dist/tree-D5wYHpPu.js.map +1 -0
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/animate/frame-coalescer.ts +63 -0
- package/src/animate/keyframes.ts +24 -5
- package/src/animate/transitions.ts +85 -3
- package/src/index.ts +24 -0
- package/src/mount.ts +12 -1
- package/src/render/bind-animate.tsx +370 -0
- package/src/render/bundle.ts +102 -10
- package/src/render/color-interp.ts +303 -0
- package/src/render/css-color.ts +145 -0
- package/src/render/diagnostics.ts +75 -0
- package/src/render/fill.tsx +85 -14
- package/src/render/filter-clamp.ts +99 -0
- package/src/render/keyframe-player.tsx +10 -2
- package/src/render/primitives/frame.tsx +53 -14
- package/src/render/primitives/image.tsx +8 -4
- package/src/render/primitives/index.ts +3 -0
- package/src/render/primitives/instance.tsx +14 -15
- package/src/render/primitives/shape.tsx +78 -14
- package/src/render/primitives/text.tsx +226 -9
- package/src/render/prop-allowlist.ts +119 -0
- package/src/render/svg-path.ts +215 -0
- package/src/render/tree.tsx +41 -6
- package/src/types.ts +27 -0
- package/dist/index-BFZXQAD7.js.map +0 -1
- package/dist/tree-x5Qd9Kq0.js +0 -508
- package/dist/tree-x5Qd9Kq0.js.map +0 -1
|
@@ -8,6 +8,8 @@ export interface SpringTransition {
|
|
|
8
8
|
kind: "spring";
|
|
9
9
|
stiffness?: number;
|
|
10
10
|
damping?: number;
|
|
11
|
+
/** LSML 1.1 §6.2 — spring mass (kg). Default 1 (framer default). */
|
|
12
|
+
mass?: number;
|
|
11
13
|
}
|
|
12
14
|
export interface CrossfadeTransition {
|
|
13
15
|
kind: "crossfade";
|
|
@@ -24,12 +26,42 @@ export interface FramerTransition {
|
|
|
24
26
|
type?: "tween" | "spring";
|
|
25
27
|
stiffness?: number;
|
|
26
28
|
damping?: number;
|
|
29
|
+
mass?: number;
|
|
27
30
|
}
|
|
28
31
|
export declare function toFramer(t: Transition | undefined): FramerTransition;
|
|
29
32
|
export interface MountPlay {
|
|
30
33
|
initial: Record<string, number | string>;
|
|
31
34
|
animate: Record<string, number | string>;
|
|
32
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Default mount-play timing — applies when a node carries an
|
|
38
|
+
* `animate_initial` (LSML 1.1 `animate.from`) but no per-prop
|
|
39
|
+
* `transitions` entry resolves for any animated key. The compiler
|
|
40
|
+
* documents that `from` without an explicit `transition` mount-plays
|
|
41
|
+
* "with the runtime's default timing" ; before this constant existed the
|
|
42
|
+
* fallback was `toFramer(undefined)` → `{ duration: 0 }`, which snapped
|
|
43
|
+
* the element straight to its settled state (the mount-play never
|
|
44
|
+
* visibly played). 400 ms ease-out matches the runtime's other implicit
|
|
45
|
+
* timings (crossfade fallback, scene-track fade).
|
|
46
|
+
*/
|
|
47
|
+
export declare const DEFAULT_MOUNT_PLAY_TRANSITION: Transition;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve the transition a primitive should hand framer-motion.
|
|
50
|
+
*
|
|
51
|
+
* `keys` are the primitive's native animated prop keys, scanned in
|
|
52
|
+
* order (e.g. `["opacity", "src"]` for Image). When the node also
|
|
53
|
+
* carries an `animate_initial`, the lookup widens to the keys the
|
|
54
|
+
* mount-play actually moves (`from.scale` may have lowered a `scale`
|
|
55
|
+
* transition that an opacity-only primitive would otherwise never look
|
|
56
|
+
* up), and — critically — falls back to
|
|
57
|
+
* `DEFAULT_MOUNT_PLAY_TRANSITION` instead of "no animation" : a
|
|
58
|
+
* mount-play must tween, never complete in zero frames.
|
|
59
|
+
*
|
|
60
|
+
* Without `animate_initial` the prior behaviour is preserved exactly :
|
|
61
|
+
* first declared transition among `keys`, else `undefined` (deltas
|
|
62
|
+
* snap unless a transition is declared).
|
|
63
|
+
*/
|
|
64
|
+
export declare function resolveTransition(transitionFor: (key: string) => Transition | undefined, keys: string[], animateInitial?: Record<string, number | string>): Transition | undefined;
|
|
33
65
|
/**
|
|
34
66
|
* Build framer-motion `initial` / `animate` props for a primitive that
|
|
35
67
|
* may carry an LSML 1.1 `animate.from` initial state.
|
|
@@ -46,7 +78,7 @@ export interface MountPlay {
|
|
|
46
78
|
* doesn't already drive — so the mount-play plays out and settles
|
|
47
79
|
* correctly even on opacity-only primitives.
|
|
48
80
|
*/
|
|
49
|
-
export declare function mountPlay(base: Record<string, number | string>, initial: Record<string, number | string> | undefined): MountPlay;
|
|
81
|
+
export declare function mountPlay(base: Record<string, number | string>, initial: Record<string, number | string> | undefined, nodeId?: string): MountPlay;
|
|
50
82
|
/**
|
|
51
83
|
* Parse a wire-format `TransitionSpec` (LSDP/1.1 §3.2.2) into the
|
|
52
84
|
* runtime's local Transition type. Returns `undefined` for malformed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/animate/transitions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/animate/transitions.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;CAC7D;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAEjG,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAWD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,gBAAgB,CAuBpE;AAsBD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,EAAE,UAI3C,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,EACtD,IAAI,EAAE,MAAM,EAAE,EACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAC/C,UAAU,GAAG,SAAS,CAaxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,EACpD,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,CA6BX;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAqB1E"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
// We deliberately animate only GPU-friendly properties (transform, opacity,
|
|
11
11
|
// filter). Primitives enforce this at the DOM level by exposing those props as
|
|
12
12
|
// motion-bindable values rather than raw CSS.
|
|
13
|
+
import { sanitizeCssFilterString, warnRejectedFilter } from "../render/filter-clamp";
|
|
13
14
|
const NO_ANIMATION = { duration: 0 };
|
|
14
15
|
const EASE_MAP = {
|
|
15
16
|
linear: "linear",
|
|
@@ -32,6 +33,7 @@ export function toFramer(t) {
|
|
|
32
33
|
type: "spring",
|
|
33
34
|
...(t.stiffness !== undefined ? { stiffness: t.stiffness } : {}),
|
|
34
35
|
...(t.damping !== undefined ? { damping: t.damping } : {}),
|
|
36
|
+
...(t.mass !== undefined ? { mass: t.mass } : {}),
|
|
35
37
|
};
|
|
36
38
|
}
|
|
37
39
|
// crossfade at the per-prop level degenerates into a tween on opacity.
|
|
@@ -49,10 +51,64 @@ export function toFramer(t) {
|
|
|
49
51
|
const INITIAL_IDENTITY = {
|
|
50
52
|
opacity: 1,
|
|
51
53
|
scale: 1,
|
|
54
|
+
scaleX: 1,
|
|
55
|
+
scaleY: 1,
|
|
52
56
|
rotate: 0,
|
|
53
57
|
x: 0,
|
|
54
58
|
y: 0,
|
|
59
|
+
// LSML §6.1 filter identity — both functions are always present so
|
|
60
|
+
// framer interpolates between structurally-identical filter lists
|
|
61
|
+
// (the compiler emits the same two-function form, clamped per R8).
|
|
62
|
+
filter: "blur(0px) brightness(1)",
|
|
55
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* Default mount-play timing — applies when a node carries an
|
|
66
|
+
* `animate_initial` (LSML 1.1 `animate.from`) but no per-prop
|
|
67
|
+
* `transitions` entry resolves for any animated key. The compiler
|
|
68
|
+
* documents that `from` without an explicit `transition` mount-plays
|
|
69
|
+
* "with the runtime's default timing" ; before this constant existed the
|
|
70
|
+
* fallback was `toFramer(undefined)` → `{ duration: 0 }`, which snapped
|
|
71
|
+
* the element straight to its settled state (the mount-play never
|
|
72
|
+
* visibly played). 400 ms ease-out matches the runtime's other implicit
|
|
73
|
+
* timings (crossfade fallback, scene-track fade).
|
|
74
|
+
*/
|
|
75
|
+
export const DEFAULT_MOUNT_PLAY_TRANSITION = {
|
|
76
|
+
kind: "tween",
|
|
77
|
+
duration_ms: 400,
|
|
78
|
+
ease: "cubic-out",
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Resolve the transition a primitive should hand framer-motion.
|
|
82
|
+
*
|
|
83
|
+
* `keys` are the primitive's native animated prop keys, scanned in
|
|
84
|
+
* order (e.g. `["opacity", "src"]` for Image). When the node also
|
|
85
|
+
* carries an `animate_initial`, the lookup widens to the keys the
|
|
86
|
+
* mount-play actually moves (`from.scale` may have lowered a `scale`
|
|
87
|
+
* transition that an opacity-only primitive would otherwise never look
|
|
88
|
+
* up), and — critically — falls back to
|
|
89
|
+
* `DEFAULT_MOUNT_PLAY_TRANSITION` instead of "no animation" : a
|
|
90
|
+
* mount-play must tween, never complete in zero frames.
|
|
91
|
+
*
|
|
92
|
+
* Without `animate_initial` the prior behaviour is preserved exactly :
|
|
93
|
+
* first declared transition among `keys`, else `undefined` (deltas
|
|
94
|
+
* snap unless a transition is declared).
|
|
95
|
+
*/
|
|
96
|
+
export function resolveTransition(transitionFor, keys, animateInitial) {
|
|
97
|
+
for (const key of keys) {
|
|
98
|
+
const t = transitionFor(key);
|
|
99
|
+
if (t !== undefined)
|
|
100
|
+
return t;
|
|
101
|
+
}
|
|
102
|
+
if (animateInitial && Object.keys(animateInitial).length > 0) {
|
|
103
|
+
for (const key of Object.keys(animateInitial)) {
|
|
104
|
+
const t = transitionFor(key);
|
|
105
|
+
if (t !== undefined)
|
|
106
|
+
return t;
|
|
107
|
+
}
|
|
108
|
+
return DEFAULT_MOUNT_PLAY_TRANSITION;
|
|
109
|
+
}
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
56
112
|
/**
|
|
57
113
|
* Build framer-motion `initial` / `animate` props for a primitive that
|
|
58
114
|
* may carry an LSML 1.1 `animate.from` initial state.
|
|
@@ -69,20 +125,36 @@ const INITIAL_IDENTITY = {
|
|
|
69
125
|
* doesn't already drive — so the mount-play plays out and settles
|
|
70
126
|
* correctly even on opacity-only primitives.
|
|
71
127
|
*/
|
|
72
|
-
export function mountPlay(base, initial) {
|
|
128
|
+
export function mountPlay(base, initial, nodeId) {
|
|
73
129
|
if (!initial || Object.keys(initial).length === 0) {
|
|
74
130
|
// No `from` → mount directly at target. Pinning `initial` to the
|
|
75
131
|
// target (rather than letting framer infer from current style)
|
|
76
132
|
// preserves the existing "no jump, no mount-play" behaviour.
|
|
77
133
|
return { initial: base, animate: base };
|
|
78
134
|
}
|
|
135
|
+
// R8 runtime half (ADR 001 §5.1, issue #42) — `animate_initial` may
|
|
136
|
+
// come from a hand-crafted bundle that never went through the
|
|
137
|
+
// compiler clamps. Re-gate the filter string ; rejected → drop the
|
|
138
|
+
// key (the element mounts at the identity filter instead).
|
|
139
|
+
let from = initial;
|
|
140
|
+
if (initial["filter"] !== undefined) {
|
|
141
|
+
const safe = sanitizeCssFilterString(initial["filter"]);
|
|
142
|
+
from = { ...initial };
|
|
143
|
+
if (safe === null) {
|
|
144
|
+
warnRejectedFilter("animate_initial.filter", nodeId);
|
|
145
|
+
delete from["filter"];
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
from["filter"] = safe;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
79
151
|
const animate = { ...base };
|
|
80
|
-
for (const key of Object.keys(
|
|
152
|
+
for (const key of Object.keys(from)) {
|
|
81
153
|
if (!(key in animate)) {
|
|
82
154
|
animate[key] = INITIAL_IDENTITY[key] ?? 0;
|
|
83
155
|
}
|
|
84
156
|
}
|
|
85
|
-
return { initial, animate };
|
|
157
|
+
return { initial: from, animate };
|
|
86
158
|
}
|
|
87
159
|
/**
|
|
88
160
|
* Parse a wire-format `TransitionSpec` (LSDP/1.1 §3.2.2) into the
|
|
@@ -111,6 +183,9 @@ export function parseWireTransition(value) {
|
|
|
111
183
|
out.stiffness = v.stiffness;
|
|
112
184
|
if (typeof v.damping === "number")
|
|
113
185
|
out.damping = v.damping;
|
|
186
|
+
// LSML §6.2 — mass rides the same wire spring shape.
|
|
187
|
+
if (typeof v.mass === "number")
|
|
188
|
+
out.mass = v.mass;
|
|
114
189
|
return out;
|
|
115
190
|
}
|
|
116
191
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../src/animate/transitions.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,gFAAgF;AAChF,yEAAyE;AACzE,4EAA4E;AAC5E,wEAAwE;AACxE,8EAA8E;AAC9E,sDAAsD;AACtD,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,8CAA8C;
|
|
1
|
+
{"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../src/animate/transitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { T as e } from "./tree-
|
|
3
|
-
import { u as m } from "./index-
|
|
2
|
+
import { T as e } from "./tree-D5wYHpPu.js";
|
|
3
|
+
import { u as m } from "./index-CyOlpZAL.js";
|
|
4
4
|
function a() {
|
|
5
5
|
const { store: o, bundle: r } = m();
|
|
6
6
|
return /* @__PURE__ */ t(e, { node: r.root, store: o });
|
|
@@ -8,4 +8,4 @@ function a() {
|
|
|
8
8
|
export {
|
|
9
9
|
a as BroadcastMode
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=broadcast-
|
|
11
|
+
//# sourceMappingURL=broadcast-3vYij4k-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast-
|
|
1
|
+
{"version":3,"file":"broadcast-3vYij4k-.js","sources":["../src/modes/broadcast.tsx"],"sourcesContent":["import { Tree } from \"../render/tree\";\nimport { useLumencastRuntime } from \"../overlay/runtime-context\";\n\n/** Broadcast mode : pure scene render, no UI chrome. */\nexport function BroadcastMode() {\n const { store, bundle } = useLumencastRuntime();\n return <Tree node={bundle.root} store={store} />;\n}\n"],"names":["BroadcastMode","store","bundle","useLumencastRuntime","jsx","Tree"],"mappings":";;;AAIO,SAASA,IAAgB;AAC9B,QAAM,EAAE,OAAAC,GAAO,QAAAC,EAAA,IAAWC,EAAA;AAC1B,SAAO,gBAAAC,EAACC,GAAA,EAAK,MAAMH,EAAO,MAAM,OAAAD,GAAc;AAChD;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as e, Fragment as n, jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import { T as s } from "./tree-
|
|
3
|
-
import { S as m, C as a } from "./status-pill-
|
|
4
|
-
import { u as i } from "./index-
|
|
2
|
+
import { T as s } from "./tree-D5wYHpPu.js";
|
|
3
|
+
import { S as m, C as a } from "./status-pill-DIpXc5du.js";
|
|
4
|
+
import { u as i } from "./index-CyOlpZAL.js";
|
|
5
5
|
function c() {
|
|
6
6
|
const { store: r, bundle: t } = i();
|
|
7
7
|
return /* @__PURE__ */ e(n, { children: [
|
|
@@ -13,4 +13,4 @@ function c() {
|
|
|
13
13
|
export {
|
|
14
14
|
c as ControlMode
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=control-
|
|
16
|
+
//# sourceMappingURL=control-BFNkY7-6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-
|
|
1
|
+
{"version":3,"file":"control-BFNkY7-6.js","sources":["../src/modes/control.tsx"],"sourcesContent":["import { Tree } from \"../render/tree\";\nimport { ControlPanel } from \"../overlay/control\";\nimport { StatusPill } from \"../overlay/status-pill\";\nimport { useLumencastRuntime } from \"../overlay/runtime-context\";\n\n/** Control mode : scene + operator overlay (status pill + fields\n * panel from operator_inputs). */\nexport function ControlMode() {\n const { store, bundle } = useLumencastRuntime();\n return (\n <>\n <Tree node={bundle.root} store={store} />\n <StatusPill />\n <ControlPanel />\n </>\n );\n}\n"],"names":["ControlMode","store","bundle","useLumencastRuntime","jsxs","Fragment","jsx","Tree","StatusPill","ControlPanel"],"mappings":";;;;AAOO,SAASA,IAAc;AAC5B,QAAM,EAAE,OAAAC,GAAO,QAAAC,EAAA,IAAWC,EAAA;AAC1B,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAK,MAAML,EAAO,MAAM,OAAAD,GAAc;AAAA,sBACtCO,GAAA,EAAW;AAAA,sBACXC,GAAA,CAAA,CAAa;AAAA,EAAA,GAChB;AAEJ;"}
|