@vscada/core 0.0.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/dist/.tsbuildinfo +1 -0
- package/dist/a11y/contrast.d.ts +11 -0
- package/dist/a11y/contrast.d.ts.map +1 -0
- package/dist/a11y/live-region.d.ts +42 -0
- package/dist/a11y/live-region.d.ts.map +1 -0
- package/dist/a11y/reduced-motion.d.ts +55 -0
- package/dist/a11y/reduced-motion.d.ts.map +1 -0
- package/dist/a11y/static-representation-registry.d.ts +20 -0
- package/dist/a11y/static-representation-registry.d.ts.map +1 -0
- package/dist/bindings/binding-fixture.d.ts +3 -0
- package/dist/bindings/binding-fixture.d.ts.map +1 -0
- package/dist/bindings/binding-types.d.ts +52 -0
- package/dist/bindings/binding-types.d.ts.map +1 -0
- package/dist/bindings/color-ramp.d.ts +9 -0
- package/dist/bindings/color-ramp.d.ts.map +1 -0
- package/dist/bindings/transforms.d.ts +103 -0
- package/dist/bindings/transforms.d.ts.map +1 -0
- package/dist/constants-DMdpoOyH.js +4 -0
- package/dist/contracts/connection-renderer.d.ts +16 -0
- package/dist/contracts/connection-renderer.d.ts.map +1 -0
- package/dist/contracts/connection-state.d.ts +8 -0
- package/dist/contracts/connection-state.d.ts.map +1 -0
- package/dist/contracts/handles.d.ts +83 -0
- package/dist/contracts/handles.d.ts.map +1 -0
- package/dist/contracts/primitive.d.ts +37 -0
- package/dist/contracts/primitive.d.ts.map +1 -0
- package/dist/contracts/renderer.d.ts +34 -0
- package/dist/contracts/renderer.d.ts.map +1 -0
- package/dist/contracts/tag-value.d.ts +33 -0
- package/dist/contracts/tag-value.d.ts.map +1 -0
- package/dist/contracts/time-source.d.ts +14 -0
- package/dist/contracts/time-source.d.ts.map +1 -0
- package/dist/custom-elements.json +1068 -0
- package/dist/export/svg-export.d.ts +24 -0
- package/dist/export/svg-export.d.ts.map +1 -0
- package/dist/fsm/fsm.d.ts +45 -0
- package/dist/fsm/fsm.d.ts.map +1 -0
- package/dist/fsm/tween.d.ts +39 -0
- package/dist/fsm/tween.d.ts.map +1 -0
- package/dist/import/load-svg-import.d.ts +22 -0
- package/dist/import/load-svg-import.d.ts.map +1 -0
- package/dist/import/svg-source-registry.d.ts +4 -0
- package/dist/import/svg-source-registry.d.ts.map +1 -0
- package/dist/index.d.ts +61 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4549 -0
- package/dist/interaction/gesture-arbiter.d.ts +20 -0
- package/dist/interaction/gesture-arbiter.d.ts.map +1 -0
- package/dist/interaction/hit-area.d.ts +44 -0
- package/dist/interaction/hit-area.d.ts.map +1 -0
- package/dist/interaction/pan-zoom-gestures.d.ts +43 -0
- package/dist/interaction/pan-zoom-gestures.d.ts.map +1 -0
- package/dist/interaction/pointer-pipeline.d.ts +38 -0
- package/dist/interaction/pointer-pipeline.d.ts.map +1 -0
- package/dist/license/console-notice.d.ts +15 -0
- package/dist/license/console-notice.d.ts.map +1 -0
- package/dist/license/format.d.ts +29 -0
- package/dist/license/format.d.ts.map +1 -0
- package/dist/license/state.d.ts +43 -0
- package/dist/license/state.d.ts.map +1 -0
- package/dist/license/vendor-keys.d.ts +12 -0
- package/dist/license/vendor-keys.d.ts.map +1 -0
- package/dist/license/verify-fallback.d.ts +31 -0
- package/dist/license/verify-fallback.d.ts.map +1 -0
- package/dist/license/verify-webcrypto.d.ts +4 -0
- package/dist/license/verify-webcrypto.d.ts.map +1 -0
- package/dist/license/watermark.d.ts +20 -0
- package/dist/license/watermark.d.ts.map +1 -0
- package/dist/media/registry.d.ts +97 -0
- package/dist/media/registry.d.ts.map +1 -0
- package/dist/registry/connection-registry.d.ts +5 -0
- package/dist/registry/connection-registry.d.ts.map +1 -0
- package/dist/registry/element-catalog.d.ts +805 -0
- package/dist/registry/element-catalog.d.ts.map +1 -0
- package/dist/registry/primitive-registry.d.ts +7 -0
- package/dist/registry/primitive-registry.d.ts.map +1 -0
- package/dist/registry/theme-registry.d.ts +6 -0
- package/dist/registry/theme-registry.d.ts.map +1 -0
- package/dist/registry.d.ts +8 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/scada-view.d.ts +322 -0
- package/dist/scada-view.d.ts.map +1 -0
- package/dist/scene/connection-geometry.d.ts +95 -0
- package/dist/scene/connection-geometry.d.ts.map +1 -0
- package/dist/scene/constants.d.ts +10 -0
- package/dist/scene/constants.d.ts.map +1 -0
- package/dist/scene/crossing-jumps.d.ts +85 -0
- package/dist/scene/crossing-jumps.d.ts.map +1 -0
- package/dist/scene/dev-validate.d.ts +24 -0
- package/dist/scene/dev-validate.d.ts.map +1 -0
- package/dist/scene/errors.d.ts +15 -0
- package/dist/scene/errors.d.ts.map +1 -0
- package/dist/scene/groups.d.ts +90 -0
- package/dist/scene/groups.d.ts.map +1 -0
- package/dist/scene/lane-offset.d.ts +69 -0
- package/dist/scene/lane-offset.d.ts.map +1 -0
- package/dist/scene/orthogonal-router.d.ts +63 -0
- package/dist/scene/orthogonal-router.d.ts.map +1 -0
- package/dist/scene/scene-schema.d.ts +881 -0
- package/dist/scene/scene-schema.d.ts.map +1 -0
- package/dist/scene/structural-validator.d.ts +25 -0
- package/dist/scene/structural-validator.d.ts.map +1 -0
- package/dist/scene/validate-scene.d.ts +26 -0
- package/dist/scene/validate-scene.d.ts.map +1 -0
- package/dist/scene-authoring.d.ts +12 -0
- package/dist/scene-authoring.d.ts.map +1 -0
- package/dist/scene-authoring.js +952 -0
- package/dist/scheduler/alarm-band.d.ts +33 -0
- package/dist/scheduler/alarm-band.d.ts.map +1 -0
- package/dist/scheduler/animation-registry.d.ts +38 -0
- package/dist/scheduler/animation-registry.d.ts.map +1 -0
- package/dist/scheduler/lod.d.ts +25 -0
- package/dist/scheduler/lod.d.ts.map +1 -0
- package/dist/scheduler/quality-overlay.d.ts +19 -0
- package/dist/scheduler/quality-overlay.d.ts.map +1 -0
- package/dist/scheduler/quality.d.ts +15 -0
- package/dist/scheduler/quality.d.ts.map +1 -0
- package/dist/scheduler/scheduler.d.ts +243 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -0
- package/dist/scheduler/visual-state-resolver.d.ts +31 -0
- package/dist/scheduler/visual-state-resolver.d.ts.map +1 -0
- package/dist/store/value-store.d.ts +65 -0
- package/dist/store/value-store.d.ts.map +1 -0
- package/dist/tokens.d.ts +703 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/topology/graph.d.ts +33 -0
- package/dist/topology/graph.d.ts.map +1 -0
- package/dist/topology/group-collapse.d.ts +15 -0
- package/dist/topology/group-collapse.d.ts.map +1 -0
- package/dist/topology/inference.d.ts +71 -0
- package/dist/topology/inference.d.ts.map +1 -0
- package/dist/topology/traversal.d.ts +29 -0
- package/dist/topology/traversal.d.ts.map +1 -0
- package/dist/topology/upstream-highlight.d.ts +75 -0
- package/dist/topology/upstream-highlight.d.ts.map +1 -0
- package/dist/units/formatter.d.ts +22 -0
- package/dist/units/formatter.d.ts.map +1 -0
- package/dist/units/registry.d.ts +21 -0
- package/dist/units/registry.d.ts.map +1 -0
- package/dist/view/group-view-state.d.ts +77 -0
- package/dist/view/group-view-state.d.ts.map +1 -0
- package/dist/view/viewport-state.d.ts +112 -0
- package/dist/view/viewport-state.d.ts.map +1 -0
- package/dist/vscada.umd.cjs +45 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-state.d.ts","sourceRoot":"","sources":["../../src/contracts/connection-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { TagValue } from './tag-value';
|
|
2
|
+
import type { Renderer } from './renderer';
|
|
3
|
+
/**
|
|
4
|
+
* `now` (the current tick's timestamp) is passed to every write so a
|
|
5
|
+
* handle can drive its OWN internal `Tween` (Story 1.5) — e.g. a
|
|
6
|
+
* state-triggered ramp needs to know when "now" is to retarget correctly.
|
|
7
|
+
* Handles that don't need it simply ignore the parameter.
|
|
8
|
+
*/
|
|
9
|
+
/** Tweened numeric writes (fill height, rotation angle, dash offset, …). */
|
|
10
|
+
export interface NumericHandle {
|
|
11
|
+
kind: 'numeric';
|
|
12
|
+
write(renderer: Renderer, value: number, now: number): void;
|
|
13
|
+
}
|
|
14
|
+
/** Formatted text writes (readouts). Receives the raw value — the primitive owns formatting/units. */
|
|
15
|
+
export interface TextHandle {
|
|
16
|
+
kind: 'text';
|
|
17
|
+
write(renderer: Renderer, value: TagValue['value'], now: number): void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Discrete state writes. The scheduler passes the store's raw
|
|
21
|
+
* `currentValue` unsmoothed — a state code (e.g. 0/1/2) must never be
|
|
22
|
+
* numerically interpolated the way a continuous quantity is (Story 1.5
|
|
23
|
+
* fixed a latent Story 1.3 gap here: `NumericHandle`-style interpolation
|
|
24
|
+
* would otherwise blend between state codes into meaningless fractions).
|
|
25
|
+
*/
|
|
26
|
+
export interface StateHandle {
|
|
27
|
+
kind: 'state';
|
|
28
|
+
write(renderer: Renderer, value: TagValue['value'], now: number): void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Drives an in-flight state-transition ramp/coast (§6.2's tween layer,
|
|
32
|
+
* Story 1.5). Ticked EVERY scheduler frame unconditionally — not gated on
|
|
33
|
+
* any tag's value changing, since the ramp must keep advancing across many
|
|
34
|
+
* ticks after the one tick where the driving state tag actually changed.
|
|
35
|
+
*/
|
|
36
|
+
export interface TweenHandle {
|
|
37
|
+
kind: 'tween';
|
|
38
|
+
tick(renderer: Renderer, now: number): void;
|
|
39
|
+
/** `snapToTargets()` (Story 1.6 AC4): completes any in-flight ramp to its target immediately and permanently (until the next retarget). */
|
|
40
|
+
snap(renderer: Renderer, now: number): void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Continuous animation control (impeller spin, flow dash, plume drift).
|
|
44
|
+
* Every one of these a primitive creates must be registered with core's
|
|
45
|
+
* animation registry at build time (AD-5) — this handle IS that
|
|
46
|
+
* registration point. No freeze/staleness LOGIC here (Story 1.6); this is
|
|
47
|
+
* only the pause/resume control surface that story calls into.
|
|
48
|
+
*/
|
|
49
|
+
export interface AnimationHandle {
|
|
50
|
+
kind: 'animation';
|
|
51
|
+
pause(): void;
|
|
52
|
+
resume(): void;
|
|
53
|
+
/** Story 1.7: deterministic-frame capability for visual regression — sets every underlying WAAPI animation's `currentTime`. */
|
|
54
|
+
seek(timeMs: number): void;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Reduced-motion's declared static swap (Story 4.4 AC1, §11). An
|
|
58
|
+
* `AnimationHandle`'s `pause()` only holds the CURRENT frame — fine for a
|
|
59
|
+
* rotating impeller or a dashed flow line (still legible mid-cycle), but
|
|
60
|
+
* an opacity-driven drift/fade (vapor's plume/steam-vent) can pause on an
|
|
61
|
+
* ambiguous half-formed frame. A primitive with that shape also builds a
|
|
62
|
+
* static, non-animated representation and registers it here; core's
|
|
63
|
+
* `ReducedMotionController` calls `activate()`/`deactivate()` in lockstep
|
|
64
|
+
* with the SAME `prefers-reduced-motion` toggle that flips `animated`
|
|
65
|
+
* (never independently — see that controller's own doc).
|
|
66
|
+
*/
|
|
67
|
+
export interface StaticRepresentationHandle {
|
|
68
|
+
kind: 'static-representation';
|
|
69
|
+
/** Show the static representation, hide the animated one. */
|
|
70
|
+
activate(): void;
|
|
71
|
+
/** Reverse of `activate()`. */
|
|
72
|
+
deactivate(): void;
|
|
73
|
+
}
|
|
74
|
+
export type Handle = NumericHandle | TextHandle | StateHandle | AnimationHandle | TweenHandle | StaticRepresentationHandle;
|
|
75
|
+
/**
|
|
76
|
+
* Returned by a primitive's `build()`. Keyed by the binding's `tag` — a
|
|
77
|
+
* simplification for the one-binding-per-tag-per-element case this story
|
|
78
|
+
* proves; if a future story needs multiple bindings sharing one tag on the
|
|
79
|
+
* same element, this keying scheme will need revisiting (documented, not
|
|
80
|
+
* solved speculatively here).
|
|
81
|
+
*/
|
|
82
|
+
export type HandleMap = Record<string, Handle>;
|
|
83
|
+
//# sourceMappingURL=handles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/contracts/handles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;GAKG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7D;AAED,sGAAsG;AACtG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACxE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACxE;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,2IAA2I;IAC3I,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,IAAI,IAAI,CAAC;IACf,+HAA+H;IAC/H,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,6DAA6D;IAC7D,QAAQ,IAAI,IAAI,CAAC;IACjB,+BAA+B;IAC/B,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,eAAe,GAAG,WAAW,GAAG,0BAA0B,CAAC;AAE3H;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { SceneElement } from '../scene/scene-schema';
|
|
2
|
+
import type { ThemeTokens } from '../tokens';
|
|
3
|
+
import type { HandleMap } from './handles';
|
|
4
|
+
import type { Renderer } from './renderer';
|
|
5
|
+
/**
|
|
6
|
+
* Resolved theme handed to a primitive's `build()`. `defs` is the scene's
|
|
7
|
+
* ONE shared `<defs>` (spine convention — never per-primitive); core
|
|
8
|
+
* creates it fresh per scene build and primitives append their own
|
|
9
|
+
* definitions (gradients, etc.) into it, guarding against duplicate
|
|
10
|
+
* insertion by checking for an existing id first.
|
|
11
|
+
*/
|
|
12
|
+
export interface ThemeContext {
|
|
13
|
+
tokens: ThemeTokens;
|
|
14
|
+
defs: SVGDefsElement;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The primitive contract (AD-3): a pure structure factory. No store
|
|
18
|
+
* access, no clock access, no sibling-primitive imports, no literal
|
|
19
|
+
* colors — reference theme tokens by name only.
|
|
20
|
+
*
|
|
21
|
+
* `renderer` is passed ONLY so `build()` can call `renderer.animateTransform`
|
|
22
|
+
* to create continuous animations at build time (AD-5 requires every one be
|
|
23
|
+
* registerable/mockable) — it must never be used for anything else here;
|
|
24
|
+
* per-frame writes still happen exclusively through returned handles.
|
|
25
|
+
*/
|
|
26
|
+
export interface PrimitiveModule {
|
|
27
|
+
build(element: SceneElement, theme: ThemeContext, renderer: Renderer): {
|
|
28
|
+
svg: SVGElement;
|
|
29
|
+
handles: HandleMap;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/** What `registerPrimitives()` accepts — one entry point per primitive group. */
|
|
33
|
+
export interface PrimitiveGroup {
|
|
34
|
+
group: string;
|
|
35
|
+
primitives: Readonly<Record<string, PrimitiveModule>>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=primitive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../../src/contracts/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC;CAChH;AAED,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;CACvD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The narrow seam (spec constraint C4) every per-frame DOM write passes
|
|
3
|
+
* through. Deliberately four methods, not a "renderer framework" — the
|
|
4
|
+
* point is mock-ability in tests today and a WebGL escape hatch later.
|
|
5
|
+
* Handles must NEVER touch the DOM directly; they call through this.
|
|
6
|
+
*
|
|
7
|
+
* The one-time structural render (Lit template → SVG shell, AD-2) does
|
|
8
|
+
* NOT go through this seam — only per-frame handle writes do.
|
|
9
|
+
*/
|
|
10
|
+
/** Handle returned by `animateTransform` — the only WAAPI surface a primitive ever touches. */
|
|
11
|
+
export interface AnimationControl {
|
|
12
|
+
setPlaybackRate(rate: number): void;
|
|
13
|
+
pause(): void;
|
|
14
|
+
resume(): void;
|
|
15
|
+
/** Story 1.7: sets the WAAPI animation's `currentTime` directly — the sanctioned deterministic-frame mechanism for visual regression (never per-animation CSS overrides in test code). */
|
|
16
|
+
seek(timeMs: number): void;
|
|
17
|
+
}
|
|
18
|
+
export interface Renderer {
|
|
19
|
+
setTransform(node: Element, transform: string): void;
|
|
20
|
+
setAttr(node: Element, name: string, value: string): void;
|
|
21
|
+
setCssVar(node: Element, name: string, value: string): void;
|
|
22
|
+
setText(node: Element, value: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Creates a continuous, transform-only WAAPI loop (§9.4, AD-5) — e.g. the
|
|
25
|
+
* flow-dash translation, an impeller's rotation. One purpose-built method
|
|
26
|
+
* rather than exposing raw `Element.animate()`: keeps the seam mockable
|
|
27
|
+
* (the test environment's DOM has no WAAPI implementation at all) and
|
|
28
|
+
* keeps primitives from reaching for arbitrary animation options.
|
|
29
|
+
*/
|
|
30
|
+
animateTransform(node: Element, keyframeTransforms: string[], durationMs: number): AnimationControl;
|
|
31
|
+
}
|
|
32
|
+
/** Default implementation: writes straight to the live SVG/HTML DOM. */
|
|
33
|
+
export declare const domRenderer: Renderer;
|
|
34
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/contracts/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,IAAI,IAAI,CAAC;IACf,0LAA0L;IAC1L,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1D,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5D,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACrG;AAED,wEAAwE;AACxE,eAAO,MAAM,WAAW,EAAE,QAiCzB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dataset contract (spec §4.1). This is the only shape a consuming app
|
|
3
|
+
* touches at runtime — kept intentionally small and stable.
|
|
4
|
+
*/
|
|
5
|
+
export type TagValueQuality = 'good' | 'uncertain' | 'bad';
|
|
6
|
+
export interface TagValue {
|
|
7
|
+
/** Required, unique identifier. */
|
|
8
|
+
tag: string;
|
|
9
|
+
value: number | boolean | string;
|
|
10
|
+
/** Defaults to 'good' when absent. */
|
|
11
|
+
quality?: TagValueQuality;
|
|
12
|
+
/** Epoch milliseconds, UTC. */
|
|
13
|
+
timestamp?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* `value-warning` event detail (dev-mode dataset contract violations,
|
|
17
|
+
* §3.4). `UNKNOWN_BINDING_TYPE` — Story 3.1 AC2: a binding whose `type`
|
|
18
|
+
* isn't one of the 11 declared literals, discovered at scene build.
|
|
19
|
+
* Story 5.5 AC2 — `MISSING_SVG_SOURCE`/`INVALID_SVG_SOURCE`: the imported
|
|
20
|
+
* element's `svgRef` doesn't resolve, or doesn't parse as SVG.
|
|
21
|
+
* `MISSING_SVG_ID`/`UNSUPPORTED_IMPORT_BINDING_TYPE`: a binding inside an
|
|
22
|
+
* `svg-import` element references an id absent from the foreign art, or
|
|
23
|
+
* declares a type outside the supported subset — the structural validator
|
|
24
|
+
* doesn't check binding shape (never has, for any element type), so this is
|
|
25
|
+
* the loader's own runtime defensiveness, same spirit as `classifyBinding`.
|
|
26
|
+
*/
|
|
27
|
+
export type ValueWarningCode = 'INVALID_TIMESTAMP_TYPE' | 'SUSPECTED_NON_MS_TIMESTAMP' | 'UNMAPPED_STATE_VALUE' | 'UNKNOWN_BINDING_TYPE' | 'NEGATIVE_EMISSION_VALUE' | 'MISSING_SVG_SOURCE' | 'INVALID_SVG_SOURCE' | 'MISSING_SVG_ID' | 'UNSUPPORTED_IMPORT_BINDING_TYPE';
|
|
28
|
+
export interface ValueWarningDetail {
|
|
29
|
+
code: ValueWarningCode;
|
|
30
|
+
message: string;
|
|
31
|
+
tag: string;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=tag-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-value.d.ts","sourceRoot":"","sources":["../../src/contracts/tag-value.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,sCAAsC;IACtC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GACxB,4BAA4B,GAC5B,sBAAsB,GACtB,sBAAsB,GACtB,yBAAyB,GACzB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,iCAAiC,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Playback-ready clock abstraction (spec §8.4). Every timestamp comparison
|
|
3
|
+
* anywhere in core/primitives goes through this — never `Date.now()` or
|
|
4
|
+
* `performance.now()` inline (FR17, AD-4). This costs nothing today and is
|
|
5
|
+
* the difference between adding historical replay in a week vs. a month.
|
|
6
|
+
*/
|
|
7
|
+
export interface TimeSource {
|
|
8
|
+
now(): number;
|
|
9
|
+
/** Returns an unsubscribe function. */
|
|
10
|
+
onTick(cb: (t: number) => void): () => void;
|
|
11
|
+
}
|
|
12
|
+
/** Default live-mode implementation: `performance.now()` + `requestAnimationFrame`. */
|
|
13
|
+
export declare const defaultTimeSource: TimeSource;
|
|
14
|
+
//# sourceMappingURL=time-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-source.d.ts","sourceRoot":"","sources":["../../src/contracts/time-source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,IAAI,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,EAAE,UAS/B,CAAC"}
|