@3driseai/3drise-core 1.0.16 → 1.0.18
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/dist/data/lightsDefaults.d.ts.map +1 -1
- package/dist/data/lightsDefaults.js +27 -0
- package/dist/services/AnimationsManager.d.ts.map +1 -1
- package/dist/services/AnimationsManager.js +4 -0
- package/dist/services/SceneActions.d.ts +43 -0
- package/dist/services/SceneActions.d.ts.map +1 -0
- package/dist/services/SceneActions.js +126 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/types/actions.d.ts +32 -0
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/lights.d.ts +81 -2
- package/dist/types/lights.d.ts.map +1 -1
- package/dist/types/objectSettings.d.ts +4 -0
- package/dist/types/objectSettings.d.ts.map +1 -1
- package/dist/types/types.d.ts +2 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/users.d.ts +1 -1
- package/dist/types/users.d.ts.map +1 -1
- package/dist/utils/actionKeys.d.ts +8 -0
- package/dist/utils/actionKeys.d.ts.map +1 -0
- package/dist/utils/actionKeys.js +41 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/settingsPatch.d.ts +15 -0
- package/dist/utils/settingsPatch.d.ts.map +1 -0
- package/dist/utils/settingsPatch.js +91 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightsDefaults.d.ts","sourceRoot":"","sources":["../../src/data/lightsDefaults.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"lightsDefaults.d.ts","sourceRoot":"","sources":["../../src/data/lightsDefaults.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAUlD,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8CrE,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAWD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,uBAAuB,EAAE,CA2E1E,CAAC;AAEF,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAEvF"}
|
|
@@ -7,6 +7,7 @@ export const LIGHT_LABELS = {
|
|
|
7
7
|
spotBeam: 'Spot Beam',
|
|
8
8
|
ledArray: 'LED Array',
|
|
9
9
|
fluorescentTube: 'Fluorescent Tube',
|
|
10
|
+
candle: 'Candle',
|
|
10
11
|
};
|
|
11
12
|
/** Config defaults per light type — what the renderer falls back to, and what Reset restores. */
|
|
12
13
|
export const DEFAULT_LIGHTS = {
|
|
@@ -45,6 +46,16 @@ export const DEFAULT_LIGHTS = {
|
|
|
45
46
|
greenShift: 0.35, startup: 'stutter', warmup: 1.2, hum: 0.3, age: 0.15,
|
|
46
47
|
shadowStrength: 0.4, flicker: 0, halo: 1,
|
|
47
48
|
},
|
|
49
|
+
candle: {
|
|
50
|
+
type: 'candle', enabled: true, intensity: 1, color: '#ffb46b', distance: 0, decay: 2,
|
|
51
|
+
on: true, colorMode: 'temperature', temperature: 1850,
|
|
52
|
+
flameMode: 'volumetric', flameHeight: 0.055, flameWidth: 1,
|
|
53
|
+
flicker: 0.5, movement: 1, flickerHz: 11, draught: 0.08,
|
|
54
|
+
blue: 0.7, blueBasePercentage: 16, soot: 0.25, flameSteps: 24, flameGain: 5, flameWhite: 3.5,
|
|
55
|
+
ignite: 1.6, smoke: true, halo: 1,
|
|
56
|
+
body: 'pillar', waxColor: '#f3e7d2', height: 0.14, radius: 0.028,
|
|
57
|
+
melt: 0.45, waxGlow: 0.3,
|
|
58
|
+
},
|
|
48
59
|
};
|
|
49
60
|
const COMMON = [
|
|
50
61
|
{ value: 'intensity', label: 'Intensity' },
|
|
@@ -113,6 +124,22 @@ export const LIGHTS_ANIMATABLE = {
|
|
|
113
124
|
{ value: 'halo', label: 'Halo' },
|
|
114
125
|
{ value: 'warmup', label: 'Warm-up' },
|
|
115
126
|
],
|
|
127
|
+
// The wax, the flame's size and the flame mode all rebuild; everything the
|
|
128
|
+
// flame does per frame is drivable, including the air moving past it.
|
|
129
|
+
candle: [
|
|
130
|
+
...COMMON, ...FALLOFF,
|
|
131
|
+
{ value: 'temperature', label: 'Temperature' },
|
|
132
|
+
{ value: 'flicker', label: 'Flicker' },
|
|
133
|
+
{ value: 'movement', label: 'Movement' },
|
|
134
|
+
{ value: 'flickerHz', label: 'Flicker Rate' },
|
|
135
|
+
{ value: 'draught', label: 'Draught' },
|
|
136
|
+
{ value: 'blue', label: 'Blue Base' },
|
|
137
|
+
{ value: 'blueBasePercentage', label: 'Blue Base Height' },
|
|
138
|
+
{ value: 'soot', label: 'Soot' },
|
|
139
|
+
{ value: 'halo', label: 'Halo' },
|
|
140
|
+
{ value: 'waxGlow', label: 'Wax Glow' },
|
|
141
|
+
{ value: 'ignite', label: 'Ignition' },
|
|
142
|
+
],
|
|
116
143
|
};
|
|
117
144
|
/** True when this config is a light config the tables above cover. */
|
|
118
145
|
export function isLightConfigType(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimationsManager.d.ts","sourceRoot":"","sources":["../../src/services/AnimationsManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAE3F,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,kBAAkB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,sBAAsB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;AAG9D;;;;GAIG;AACH,cAAM,iBAAiB;IAEnB,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,cAAc,CAAa;;IAQnC;;OAEG;IACH,EAAE,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAMzE;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAM1E;;OAEG;IACH,OAAO,CAAC,IAAI;IAaZ;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB;IAY3D;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMxC;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAG9D;;OAEG;IACH,eAAe,IAAI,iBAAiB,EAAE;IAUtC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAgCnB;;;;OAIG;IACG,YAAY,CAAC,YAAY,EAAE,iBAAiB,GAAG,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAmHnH;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IASvC;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IASxC;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAgBtC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAO7E;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI9C;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI7C;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS1D;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAGnC;;OAEG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAGjC;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB;IA4B5D;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiB,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"AnimationsManager.d.ts","sourceRoot":"","sources":["../../src/services/AnimationsManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -402,6 +402,10 @@ class AnimationsManager {
|
|
|
402
402
|
* @returns Eased progress value from 0 to 1
|
|
403
403
|
*/
|
|
404
404
|
getProgressFromTime(startTime, duration, ease = 'linear') {
|
|
405
|
+
// Zero-length steps (actions) are complete immediately. Without this, elapsed/0 is
|
|
406
|
+
// NaN on the first frame (elapsed 0) and every lerp downstream goes NaN.
|
|
407
|
+
if (!(duration > 0))
|
|
408
|
+
return 1;
|
|
405
409
|
const elapsed = (performance.now() - startTime) / 1000; // Convert ms to seconds
|
|
406
410
|
const linearProgress = Math.min(Math.max(elapsed / duration, 0), 1);
|
|
407
411
|
// Convert GSAP ease string to easing function name if needed
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ActionSequence } from '../types/actions';
|
|
2
|
+
import { type SettingsPatch } from '../utils/settingsPatch';
|
|
3
|
+
type Listener = () => void;
|
|
4
|
+
export type SceneActionsEvent = {
|
|
5
|
+
type: 'applied';
|
|
6
|
+
actionId: string;
|
|
7
|
+
} | {
|
|
8
|
+
type: 'reverted';
|
|
9
|
+
actionId: string;
|
|
10
|
+
} | {
|
|
11
|
+
type: 'reset';
|
|
12
|
+
};
|
|
13
|
+
declare class SceneActions {
|
|
14
|
+
private stacks;
|
|
15
|
+
private merged;
|
|
16
|
+
private applied;
|
|
17
|
+
private stateListeners;
|
|
18
|
+
private eventListeners;
|
|
19
|
+
private version;
|
|
20
|
+
/** Apply an action. Re-applying moves its patches to the top of each stack. */
|
|
21
|
+
applyAction(action: ActionSequence): void;
|
|
22
|
+
/** Remove an action's patches from every element it touched. */
|
|
23
|
+
revertAction(actionOrId: ActionSequence | string): void;
|
|
24
|
+
/** Apply when not applied, revert when applied. Returns true when it applied. */
|
|
25
|
+
toggleAction(action: ActionSequence): boolean;
|
|
26
|
+
isActionApplied(actionId: string): boolean;
|
|
27
|
+
getAppliedActionIds(): string[];
|
|
28
|
+
/** Drop every patch (project load, "reset" in the editor). */
|
|
29
|
+
reset(): void;
|
|
30
|
+
/** The merged patch for one element — stable identity until it changes. */
|
|
31
|
+
getPatch(state: string | undefined | null): SettingsPatch | undefined;
|
|
32
|
+
/** Subscribe to one element's patch. Returns the unsubscribe. */
|
|
33
|
+
subscribe(state: string, listener: Listener): () => void;
|
|
34
|
+
/** Subscribe to apply / revert / reset events (UI badges, the component API). */
|
|
35
|
+
onEvent(listener: (event: SceneActionsEvent) => void): () => void;
|
|
36
|
+
/** Monotonic counter, bumped on every change (a cheap useSyncExternalStore snapshot). */
|
|
37
|
+
getVersion(): number;
|
|
38
|
+
private removeEntries;
|
|
39
|
+
private commit;
|
|
40
|
+
}
|
|
41
|
+
declare const sceneActions: SceneActions;
|
|
42
|
+
export default sceneActions;
|
|
43
|
+
//# sourceMappingURL=SceneActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneActions.d.ts","sourceRoot":"","sources":["../../src/services/SceneActions.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAA0B,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEpF,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAOxB,cAAM,YAAY;IACd,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,OAAO,CAAK;IAEpB,+EAA+E;IAC/E,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAazC,gEAAgE;IAChE,YAAY,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;IAQvD,iFAAiF;IACjF,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IAS7C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI1C,mBAAmB,IAAI,MAAM,EAAE;IAI/B,8DAA8D;IAC9D,KAAK,IAAI,IAAI;IAOb,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS;IAKrE,iEAAiE;IACjE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAaxD,iFAAiF;IACjF,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI;IAKjE,yFAAyF;IACzF,UAAU,IAAI,MAAM;IAIpB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,MAAM;CAgBjB;AAED,QAAA,MAAM,YAAY,cAAqB,CAAC;AACxC,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { composeSettingsPatches } from '../utils/settingsPatch.js';
|
|
2
|
+
class SceneActions {
|
|
3
|
+
stacks = new Map();
|
|
4
|
+
merged = new Map();
|
|
5
|
+
applied = new Set();
|
|
6
|
+
stateListeners = new Map();
|
|
7
|
+
eventListeners = new Set();
|
|
8
|
+
version = 0;
|
|
9
|
+
/** Apply an action. Re-applying moves its patches to the top of each stack. */
|
|
10
|
+
applyAction(action) {
|
|
11
|
+
const touched = this.removeEntries(action.id);
|
|
12
|
+
for (const target of action.targets ?? []) {
|
|
13
|
+
if (!target?.state || !target.patch || Object.keys(target.patch).length === 0)
|
|
14
|
+
continue;
|
|
15
|
+
const stack = this.stacks.get(target.state) ?? [];
|
|
16
|
+
stack.push({ actionId: action.id, patch: target.patch });
|
|
17
|
+
this.stacks.set(target.state, stack);
|
|
18
|
+
touched.add(target.state);
|
|
19
|
+
}
|
|
20
|
+
this.applied.add(action.id);
|
|
21
|
+
this.commit(touched, { type: 'applied', actionId: action.id });
|
|
22
|
+
}
|
|
23
|
+
/** Remove an action's patches from every element it touched. */
|
|
24
|
+
revertAction(actionOrId) {
|
|
25
|
+
const actionId = typeof actionOrId === 'string' ? actionOrId : actionOrId.id;
|
|
26
|
+
if (!this.applied.has(actionId))
|
|
27
|
+
return;
|
|
28
|
+
const touched = this.removeEntries(actionId);
|
|
29
|
+
this.applied.delete(actionId);
|
|
30
|
+
this.commit(touched, { type: 'reverted', actionId });
|
|
31
|
+
}
|
|
32
|
+
/** Apply when not applied, revert when applied. Returns true when it applied. */
|
|
33
|
+
toggleAction(action) {
|
|
34
|
+
if (this.applied.has(action.id)) {
|
|
35
|
+
this.revertAction(action.id);
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
this.applyAction(action);
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
isActionApplied(actionId) {
|
|
42
|
+
return this.applied.has(actionId);
|
|
43
|
+
}
|
|
44
|
+
getAppliedActionIds() {
|
|
45
|
+
return Array.from(this.applied);
|
|
46
|
+
}
|
|
47
|
+
/** Drop every patch (project load, "reset" in the editor). */
|
|
48
|
+
reset() {
|
|
49
|
+
const touched = new Set(this.stacks.keys());
|
|
50
|
+
this.stacks.clear();
|
|
51
|
+
this.applied.clear();
|
|
52
|
+
this.commit(touched, { type: 'reset' });
|
|
53
|
+
}
|
|
54
|
+
/** The merged patch for one element — stable identity until it changes. */
|
|
55
|
+
getPatch(state) {
|
|
56
|
+
if (!state)
|
|
57
|
+
return undefined;
|
|
58
|
+
return this.merged.get(state);
|
|
59
|
+
}
|
|
60
|
+
/** Subscribe to one element's patch. Returns the unsubscribe. */
|
|
61
|
+
subscribe(state, listener) {
|
|
62
|
+
let set = this.stateListeners.get(state);
|
|
63
|
+
if (!set) {
|
|
64
|
+
set = new Set();
|
|
65
|
+
this.stateListeners.set(state, set);
|
|
66
|
+
}
|
|
67
|
+
set.add(listener);
|
|
68
|
+
return () => {
|
|
69
|
+
set.delete(listener);
|
|
70
|
+
if (set.size === 0)
|
|
71
|
+
this.stateListeners.delete(state);
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/** Subscribe to apply / revert / reset events (UI badges, the component API). */
|
|
75
|
+
onEvent(listener) {
|
|
76
|
+
this.eventListeners.add(listener);
|
|
77
|
+
return () => this.eventListeners.delete(listener);
|
|
78
|
+
}
|
|
79
|
+
/** Monotonic counter, bumped on every change (a cheap useSyncExternalStore snapshot). */
|
|
80
|
+
getVersion() {
|
|
81
|
+
return this.version;
|
|
82
|
+
}
|
|
83
|
+
removeEntries(actionId) {
|
|
84
|
+
const touched = new Set();
|
|
85
|
+
for (const [state, stack] of this.stacks) {
|
|
86
|
+
const next = stack.filter(e => e.actionId !== actionId);
|
|
87
|
+
if (next.length === stack.length)
|
|
88
|
+
continue;
|
|
89
|
+
touched.add(state);
|
|
90
|
+
if (next.length === 0)
|
|
91
|
+
this.stacks.delete(state);
|
|
92
|
+
else
|
|
93
|
+
this.stacks.set(state, next);
|
|
94
|
+
}
|
|
95
|
+
return touched;
|
|
96
|
+
}
|
|
97
|
+
commit(touched, event) {
|
|
98
|
+
for (const state of touched) {
|
|
99
|
+
const stack = this.stacks.get(state);
|
|
100
|
+
this.merged.set(state, stack ? composeSettingsPatches(stack.map(e => e.patch)) : undefined);
|
|
101
|
+
if (!stack)
|
|
102
|
+
this.merged.delete(state);
|
|
103
|
+
}
|
|
104
|
+
this.version += 1;
|
|
105
|
+
for (const state of touched) {
|
|
106
|
+
this.stateListeners.get(state)?.forEach(l => {
|
|
107
|
+
try {
|
|
108
|
+
l();
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
console.error('[SceneActions] listener failed', err);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
this.eventListeners.forEach(l => {
|
|
116
|
+
try {
|
|
117
|
+
l(event);
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
console.error('[SceneActions] event listener failed', err);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const sceneActions = new SceneActions();
|
|
126
|
+
export default sceneActions;
|
package/dist/services/index.d.ts
CHANGED
|
@@ -16,4 +16,6 @@ export { UniformConverter, UniformProcessor, uniformConverter } from './UniformC
|
|
|
16
16
|
export { SkySystemManager, skySystemManager } from './SkySystemManager';
|
|
17
17
|
export { CubeCameraManager, cubeCameraManager } from './CubeCameraManager';
|
|
18
18
|
export { default as SceneStore } from './SceneStore';
|
|
19
|
+
export { default as SceneActions } from './SceneActions';
|
|
20
|
+
export type { SceneActionsEvent } from './SceneActions';
|
|
19
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,GAAG,MAAM,oBAAoB,CAAC;AAE5H,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACtF,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,GAAG,MAAM,oBAAoB,CAAC;AAE5H,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACtF,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/services/index.js
CHANGED
|
@@ -12,3 +12,4 @@ export { UniformConverter, UniformProcessor, uniformConverter } from './UniformC
|
|
|
12
12
|
export { SkySystemManager, skySystemManager } from './SkySystemManager.js';
|
|
13
13
|
export { CubeCameraManager, cubeCameraManager } from './CubeCameraManager.js';
|
|
14
14
|
export { default as SceneStore } from './SceneStore.js';
|
|
15
|
+
export { default as SceneActions } from './SceneActions.js';
|
package/dist/types/actions.d.ts
CHANGED
|
@@ -26,5 +26,37 @@ export type ActionsSet = {
|
|
|
26
26
|
description?: string;
|
|
27
27
|
actions: Action[];
|
|
28
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* One element an action changes: `state` addresses it (a scene object id, or one of
|
|
31
|
+
* 'camera' | 'sky' | 'ocean' | 'clouds'), and `patch` is a deep partial of that
|
|
32
|
+
* element's own settings — `{ materialSettings: { materialVariant: 'Glass' } }`,
|
|
33
|
+
* `{ config: { intensity: 4 } }`, `{ meshSettings: { position: [0, 2, 0] } }`.
|
|
34
|
+
*/
|
|
35
|
+
export interface ActionTarget {
|
|
36
|
+
state: string;
|
|
37
|
+
patch: Record<string, any>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* ActionSequence — an instant, multi-element scene change, applied at runtime only.
|
|
41
|
+
*
|
|
42
|
+
* Executed by `SceneActions.applyAction` / `revertAction` / `toggleAction`, which lay
|
|
43
|
+
* the patches over the authored settings; revert removes them. Never written into the
|
|
44
|
+
* authored settings and never persisted as scene state — only the action definition is saved.
|
|
45
|
+
*/
|
|
46
|
+
export interface ActionSequence {
|
|
47
|
+
id: string;
|
|
48
|
+
name: string;
|
|
49
|
+
/**
|
|
50
|
+
* Stable, code-facing name — what the component API addresses
|
|
51
|
+
* (`scene.actions.toggle('open-door')`). Derived from the name once at creation,
|
|
52
|
+
* unique per project, survives renames and project copies. See utils/actionKeys.
|
|
53
|
+
*/
|
|
54
|
+
key?: string;
|
|
55
|
+
description?: string;
|
|
56
|
+
targets: ActionTarget[];
|
|
57
|
+
assetId?: string | null;
|
|
58
|
+
/** Runtime only */
|
|
59
|
+
isDirty?: boolean;
|
|
60
|
+
}
|
|
29
61
|
export {};
|
|
30
62
|
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/types/actions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;AAE1L,MAAM,WAAW,MAAM;IACnB,wCAAwC;IACxC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wEAAwE;IACxE,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AACF,OAAO,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/types/actions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;AAE1L,MAAM,WAAW,MAAM;IACnB,wCAAwC;IACxC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wEAAwE;IACxE,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AACF;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AACD,OAAO,EAAE,CAAC"}
|
package/dist/types/lights.d.ts
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import type { Vector3Array } from "./common";
|
|
2
2
|
import { AnimationOptions, MouseMoveInteraction } from ".";
|
|
3
|
-
export type LightType = 'ambient' | 'directional' | 'point' | 'spot' | 'lightBulb' | 'spotBeam' | 'ledArray' | 'fluorescentTube';
|
|
3
|
+
export type LightType = 'ambient' | 'directional' | 'point' | 'spot' | 'lightBulb' | 'spotBeam' | 'ledArray' | 'fluorescentTube' | 'candle';
|
|
4
4
|
export type BaseLightConfig = {
|
|
5
5
|
enabled: boolean;
|
|
6
6
|
name: string;
|
|
7
7
|
type: LightType;
|
|
8
|
+
/**
|
|
9
|
+
* Scene objects ('mesh' / 'model') this light drives, by id. The light does
|
|
10
|
+
* not own them — it only pushes its live state onto them, which is how a
|
|
11
|
+
* lampshade glows from the bulb inside it. Empty or absent = drives nothing.
|
|
12
|
+
*/
|
|
13
|
+
targetIds?: string[];
|
|
14
|
+
/**
|
|
15
|
+
* For a 'model' target, the mesh names inside it to drive, keyed by the
|
|
16
|
+
* model's object id. Absent for a model means the whole model.
|
|
17
|
+
*/
|
|
18
|
+
targetMeshes?: Record<string, string[]>;
|
|
8
19
|
position?: Vector3Array;
|
|
9
20
|
color: string;
|
|
10
21
|
intensity: number;
|
|
@@ -190,7 +201,75 @@ export type FluorescentTubeConfig = Omit<BaseLightConfig, 'type'> & {
|
|
|
190
201
|
halo?: number;
|
|
191
202
|
shadow?: PointShadowSettings;
|
|
192
203
|
};
|
|
193
|
-
export type
|
|
204
|
+
export type CandleBody = 'pillar' | 'taper' | 'tealight' | 'none';
|
|
205
|
+
export type FlameMode = 'volumetric' | 'billboard';
|
|
206
|
+
/**
|
|
207
|
+
* A candle: a raymarched flame with a real point light at its luminous centroid,
|
|
208
|
+
* standing on wax.
|
|
209
|
+
*
|
|
210
|
+
* The flame's motion is modelled rather than randomised — a buoyancy oscillation
|
|
211
|
+
* around 10-12 Hz (nearly independent of candle size), a pink-noise wander for
|
|
212
|
+
* room air, guttering under draught, and an ignition when it is switched on.
|
|
213
|
+
* The light moves with the flame, so the shadows sway instead of only dimming.
|
|
214
|
+
*/
|
|
215
|
+
export type CandleConfig = Omit<PointLightConfig, 'type'> & {
|
|
216
|
+
type: 'candle';
|
|
217
|
+
/** 'billboard' is the same field on one quad, for scenes full of candles. Default 'volumetric'. */
|
|
218
|
+
flameMode?: FlameMode;
|
|
219
|
+
/** Flame height in world units. A real one is 0.03-0.06. Default 0.055. */
|
|
220
|
+
flameHeight?: number;
|
|
221
|
+
/** Width multiplier, 0.15-2. Default 1. */
|
|
222
|
+
flameWidth?: number;
|
|
223
|
+
/** Depth of the brightness dip, 0-1. Light output only, not shape. Default 0.5. */
|
|
224
|
+
flicker?: number;
|
|
225
|
+
/**
|
|
226
|
+
* How much the flame moves at all, 0-1. 0 freezes its shape into a still
|
|
227
|
+
* teardrop that can still flicker in brightness. Default 1.
|
|
228
|
+
*/
|
|
229
|
+
movement?: number;
|
|
230
|
+
/** Pulse rate in Hz. Real candles sit near 11 whatever their size. Default 11. */
|
|
231
|
+
flickerHz?: number;
|
|
232
|
+
/** Air movement, 0-1: lean, stretch, turbulence and eventually guttering. Each
|
|
233
|
+
* candle picks its own wind direction and lets it drift. Default 0.08. */
|
|
234
|
+
draught?: number;
|
|
235
|
+
/** Strength of the blue base, 0-1. Default 0.7. */
|
|
236
|
+
blue?: number;
|
|
237
|
+
/** How much of the flame's height reads blue, 0-100. Default 16. */
|
|
238
|
+
blueBasePercentage?: number;
|
|
239
|
+
/** How much the soot absorbs, 0-1: the flame's body rather than a ghost. Default 0.25. */
|
|
240
|
+
soot?: number;
|
|
241
|
+
/** Raymarch steps, 8-40. Volumetric only. Default 24. */
|
|
242
|
+
flameSteps?: number;
|
|
243
|
+
/** Emission scale. Raise for a hotter, whiter flame. Default 5. */
|
|
244
|
+
flameGain?: number;
|
|
245
|
+
/** White point of the flame's own knee, 1.5-10. Lower blows the core out sooner. Default 3.5. */
|
|
246
|
+
flameWhite?: number;
|
|
247
|
+
/** Seconds for the wick to catch and the flame to establish. Default 1.6. */
|
|
248
|
+
ignite?: number;
|
|
249
|
+
/** A thread of smoke after it is snuffed. Default true. */
|
|
250
|
+
smoke?: boolean;
|
|
251
|
+
/** Strength of the wash around the flame, 0-2. Default 1. */
|
|
252
|
+
halo?: number;
|
|
253
|
+
/** Default 'temperature'. */
|
|
254
|
+
colorMode?: 'temperature' | 'color';
|
|
255
|
+
/** Colour temperature in Kelvin. A candle is about 1850. Default 1850. */
|
|
256
|
+
temperature?: number;
|
|
257
|
+
/** Lit. Switching it on runs the ignition; off snuffs it. Default true. */
|
|
258
|
+
on?: boolean;
|
|
259
|
+
/** 'none' leaves the flame and the light alone. Default 'pillar'. */
|
|
260
|
+
body?: CandleBody;
|
|
261
|
+
/** Wax colour. Default '#f3e7d2'. */
|
|
262
|
+
waxColor?: string;
|
|
263
|
+
/** Candle height in world units, before the body style's proportions. Default 0.14. */
|
|
264
|
+
height?: number;
|
|
265
|
+
/** Candle radius. Default 0.028. */
|
|
266
|
+
radius?: number;
|
|
267
|
+
/** How far the wax has melted down, 0-1: the depth of the well. Default 0.45. */
|
|
268
|
+
melt?: number;
|
|
269
|
+
/** How much the wax glows from inside, 0-1. Default 0.3. */
|
|
270
|
+
waxGlow?: number;
|
|
271
|
+
};
|
|
272
|
+
export type LightObjectConfig = BaseLightConfig | SpotLightConfig | PointLightConfig | LightBulbConfig | SpotBeamConfig | LedArrayConfig | FluorescentTubeConfig | CandleConfig;
|
|
194
273
|
export type ShadowSettings = {
|
|
195
274
|
enabled?: boolean;
|
|
196
275
|
mapSize?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lights.d.ts","sourceRoot":"","sources":["../../src/types/lights.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,GAAG,CAAC;AAC3D,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"lights.d.ts","sourceRoot":"","sources":["../../src/types/lights.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,6 +106,10 @@ export interface Interaction {
|
|
|
106
106
|
targetMode?: 'replace' | 'add';
|
|
107
107
|
/** Animation sequence IDs to trigger */
|
|
108
108
|
animationIds?: string[];
|
|
109
|
+
/** Action sequence IDs to apply (instant). With the 'toggle' operation, every second trigger reverts them. */
|
|
110
|
+
actionIds?: string[];
|
|
111
|
+
/** Narrows a `model` target in targetIds to specific mesh names, keyed by that model's object id */
|
|
112
|
+
targetMeshNames?: Record<string, string[]>;
|
|
109
113
|
}
|
|
110
114
|
export interface ClickInteraction {
|
|
111
115
|
interactions: Interaction[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectSettings.d.ts","sourceRoot":"","sources":["../../src/types/objectSettings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"objectSettings.d.ts","sourceRoot":"","sources":["../../src/types/objectSettings.ts"],"names":[],"mappings":"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"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { HtmlElement } from "./uiController";
|
|
|
7
7
|
import type { Action } from "./actions";
|
|
8
8
|
import type { SceneLightConfig } from "./lights";
|
|
9
9
|
import type { AnimationSequence } from "./animations";
|
|
10
|
+
import type { ActionSequence } from "./actions";
|
|
10
11
|
import type { CursorModuleConfig } from "./cursor";
|
|
11
12
|
import { type ThreeEvent } from "@react-three/fiber";
|
|
12
13
|
export type AnimationType = 'tween' | 'keyframe';
|
|
@@ -67,6 +68,7 @@ export interface ProjectData {
|
|
|
67
68
|
uiSettings: any;
|
|
68
69
|
actions?: Action[];
|
|
69
70
|
animationSequences?: AnimationSequence[];
|
|
71
|
+
actionSequences?: ActionSequence[];
|
|
70
72
|
cursor?: CursorModuleConfig;
|
|
71
73
|
}
|
|
72
74
|
export interface AppFileInfo {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnJ,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjK,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC9E,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,MAAM,CAAC;AAErH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,CAAC;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACtG,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,UAAU,EAAE,GAAG,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,EAAE,CAAC;AAGJ,OAAO,EAAE,CAAC"}
|
package/dist/types/users.d.ts
CHANGED
|
@@ -224,7 +224,7 @@ export interface CopyProjectPayload {
|
|
|
224
224
|
copyAssets?: boolean;
|
|
225
225
|
copyDependencies?: boolean;
|
|
226
226
|
}
|
|
227
|
-
export type ProjectDataType = 'sceneObjects' | 'environments' | 'lights' | 'camera' | 'project' | 'postProcessing' | 'sceneSettings' | 'animationSequences';
|
|
227
|
+
export type ProjectDataType = 'sceneObjects' | 'environments' | 'lights' | 'camera' | 'project' | 'postProcessing' | 'sceneSettings' | 'animationSequences' | 'actionSequences';
|
|
228
228
|
export interface CreateDataItem {
|
|
229
229
|
data: Record<string, any>;
|
|
230
230
|
order?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/types/users.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/types/users.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const ACTION_KEY_MAX_LENGTH = 64;
|
|
2
|
+
/** "Open the Front Door!" -> "open-the-front-door". Falls back to "action". */
|
|
3
|
+
export declare function toActionKey(name: string | undefined | null): string;
|
|
4
|
+
/** True for a well-formed key: lowercase letters, digits, single dashes between. */
|
|
5
|
+
export declare function isValidActionKey(key: string | undefined | null): boolean;
|
|
6
|
+
/** `base`, or `base-2`, `base-3`… — the first one not in `taken`. */
|
|
7
|
+
export declare function uniqueActionKey(base: string, taken: Iterable<string>): string;
|
|
8
|
+
//# sourceMappingURL=actionKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actionKeys.d.ts","sourceRoot":"","sources":["../../src/utils/actionKeys.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAGxC,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAUnE;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAExE;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAQ7E"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Action keys — the stable, code-facing name of an action
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// `key` is what a developer types into their own code to trigger an action from
|
|
6
|
+
// outside the project (`scene.actions.toggle('open-door')`). Ids change when a
|
|
7
|
+
// project is copied or forked; names are labels and get edited. A key is derived
|
|
8
|
+
// from the name ONCE, at creation, and then frozen — renaming the action does not
|
|
9
|
+
// touch it. It is unique per project; the data-center enforces that on save
|
|
10
|
+
// (it carries its own copy of `toActionKey` — keep the two in step).
|
|
11
|
+
//
|
|
12
|
+
export const ACTION_KEY_MAX_LENGTH = 64;
|
|
13
|
+
const ACTION_KEY_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
14
|
+
/** "Open the Front Door!" -> "open-the-front-door". Falls back to "action". */
|
|
15
|
+
export function toActionKey(name) {
|
|
16
|
+
const slug = (name ?? '')
|
|
17
|
+
.normalize('NFKD')
|
|
18
|
+
.replace(/[̀-ͯ]/g, '')
|
|
19
|
+
.toLowerCase()
|
|
20
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
21
|
+
.replace(/^-+|-+$/g, '')
|
|
22
|
+
.slice(0, ACTION_KEY_MAX_LENGTH)
|
|
23
|
+
.replace(/-+$/g, '');
|
|
24
|
+
return slug || 'action';
|
|
25
|
+
}
|
|
26
|
+
/** True for a well-formed key: lowercase letters, digits, single dashes between. */
|
|
27
|
+
export function isValidActionKey(key) {
|
|
28
|
+
return !!key && key.length <= ACTION_KEY_MAX_LENGTH && ACTION_KEY_PATTERN.test(key);
|
|
29
|
+
}
|
|
30
|
+
/** `base`, or `base-2`, `base-3`… — the first one not in `taken`. */
|
|
31
|
+
export function uniqueActionKey(base, taken) {
|
|
32
|
+
const used = new Set(taken);
|
|
33
|
+
if (!used.has(base))
|
|
34
|
+
return base;
|
|
35
|
+
for (let n = 2;; n++) {
|
|
36
|
+
const suffix = `-${n}`;
|
|
37
|
+
const candidate = `${base.slice(0, ACTION_KEY_MAX_LENGTH - suffix.length).replace(/-+$/g, '')}${suffix}`;
|
|
38
|
+
if (!used.has(candidate))
|
|
39
|
+
return candidate;
|
|
40
|
+
}
|
|
41
|
+
}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type SettingsPatch = Record<string, any>;
|
|
2
|
+
export declare function isPlainObject(value: unknown): value is Record<string, any>;
|
|
3
|
+
/** `base` with `patch` laid over it. Returns `base` itself when the patch is empty. */
|
|
4
|
+
export declare function applySettingsPatch<T>(base: T, patch: SettingsPatch | undefined | null): T;
|
|
5
|
+
/** Several patches composed into one, later ones winning. */
|
|
6
|
+
export declare function composeSettingsPatches(patches: SettingsPatch[]): SettingsPatch | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* The patch that turns `base` into `next`: every leaf of `next` that differs from
|
|
9
|
+
* `base`. Keys `next` dropped are ignored — a patch sets values, it does not delete.
|
|
10
|
+
* `exclude` applies to top-level keys only (identity and behaviour fields).
|
|
11
|
+
*/
|
|
12
|
+
export declare function diffSettings(base: unknown, next: unknown, exclude?: ReadonlySet<string>): SettingsPatch;
|
|
13
|
+
/** Number of leaf values a patch sets (for UI summaries). */
|
|
14
|
+
export declare function countPatchLeaves(patch: SettingsPatch | undefined | null): number;
|
|
15
|
+
//# sourceMappingURL=settingsPatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settingsPatch.d.ts","sourceRoot":"","sources":["../../src/utils/settingsPatch.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI1E;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,CAUzF;AAED,6DAA6D;AAC7D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,GAAG,SAAS,CAG1F;AAYD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,WAAW,CAAC,MAAM,CAAa,GAAG,aAAa,CAiBlH;AAED,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAKhF"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// settingsPatch — deep partials over a settings object
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// A *patch* is a deep partial of a scene element's settings: the same shape as the
|
|
6
|
+
// settings themselves, holding only what differs. Actions store one per target and
|
|
7
|
+
// SceneActions layers them over the authored settings at runtime (never persisted
|
|
8
|
+
// into the settings, never written to Redux).
|
|
9
|
+
//
|
|
10
|
+
// Rules, kept deliberately small:
|
|
11
|
+
// - plain objects merge key by key, recursively;
|
|
12
|
+
// - everything else (numbers, strings, booleans, arrays, null) replaces;
|
|
13
|
+
// - untouched branches keep their identity, so renderers that memoise per block
|
|
14
|
+
// (CloudsGenerator's deck / cirrus / quality, material application keyed on
|
|
15
|
+
// materialSettings) only redo the block a patch actually changed.
|
|
16
|
+
//
|
|
17
|
+
export function isPlainObject(value) {
|
|
18
|
+
if (value === null || typeof value !== 'object')
|
|
19
|
+
return false;
|
|
20
|
+
const proto = Object.getPrototypeOf(value);
|
|
21
|
+
return proto === Object.prototype || proto === null;
|
|
22
|
+
}
|
|
23
|
+
/** `base` with `patch` laid over it. Returns `base` itself when the patch is empty. */
|
|
24
|
+
export function applySettingsPatch(base, patch) {
|
|
25
|
+
if (!patch || Object.keys(patch).length === 0)
|
|
26
|
+
return base;
|
|
27
|
+
if (!isPlainObject(base))
|
|
28
|
+
return (isPlainObject(patch) ? { ...patch } : patch);
|
|
29
|
+
const out = { ...base };
|
|
30
|
+
for (const key of Object.keys(patch)) {
|
|
31
|
+
const next = patch[key];
|
|
32
|
+
const prev = out[key];
|
|
33
|
+
out[key] = isPlainObject(next) && isPlainObject(prev) ? applySettingsPatch(prev, next) : next;
|
|
34
|
+
}
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
/** Several patches composed into one, later ones winning. */
|
|
38
|
+
export function composeSettingsPatches(patches) {
|
|
39
|
+
if (patches.length === 0)
|
|
40
|
+
return undefined;
|
|
41
|
+
return patches.reduce((acc, p) => applySettingsPatch(acc, p), {});
|
|
42
|
+
}
|
|
43
|
+
function valuesEqual(a, b) {
|
|
44
|
+
if (a === b)
|
|
45
|
+
return true;
|
|
46
|
+
if (typeof a !== 'object' || typeof b !== 'object' || a === null || b === null)
|
|
47
|
+
return false;
|
|
48
|
+
try {
|
|
49
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The patch that turns `base` into `next`: every leaf of `next` that differs from
|
|
57
|
+
* `base`. Keys `next` dropped are ignored — a patch sets values, it does not delete.
|
|
58
|
+
* `exclude` applies to top-level keys only (identity and behaviour fields).
|
|
59
|
+
*/
|
|
60
|
+
export function diffSettings(base, next, exclude = new Set()) {
|
|
61
|
+
const out = {};
|
|
62
|
+
if (!isPlainObject(next))
|
|
63
|
+
return out;
|
|
64
|
+
const b = isPlainObject(base) ? base : {};
|
|
65
|
+
for (const key of Object.keys(next)) {
|
|
66
|
+
if (exclude.has(key))
|
|
67
|
+
continue;
|
|
68
|
+
const nv = next[key];
|
|
69
|
+
const bv = b[key];
|
|
70
|
+
if (nv === undefined || valuesEqual(nv, bv))
|
|
71
|
+
continue;
|
|
72
|
+
if (isPlainObject(nv) && isPlainObject(bv)) {
|
|
73
|
+
const sub = diffSettings(bv, nv);
|
|
74
|
+
if (Object.keys(sub).length > 0)
|
|
75
|
+
out[key] = sub;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
out[key] = nv;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return out;
|
|
82
|
+
}
|
|
83
|
+
/** Number of leaf values a patch sets (for UI summaries). */
|
|
84
|
+
export function countPatchLeaves(patch) {
|
|
85
|
+
if (!patch)
|
|
86
|
+
return 0;
|
|
87
|
+
let n = 0;
|
|
88
|
+
for (const v of Object.values(patch))
|
|
89
|
+
n += isPlainObject(v) ? countPatchLeaves(v) : 1;
|
|
90
|
+
return n;
|
|
91
|
+
}
|