@czap/core 0.1.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/LICENSE +21 -0
- package/README.md +19 -0
- package/dist/addressed-digest.d.ts +15 -0
- package/dist/addressed-digest.d.ts.map +1 -0
- package/dist/addressed-digest.js +35 -0
- package/dist/addressed-digest.js.map +1 -0
- package/dist/animation.d.ts +46 -0
- package/dist/animation.d.ts.map +1 -0
- package/dist/animation.js +70 -0
- package/dist/animation.js.map +1 -0
- package/dist/assembly.d.ts +25 -0
- package/dist/assembly.d.ts.map +1 -0
- package/dist/assembly.js +58 -0
- package/dist/assembly.js.map +1 -0
- package/dist/av-bridge.d.ts +74 -0
- package/dist/av-bridge.d.ts.map +1 -0
- package/dist/av-bridge.js +107 -0
- package/dist/av-bridge.js.map +1 -0
- package/dist/av-renderer.d.ts +56 -0
- package/dist/av-renderer.d.ts.map +1 -0
- package/dist/av-renderer.js +65 -0
- package/dist/av-renderer.js.map +1 -0
- package/dist/blend.d.ts +61 -0
- package/dist/blend.d.ts.map +1 -0
- package/dist/blend.js +100 -0
- package/dist/blend.js.map +1 -0
- package/dist/boundary.d.ts +154 -0
- package/dist/boundary.d.ts.map +1 -0
- package/dist/boundary.js +269 -0
- package/dist/boundary.js.map +1 -0
- package/dist/brands.d.ts +63 -0
- package/dist/brands.d.ts.map +1 -0
- package/dist/brands.js +31 -0
- package/dist/brands.js.map +1 -0
- package/dist/caps.d.ts +49 -0
- package/dist/caps.d.ts.map +1 -0
- package/dist/caps.js +73 -0
- package/dist/caps.js.map +1 -0
- package/dist/capsule.d.ts +77 -0
- package/dist/capsule.d.ts.map +1 -0
- package/dist/capsule.js +18 -0
- package/dist/capsule.js.map +1 -0
- package/dist/capsules/boundary-evaluate.d.ts +28 -0
- package/dist/capsules/boundary-evaluate.d.ts.map +1 -0
- package/dist/capsules/boundary-evaluate.js +117 -0
- package/dist/capsules/boundary-evaluate.js.map +1 -0
- package/dist/capsules/canonical-cbor.d.ts +13 -0
- package/dist/capsules/canonical-cbor.d.ts.map +1 -0
- package/dist/capsules/canonical-cbor.js +60 -0
- package/dist/capsules/canonical-cbor.js.map +1 -0
- package/dist/capsules/token-buffer.d.ts +24 -0
- package/dist/capsules/token-buffer.d.ts.map +1 -0
- package/dist/capsules/token-buffer.js +53 -0
- package/dist/capsules/token-buffer.js.map +1 -0
- package/dist/capture.d.ts +40 -0
- package/dist/capture.d.ts.map +1 -0
- package/dist/capture.js +10 -0
- package/dist/capture.js.map +1 -0
- package/dist/cbor.d.ts +33 -0
- package/dist/cbor.d.ts.map +1 -0
- package/dist/cbor.js +179 -0
- package/dist/cbor.js.map +1 -0
- package/dist/cell.d.ts +53 -0
- package/dist/cell.d.ts.map +1 -0
- package/dist/cell.js +83 -0
- package/dist/cell.js.map +1 -0
- package/dist/codec.d.ts +30 -0
- package/dist/codec.d.ts.map +1 -0
- package/dist/codec.js +25 -0
- package/dist/codec.js.map +1 -0
- package/dist/component.d.ts +52 -0
- package/dist/component.d.ts.map +1 -0
- package/dist/component.js +44 -0
- package/dist/component.js.map +1 -0
- package/dist/composable.d.ts +76 -0
- package/dist/composable.d.ts.map +1 -0
- package/dist/composable.js +221 -0
- package/dist/composable.js.map +1 -0
- package/dist/compositor-pool.d.ts +74 -0
- package/dist/compositor-pool.d.ts.map +1 -0
- package/dist/compositor-pool.js +119 -0
- package/dist/compositor-pool.js.map +1 -0
- package/dist/compositor.d.ts +90 -0
- package/dist/compositor.d.ts.map +1 -0
- package/dist/compositor.js +278 -0
- package/dist/compositor.js.map +1 -0
- package/dist/config.d.ts +72 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +97 -0
- package/dist/config.js.map +1 -0
- package/dist/dag.d.ts +251 -0
- package/dist/dag.d.ts.map +1 -0
- package/dist/dag.js +450 -0
- package/dist/dag.js.map +1 -0
- package/dist/defaults.d.ts +45 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +45 -0
- package/dist/defaults.js.map +1 -0
- package/dist/derived.d.ts +34 -0
- package/dist/derived.d.ts.map +1 -0
- package/dist/derived.js +101 -0
- package/dist/derived.js.map +1 -0
- package/dist/diagnostics.d.ts +77 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +122 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/dirty.d.ts +55 -0
- package/dist/dirty.d.ts.map +1 -0
- package/dist/dirty.js +80 -0
- package/dist/dirty.js.map +1 -0
- package/dist/easing.d.ts +55 -0
- package/dist/easing.d.ts.map +1 -0
- package/dist/easing.js +291 -0
- package/dist/easing.js.map +1 -0
- package/dist/ecs.d.ts +105 -0
- package/dist/ecs.d.ts.map +1 -0
- package/dist/ecs.js +245 -0
- package/dist/ecs.js.map +1 -0
- package/dist/fnv.d.ts +14 -0
- package/dist/fnv.d.ts.map +1 -0
- package/dist/fnv.js +28 -0
- package/dist/fnv.js.map +1 -0
- package/dist/frame-budget.d.ts +73 -0
- package/dist/frame-budget.d.ts.map +1 -0
- package/dist/frame-budget.js +114 -0
- package/dist/frame-budget.js.map +1 -0
- package/dist/gen-frame.d.ts +102 -0
- package/dist/gen-frame.d.ts.map +1 -0
- package/dist/gen-frame.js +121 -0
- package/dist/gen-frame.js.map +1 -0
- package/dist/harness/arbitrary-from-schema.d.ts +28 -0
- package/dist/harness/arbitrary-from-schema.d.ts.map +1 -0
- package/dist/harness/arbitrary-from-schema.js +262 -0
- package/dist/harness/arbitrary-from-schema.js.map +1 -0
- package/dist/harness/cached-projection.d.ts +19 -0
- package/dist/harness/cached-projection.d.ts.map +1 -0
- package/dist/harness/cached-projection.js +39 -0
- package/dist/harness/cached-projection.js.map +1 -0
- package/dist/harness/index.d.ts +16 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +15 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/harness/policy-gate.d.ts +18 -0
- package/dist/harness/policy-gate.d.ts.map +1 -0
- package/dist/harness/policy-gate.js +46 -0
- package/dist/harness/policy-gate.js.map +1 -0
- package/dist/harness/pure-transform.d.ts +42 -0
- package/dist/harness/pure-transform.d.ts.map +1 -0
- package/dist/harness/pure-transform.js +76 -0
- package/dist/harness/pure-transform.js.map +1 -0
- package/dist/harness/receipted-mutation.d.ts +23 -0
- package/dist/harness/receipted-mutation.d.ts.map +1 -0
- package/dist/harness/receipted-mutation.js +52 -0
- package/dist/harness/receipted-mutation.js.map +1 -0
- package/dist/harness/scene-composition.d.ts +19 -0
- package/dist/harness/scene-composition.d.ts.map +1 -0
- package/dist/harness/scene-composition.js +47 -0
- package/dist/harness/scene-composition.js.map +1 -0
- package/dist/harness/site-adapter.d.ts +18 -0
- package/dist/harness/site-adapter.d.ts.map +1 -0
- package/dist/harness/site-adapter.js +38 -0
- package/dist/harness/site-adapter.js.map +1 -0
- package/dist/harness/state-machine.d.ts +19 -0
- package/dist/harness/state-machine.d.ts.map +1 -0
- package/dist/harness/state-machine.js +44 -0
- package/dist/harness/state-machine.js.map +1 -0
- package/dist/hlc.d.ts +99 -0
- package/dist/hlc.d.ts.map +1 -0
- package/dist/hlc.js +219 -0
- package/dist/hlc.js.map +1 -0
- package/dist/index.d.ts +104 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +137 -0
- package/dist/index.js.map +1 -0
- package/dist/interpolate.d.ts +14 -0
- package/dist/interpolate.d.ts.map +1 -0
- package/dist/interpolate.js +31 -0
- package/dist/interpolate.js.map +1 -0
- package/dist/live-cell.d.ts +46 -0
- package/dist/live-cell.d.ts.map +1 -0
- package/dist/live-cell.js +154 -0
- package/dist/live-cell.js.map +1 -0
- package/dist/op.d.ts +58 -0
- package/dist/op.d.ts.map +1 -0
- package/dist/op.js +171 -0
- package/dist/op.js.map +1 -0
- package/dist/plan.d.ts +195 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +211 -0
- package/dist/plan.js.map +1 -0
- package/dist/protocol.d.ts +33 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +10 -0
- package/dist/protocol.js.map +1 -0
- package/dist/quantizer-types.d.ts +28 -0
- package/dist/quantizer-types.d.ts.map +1 -0
- package/dist/quantizer-types.js +9 -0
- package/dist/quantizer-types.js.map +1 -0
- package/dist/receipt.d.ts +294 -0
- package/dist/receipt.d.ts.map +1 -0
- package/dist/receipt.js +352 -0
- package/dist/receipt.js.map +1 -0
- package/dist/runtime-coordinator.d.ts +75 -0
- package/dist/runtime-coordinator.d.ts.map +1 -0
- package/dist/runtime-coordinator.js +149 -0
- package/dist/runtime-coordinator.js.map +1 -0
- package/dist/scheduler.d.ts +58 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +109 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/ship-capsule.d.ts +54 -0
- package/dist/ship-capsule.d.ts.map +1 -0
- package/dist/ship-capsule.js +142 -0
- package/dist/ship-capsule.js.map +1 -0
- package/dist/ship-manifest.d.ts +45 -0
- package/dist/ship-manifest.d.ts.map +1 -0
- package/dist/ship-manifest.js +175 -0
- package/dist/ship-manifest.js.map +1 -0
- package/dist/signal.d.ts +149 -0
- package/dist/signal.d.ts.map +1 -0
- package/dist/signal.js +277 -0
- package/dist/signal.js.map +1 -0
- package/dist/speculative.d.ts +67 -0
- package/dist/speculative.d.ts.map +1 -0
- package/dist/speculative.js +139 -0
- package/dist/speculative.js.map +1 -0
- package/dist/store.d.ts +39 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +42 -0
- package/dist/store.js.map +1 -0
- package/dist/style.d.ts +119 -0
- package/dist/style.d.ts.map +1 -0
- package/dist/style.js +168 -0
- package/dist/style.js.map +1 -0
- package/dist/testing.d.ts +14 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +14 -0
- package/dist/testing.js.map +1 -0
- package/dist/theme.d.ts +78 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +109 -0
- package/dist/theme.js.map +1 -0
- package/dist/timeline.d.ts +45 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +101 -0
- package/dist/timeline.js.map +1 -0
- package/dist/token-buffer.d.ts +43 -0
- package/dist/token-buffer.d.ts.map +1 -0
- package/dist/token-buffer.js +112 -0
- package/dist/token-buffer.js.map +1 -0
- package/dist/token.d.ts +107 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +143 -0
- package/dist/token.js.map +1 -0
- package/dist/tuple.d.ts +16 -0
- package/dist/tuple.d.ts.map +1 -0
- package/dist/tuple.js +16 -0
- package/dist/tuple.js.map +1 -0
- package/dist/type-utils.d.ts +41 -0
- package/dist/type-utils.d.ts.map +1 -0
- package/dist/type-utils.js +10 -0
- package/dist/type-utils.js.map +1 -0
- package/dist/typed-ref.d.ts +50 -0
- package/dist/typed-ref.d.ts.map +1 -0
- package/dist/typed-ref.js +59 -0
- package/dist/typed-ref.js.map +1 -0
- package/dist/ui-quality.d.ts +50 -0
- package/dist/ui-quality.d.ts.map +1 -0
- package/dist/ui-quality.js +64 -0
- package/dist/ui-quality.js.map +1 -0
- package/dist/validation-error.d.ts +25 -0
- package/dist/validation-error.d.ts.map +1 -0
- package/dist/validation-error.js +32 -0
- package/dist/validation-error.js.map +1 -0
- package/dist/vector-clock.d.ts +46 -0
- package/dist/vector-clock.d.ts.map +1 -0
- package/dist/vector-clock.js +91 -0
- package/dist/vector-clock.js.map +1 -0
- package/dist/video.d.ts +62 -0
- package/dist/video.d.ts.map +1 -0
- package/dist/video.js +59 -0
- package/dist/video.js.map +1 -0
- package/dist/wasm-dispatch.d.ts +52 -0
- package/dist/wasm-dispatch.d.ts.map +1 -0
- package/dist/wasm-dispatch.js +204 -0
- package/dist/wasm-dispatch.js.map +1 -0
- package/dist/wasm-fallback.d.ts +19 -0
- package/dist/wasm-fallback.d.ts.map +1 -0
- package/dist/wasm-fallback.js +93 -0
- package/dist/wasm-fallback.js.map +1 -0
- package/dist/wire.d.ts +49 -0
- package/dist/wire.d.ts.map +1 -0
- package/dist/wire.js +201 -0
- package/dist/wire.js.map +1 -0
- package/dist/zap.d.ts +42 -0
- package/dist/zap.d.ts.map +1 -0
- package/dist/zap.js +172 -0
- package/dist/zap.js.map +1 -0
- package/package.json +71 -0
- package/src/addressed-digest.ts +48 -0
- package/src/animation.ts +103 -0
- package/src/assembly.ts +76 -0
- package/src/av-bridge.ts +161 -0
- package/src/av-renderer.ts +118 -0
- package/src/blend.ts +135 -0
- package/src/boundary.ts +363 -0
- package/src/brands.ts +86 -0
- package/src/caps.ts +100 -0
- package/src/capsule.ts +95 -0
- package/src/capsules/boundary-evaluate.ts +128 -0
- package/src/capsules/canonical-cbor.ts +60 -0
- package/src/capsules/token-buffer.ts +57 -0
- package/src/capture.ts +48 -0
- package/src/cbor.ts +199 -0
- package/src/cell.ts +130 -0
- package/src/codec.ts +39 -0
- package/src/component.ts +102 -0
- package/src/composable.ts +328 -0
- package/src/compositor-pool.ts +162 -0
- package/src/compositor.ts +387 -0
- package/src/config.ts +157 -0
- package/src/dag.ts +527 -0
- package/src/defaults.ts +60 -0
- package/src/derived.ts +164 -0
- package/src/diagnostics.ts +186 -0
- package/src/dirty.ts +101 -0
- package/src/easing.ts +334 -0
- package/src/ecs.ts +382 -0
- package/src/fnv.ts +31 -0
- package/src/frame-budget.ts +149 -0
- package/src/gen-frame.ts +229 -0
- package/src/harness/arbitrary-from-schema.ts +270 -0
- package/src/harness/cached-projection.ts +46 -0
- package/src/harness/index.ts +16 -0
- package/src/harness/policy-gate.ts +51 -0
- package/src/harness/pure-transform.ts +121 -0
- package/src/harness/receipted-mutation.ts +59 -0
- package/src/harness/scene-composition.ts +54 -0
- package/src/harness/site-adapter.ts +43 -0
- package/src/harness/state-machine.ts +49 -0
- package/src/hlc.ts +238 -0
- package/src/index.ts +274 -0
- package/src/interpolate.ts +37 -0
- package/src/live-cell.ts +199 -0
- package/src/op.ts +233 -0
- package/src/plan.ts +317 -0
- package/src/protocol.ts +49 -0
- package/src/quantizer-types.ts +29 -0
- package/src/receipt.ts +444 -0
- package/src/runtime-coordinator.ts +230 -0
- package/src/scheduler.ts +161 -0
- package/src/ship-capsule.ts +191 -0
- package/src/signal.ts +345 -0
- package/src/speculative.ts +186 -0
- package/src/store.ts +77 -0
- package/src/style.ts +249 -0
- package/src/testing.ts +14 -0
- package/src/theme.ts +153 -0
- package/src/timeline.ts +146 -0
- package/src/token-buffer.ts +151 -0
- package/src/token.ts +197 -0
- package/src/tuple.ts +19 -0
- package/src/type-utils.ts +48 -0
- package/src/typed-ref.ts +79 -0
- package/src/ui-quality.ts +105 -0
- package/src/validation-error.ts +34 -0
- package/src/vector-clock.ts +111 -0
- package/src/video.ts +106 -0
- package/src/wasm-dispatch.ts +300 -0
- package/src/wasm-fallback.ts +102 -0
- package/src/wire.ts +274 -0
- package/src/zap.ts +241 -0
package/dist/dag.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dag.js","sourceRoot":"","sources":["../src/dag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized default constants for `@czap/core` and downstream packages.
|
|
3
|
+
*
|
|
4
|
+
* Avoids magic numbers scattered across modules. Each constant documents
|
|
5
|
+
* its purpose and which modules consume it.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
/** Default target frames per second for frame budget calculation. Used by: frame-budget.ts */
|
|
10
|
+
export declare const DEFAULT_TARGET_FPS = 60;
|
|
11
|
+
/** Milliseconds per second. Used by: frame-budget.ts, easing.ts */
|
|
12
|
+
export declare const MS_PER_SEC = 1000;
|
|
13
|
+
/** Default SSE message queue buffer size. Used by: web/stream/sse.ts */
|
|
14
|
+
export declare const SSE_BUFFER_SIZE = 100;
|
|
15
|
+
/** Default SSE heartbeat interval in ms. Used by: web/stream/sse.ts */
|
|
16
|
+
export declare const SSE_HEARTBEAT_MS = 30000;
|
|
17
|
+
/** Default SSE initial reconnect delay in ms. Used by: web/stream/sse.ts */
|
|
18
|
+
export declare const SSE_RECONNECT_INITIAL_MS = 1000;
|
|
19
|
+
/** Default SSE max reconnect delay in ms. Used by: web/stream/sse.ts */
|
|
20
|
+
export declare const SSE_RECONNECT_MAX_MS = 30000;
|
|
21
|
+
/** Default compositor state pool capacity. Used by: compositor.ts, compositor-pool.ts */
|
|
22
|
+
export declare const COMPOSITOR_POOL_CAP = 8;
|
|
23
|
+
/** Maximum number of dirty flag keys (bitset width limit). Used by: dirty.ts */
|
|
24
|
+
export declare const DIRTY_FLAGS_MAX = 31;
|
|
25
|
+
/** WASM linear memory scratch offset for boundary/spring kernels. Used by: wasm-dispatch.ts */
|
|
26
|
+
export declare const WASM_SCRATCH_BASE = 32768;
|
|
27
|
+
/** Default keyframe interval in frames for video encoding. Used by: web/capture/webcodecs.ts */
|
|
28
|
+
export declare const CAPTURE_KEYFRAME_INTERVAL = 30;
|
|
29
|
+
/** Number of sub-steps for spring animation resolution. Used by: easing.ts */
|
|
30
|
+
export declare const EASING_SPRING_STEPS = 2000;
|
|
31
|
+
/** Default theme transition duration in ms. Used by: compiler/theme-css.ts */
|
|
32
|
+
export declare const THEME_TRANSITION_DURATION_MS = 200;
|
|
33
|
+
/** Default theme transition easing function. Used by: compiler/theme-css.ts */
|
|
34
|
+
export declare const THEME_TRANSITION_EASING = "ease-in-out";
|
|
35
|
+
/** Default canvas fallback width when clientWidth is 0. Used by: astro/runtime/gpu.ts */
|
|
36
|
+
export declare const CANVAS_FALLBACK_WIDTH = 300;
|
|
37
|
+
/** Default canvas fallback height when clientHeight is 0. Used by: astro/runtime/gpu.ts */
|
|
38
|
+
export declare const CANVAS_FALLBACK_HEIGHT = 150;
|
|
39
|
+
/** Viewport breakpoints in CSS pixels. Used by: astro/quantize.ts */
|
|
40
|
+
export declare const VIEWPORT: {
|
|
41
|
+
readonly mobile: 375;
|
|
42
|
+
readonly tablet: 768;
|
|
43
|
+
readonly desktop: 1280;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,mEAAmE;AACnE,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,wEAAwE;AACxE,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,gFAAgF;AAChF,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,gGAAgG;AAChG,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,8EAA8E;AAC9E,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AAErD,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,qEAAqE;AACrE,eAAO,MAAM,QAAQ;;;;CAIX,CAAC"}
|
package/dist/defaults.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized default constants for `@czap/core` and downstream packages.
|
|
3
|
+
*
|
|
4
|
+
* Avoids magic numbers scattered across modules. Each constant documents
|
|
5
|
+
* its purpose and which modules consume it.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
/** Default target frames per second for frame budget calculation. Used by: frame-budget.ts */
|
|
10
|
+
export const DEFAULT_TARGET_FPS = 60;
|
|
11
|
+
/** Milliseconds per second. Used by: frame-budget.ts, easing.ts */
|
|
12
|
+
export const MS_PER_SEC = 1000;
|
|
13
|
+
/** Default SSE message queue buffer size. Used by: web/stream/sse.ts */
|
|
14
|
+
export const SSE_BUFFER_SIZE = 100;
|
|
15
|
+
/** Default SSE heartbeat interval in ms. Used by: web/stream/sse.ts */
|
|
16
|
+
export const SSE_HEARTBEAT_MS = 30_000;
|
|
17
|
+
/** Default SSE initial reconnect delay in ms. Used by: web/stream/sse.ts */
|
|
18
|
+
export const SSE_RECONNECT_INITIAL_MS = 1_000;
|
|
19
|
+
/** Default SSE max reconnect delay in ms. Used by: web/stream/sse.ts */
|
|
20
|
+
export const SSE_RECONNECT_MAX_MS = 30_000;
|
|
21
|
+
/** Default compositor state pool capacity. Used by: compositor.ts, compositor-pool.ts */
|
|
22
|
+
export const COMPOSITOR_POOL_CAP = 8;
|
|
23
|
+
/** Maximum number of dirty flag keys (bitset width limit). Used by: dirty.ts */
|
|
24
|
+
export const DIRTY_FLAGS_MAX = 31;
|
|
25
|
+
/** WASM linear memory scratch offset for boundary/spring kernels. Used by: wasm-dispatch.ts */
|
|
26
|
+
export const WASM_SCRATCH_BASE = 32768;
|
|
27
|
+
/** Default keyframe interval in frames for video encoding. Used by: web/capture/webcodecs.ts */
|
|
28
|
+
export const CAPTURE_KEYFRAME_INTERVAL = 30;
|
|
29
|
+
/** Number of sub-steps for spring animation resolution. Used by: easing.ts */
|
|
30
|
+
export const EASING_SPRING_STEPS = 2000;
|
|
31
|
+
/** Default theme transition duration in ms. Used by: compiler/theme-css.ts */
|
|
32
|
+
export const THEME_TRANSITION_DURATION_MS = 200;
|
|
33
|
+
/** Default theme transition easing function. Used by: compiler/theme-css.ts */
|
|
34
|
+
export const THEME_TRANSITION_EASING = 'ease-in-out';
|
|
35
|
+
/** Default canvas fallback width when clientWidth is 0. Used by: astro/runtime/gpu.ts */
|
|
36
|
+
export const CANVAS_FALLBACK_WIDTH = 300;
|
|
37
|
+
/** Default canvas fallback height when clientHeight is 0. Used by: astro/runtime/gpu.ts */
|
|
38
|
+
export const CANVAS_FALLBACK_HEIGHT = 150;
|
|
39
|
+
/** Viewport breakpoints in CSS pixels. Used by: astro/quantize.ts */
|
|
40
|
+
export const VIEWPORT = {
|
|
41
|
+
mobile: 375,
|
|
42
|
+
tablet: 768,
|
|
43
|
+
desktop: 1280,
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8FAA8F;AAC9F,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,mEAAmE;AACnE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAE/B,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,wEAAwE;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE3C,yFAAyF;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,+FAA+F;AAC/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC,gGAAgG;AAChG,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAErD,yFAAyF;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,qEAAqE;AACrE,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,IAAI;CACL,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived<T> -- computed reactive value.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type { Scope } from 'effect';
|
|
7
|
+
import { Effect, Stream } from 'effect';
|
|
8
|
+
import type { Cell } from './cell.js';
|
|
9
|
+
interface DerivedShape<T> {
|
|
10
|
+
readonly _tag: 'Derived';
|
|
11
|
+
readonly changes: Stream.Stream<T>;
|
|
12
|
+
readonly get: Effect.Effect<T>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Derived — read-only reactive view computed from upstream {@link Cell}s.
|
|
16
|
+
* A `Derived` recomputes lazily and pushes the new value into its own stream
|
|
17
|
+
* when any dependency changes; composes via `combine`, `map`, and `flatten`.
|
|
18
|
+
*/
|
|
19
|
+
export declare const Derived: {
|
|
20
|
+
/** Build a derived cell from a factory computing against upstream sources. */
|
|
21
|
+
make: <T>(compute: Effect.Effect<T>, sources?: ReadonlyArray<Stream.Stream<unknown>>) => Effect.Effect<DerivedShape<T>, never, Scope.Scope>;
|
|
22
|
+
/** Combine multiple cells into a single derived cell of their tuple. */
|
|
23
|
+
combine: <T extends readonly unknown[], U>(cells: { [K in keyof T]: Cell.Shape<T[K]>; }, combiner: (...args: T) => U) => Effect.Effect<DerivedShape<U>, never, Scope.Scope>;
|
|
24
|
+
/** Pure projection of an existing cell/derived. */
|
|
25
|
+
map: <A, B>(derived: DerivedShape<A>, f: (a: A) => B) => Effect.Effect<DerivedShape<B>, never, Scope.Scope>;
|
|
26
|
+
/** Flatten a derived-of-derived into a single derived of the inner value. */
|
|
27
|
+
flatten: <T>(nested: DerivedShape<DerivedShape<T>>) => Effect.Effect<DerivedShape<T>, never, Scope.Scope>;
|
|
28
|
+
};
|
|
29
|
+
export declare namespace Derived {
|
|
30
|
+
/** Structural shape of a {@link Derived}: `_tag`, `get`, `changes`. */
|
|
31
|
+
type Shape<T> = DerivedShape<T>;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=derived.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../src/derived.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGtC,UAAU,YAAY,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAChC;AAgID;;;;GAIG;AACH,eAAO,MAAM,OAAO;IAClB,8EAA8E;WApIjE,CAAC,WACL,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAChB,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IAmInD,wEAAwE;cA3GxD,CAAC,SAAS,SAAS,OAAO,EAAE,EAAE,CAAC,SACxC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,YACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,KAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IA0GnD,mDAAmD;UA1EvC,CAAC,EAAE,CAAC,WAAW,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IA4E/G,6EAA6E;cAxD7D,CAAC,UAAU,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;CA0D9G,CAAC;AAEF,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,uEAAuE;IACvE,KAAY,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;CACxC"}
|
package/dist/derived.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived<T> -- computed reactive value.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { Effect, Stream, SubscriptionRef } from 'effect';
|
|
7
|
+
import { tupleMap } from './tuple.js';
|
|
8
|
+
import { readAllCellValues } from './cell.js';
|
|
9
|
+
const _make = (compute, sources = []) => Effect.gen(function* () {
|
|
10
|
+
const initialValue = yield* compute;
|
|
11
|
+
const ref = yield* SubscriptionRef.make(initialValue);
|
|
12
|
+
if (sources.length > 0) {
|
|
13
|
+
const merged = Stream.mergeAll(sources, { concurrency: 'unbounded' });
|
|
14
|
+
yield* Effect.forkScoped(Stream.runForEach(merged, () => Effect.gen(function* () {
|
|
15
|
+
const newValue = yield* compute;
|
|
16
|
+
yield* SubscriptionRef.set(ref, newValue);
|
|
17
|
+
})));
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
_tag: 'Derived',
|
|
21
|
+
changes: SubscriptionRef.changes(ref),
|
|
22
|
+
get: SubscriptionRef.get(ref),
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
const _combine = (cells, combiner) => {
|
|
26
|
+
const readAll = readAllCellValues(cells);
|
|
27
|
+
return Effect.gen(function* () {
|
|
28
|
+
const initialValues = yield* readAll;
|
|
29
|
+
const initialResult = combiner(...initialValues);
|
|
30
|
+
const ref = yield* SubscriptionRef.make(initialResult);
|
|
31
|
+
const cellStreams = tupleMap(cells, (cell) => cell.changes);
|
|
32
|
+
const combinedStream = Stream.mergeAll(cellStreams, {
|
|
33
|
+
concurrency: 'unbounded',
|
|
34
|
+
}).pipe(Stream.mapEffect(() => Effect.gen(function* () {
|
|
35
|
+
const currentValues = yield* readAll;
|
|
36
|
+
const result = combiner(...currentValues);
|
|
37
|
+
yield* SubscriptionRef.set(ref, result);
|
|
38
|
+
return result;
|
|
39
|
+
})));
|
|
40
|
+
yield* Effect.forkScoped(Stream.runDrain(combinedStream));
|
|
41
|
+
return {
|
|
42
|
+
_tag: 'Derived',
|
|
43
|
+
changes: SubscriptionRef.changes(ref),
|
|
44
|
+
get: SubscriptionRef.get(ref),
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
const _map = (derived, f) => Effect.gen(function* () {
|
|
49
|
+
const initialValue = yield* derived.get;
|
|
50
|
+
const mappedValue = f(initialValue);
|
|
51
|
+
const ref = yield* SubscriptionRef.make(mappedValue);
|
|
52
|
+
const mappedStream = derived.changes.pipe(Stream.map(f), Stream.tap((value) => SubscriptionRef.set(ref, value)));
|
|
53
|
+
yield* Effect.forkScoped(Stream.runDrain(mappedStream));
|
|
54
|
+
return {
|
|
55
|
+
_tag: 'Derived',
|
|
56
|
+
changes: SubscriptionRef.changes(ref),
|
|
57
|
+
get: SubscriptionRef.get(ref),
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
const _flatten = (nested) => Effect.gen(function* () {
|
|
61
|
+
const initialInner = yield* nested.get;
|
|
62
|
+
const initialValue = yield* initialInner.get;
|
|
63
|
+
const ref = yield* SubscriptionRef.make(initialValue);
|
|
64
|
+
const flattenedStream = nested.changes.pipe(Stream.switchMap((inner) => {
|
|
65
|
+
let currentValue;
|
|
66
|
+
let hasCurrentValue = false;
|
|
67
|
+
let skippedReplay = false;
|
|
68
|
+
return Stream.concat(Stream.make(inner).pipe(Stream.mapEffect((currentInner) => currentInner.get), Stream.tap((value) => Effect.sync(() => {
|
|
69
|
+
currentValue = value;
|
|
70
|
+
hasCurrentValue = true;
|
|
71
|
+
}))), inner.changes.pipe(Stream.filter((value) => {
|
|
72
|
+
if (!skippedReplay && hasCurrentValue && Object.is(value, currentValue)) {
|
|
73
|
+
skippedReplay = true;
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
return true;
|
|
77
|
+
})));
|
|
78
|
+
}), Stream.tap((value) => SubscriptionRef.set(ref, value)));
|
|
79
|
+
yield* Effect.forkScoped(Stream.runDrain(flattenedStream));
|
|
80
|
+
return {
|
|
81
|
+
_tag: 'Derived',
|
|
82
|
+
changes: SubscriptionRef.changes(ref),
|
|
83
|
+
get: SubscriptionRef.get(ref),
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
/**
|
|
87
|
+
* Derived — read-only reactive view computed from upstream {@link Cell}s.
|
|
88
|
+
* A `Derived` recomputes lazily and pushes the new value into its own stream
|
|
89
|
+
* when any dependency changes; composes via `combine`, `map`, and `flatten`.
|
|
90
|
+
*/
|
|
91
|
+
export const Derived = {
|
|
92
|
+
/** Build a derived cell from a factory computing against upstream sources. */
|
|
93
|
+
make: _make,
|
|
94
|
+
/** Combine multiple cells into a single derived cell of their tuple. */
|
|
95
|
+
combine: _combine,
|
|
96
|
+
/** Pure projection of an existing cell/derived. */
|
|
97
|
+
map: _map,
|
|
98
|
+
/** Flatten a derived-of-derived into a single derived of the inner value. */
|
|
99
|
+
flatten: _flatten,
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=derived.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived.js","sourceRoot":"","sources":["../src/derived.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnostics -- centralized runtime warning/error emission.
|
|
3
|
+
*
|
|
4
|
+
* Provides typed warning/error helpers with a swappable sink so runtime
|
|
5
|
+
* boundaries can emit operator-visible diagnostics without hard-coding
|
|
6
|
+
* console calls throughout the codebase.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Severity level for a {@link DiagnosticEvent}. */
|
|
11
|
+
export type DiagnosticLevel = 'warn' | 'error';
|
|
12
|
+
/**
|
|
13
|
+
* Operator-facing payload shape for a single diagnostic emission: a stable
|
|
14
|
+
* `source`/`code` pair for filtering, a human message, plus optional structured
|
|
15
|
+
* detail and an underlying cause.
|
|
16
|
+
*/
|
|
17
|
+
export interface DiagnosticPayload {
|
|
18
|
+
readonly source: string;
|
|
19
|
+
readonly code: string;
|
|
20
|
+
readonly message: string;
|
|
21
|
+
readonly cause?: unknown;
|
|
22
|
+
readonly detail?: unknown;
|
|
23
|
+
}
|
|
24
|
+
/** A {@link DiagnosticPayload} enriched with severity and an emission timestamp. */
|
|
25
|
+
export interface DiagnosticEvent extends DiagnosticPayload {
|
|
26
|
+
readonly level: DiagnosticLevel;
|
|
27
|
+
readonly timestamp: number;
|
|
28
|
+
}
|
|
29
|
+
/** Swappable transport that receives {@link DiagnosticEvent}s from {@link Diagnostics}. */
|
|
30
|
+
export interface DiagnosticsSink {
|
|
31
|
+
emit(event: DiagnosticEvent): void;
|
|
32
|
+
}
|
|
33
|
+
declare function warn(payload: DiagnosticPayload): DiagnosticEvent;
|
|
34
|
+
declare function error(payload: DiagnosticPayload): DiagnosticEvent;
|
|
35
|
+
declare function warnOnce(payload: DiagnosticPayload): DiagnosticEvent | null;
|
|
36
|
+
declare function setSink(sink: DiagnosticsSink): void;
|
|
37
|
+
declare function resetSink(): void;
|
|
38
|
+
declare function clearOnce(): void;
|
|
39
|
+
declare function reset(): void;
|
|
40
|
+
declare function createBufferSink(): {
|
|
41
|
+
readonly sink: DiagnosticsSink;
|
|
42
|
+
readonly events: DiagnosticEvent[];
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Diagnostics facade — runtime boundaries call {@link Diagnostics.warn} / {@link Diagnostics.error}
|
|
46
|
+
* instead of `console.*` so hosts can redirect or capture every diagnostic via {@link Diagnostics.setSink}.
|
|
47
|
+
*/
|
|
48
|
+
export declare const Diagnostics: {
|
|
49
|
+
/** Emit a `warn`-level {@link DiagnosticEvent} to the current sink. */
|
|
50
|
+
readonly warn: typeof warn;
|
|
51
|
+
/** Emit an `error`-level {@link DiagnosticEvent} to the current sink. */
|
|
52
|
+
readonly error: typeof error;
|
|
53
|
+
/** {@link Diagnostics.warn}, but deduplicated by `source:code:message`. */
|
|
54
|
+
readonly warnOnce: typeof warnOnce;
|
|
55
|
+
/** Replace the active sink (e.g. for tests or hosted environments). */
|
|
56
|
+
readonly setSink: typeof setSink;
|
|
57
|
+
/** Restore the default sink that writes through `console`. */
|
|
58
|
+
readonly resetSink: typeof resetSink;
|
|
59
|
+
/** Clear the deduplication set used by {@link Diagnostics.warnOnce}. */
|
|
60
|
+
readonly clearOnce: typeof clearOnce;
|
|
61
|
+
/** Convenience for `resetSink()` + `clearOnce()` — mostly for test teardown. */
|
|
62
|
+
readonly reset: typeof reset;
|
|
63
|
+
/** Build an in-memory sink that collects events into an array — useful for tests. */
|
|
64
|
+
readonly createBufferSink: typeof createBufferSink;
|
|
65
|
+
};
|
|
66
|
+
export declare namespace Diagnostics {
|
|
67
|
+
/** Alias for {@link DiagnosticPayload}. */
|
|
68
|
+
type Payload = DiagnosticPayload;
|
|
69
|
+
/** Alias for {@link DiagnosticEvent}. */
|
|
70
|
+
type Event = DiagnosticEvent;
|
|
71
|
+
/** Alias for {@link DiagnosticLevel}. */
|
|
72
|
+
type Level = DiagnosticLevel;
|
|
73
|
+
/** Alias for {@link DiagnosticsSink}. */
|
|
74
|
+
type Sink = DiagnosticsSink;
|
|
75
|
+
}
|
|
76
|
+
export {};
|
|
77
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,oDAAoD;AACpD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,oFAAoF;AACpF,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACpC;AAuED,iBAAS,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAEzD;AAED,iBAAS,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAE1D;AAED,iBAAS,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,GAAG,IAAI,CAQpE;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAE5C;AAED,iBAAS,SAAS,IAAI,IAAI,CAEzB;AAED,iBAAS,SAAS,IAAI,IAAI,CAEzB;AAED,iBAAS,KAAK,IAAI,IAAI,CAGrB;AAED,iBAAS,gBAAgB,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAUlG;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW;IACtB,uEAAuE;;IAEvE,yEAAyE;;IAEzE,2EAA2E;;IAE3E,uEAAuE;;IAEvE,8DAA8D;;IAE9D,wEAAwE;;IAExE,gFAAgF;;IAEhF,qFAAqF;;CAE7E,CAAC;AAEX,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,2CAA2C;IAC3C,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,yCAAyC;IACzC,KAAY,KAAK,GAAG,eAAe,CAAC;IACpC,yCAAyC;IACzC,KAAY,KAAK,GAAG,eAAe,CAAC;IACpC,yCAAyC;IACzC,KAAY,IAAI,GAAG,eAAe,CAAC;CACpC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnostics -- centralized runtime warning/error emission.
|
|
3
|
+
*
|
|
4
|
+
* Provides typed warning/error helpers with a swappable sink so runtime
|
|
5
|
+
* boundaries can emit operator-visible diagnostics without hard-coding
|
|
6
|
+
* console calls throughout the codebase.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
function asConsoleLike(value) {
|
|
11
|
+
if (typeof value !== 'object' || value === null)
|
|
12
|
+
return null;
|
|
13
|
+
const v = value;
|
|
14
|
+
// Require at least one usable method; warn/error may be absent in stripped envs.
|
|
15
|
+
if (typeof v['warn'] !== 'function' && typeof v['error'] !== 'function')
|
|
16
|
+
return null;
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
function getConsoleMethod(level) {
|
|
20
|
+
const consoleLike = asConsoleLike(globalThis.console);
|
|
21
|
+
const method = consoleLike?.[level];
|
|
22
|
+
return typeof method === 'function' ? method.bind(consoleLike) : null;
|
|
23
|
+
}
|
|
24
|
+
function formatHeadline(event) {
|
|
25
|
+
return `[${event.source}] ${event.code}: ${event.message}`;
|
|
26
|
+
}
|
|
27
|
+
function toArgs(event) {
|
|
28
|
+
const args = [formatHeadline(event)];
|
|
29
|
+
if (event.detail !== undefined) {
|
|
30
|
+
args.push(event.detail);
|
|
31
|
+
}
|
|
32
|
+
if (event.cause !== undefined) {
|
|
33
|
+
args.push(event.cause);
|
|
34
|
+
}
|
|
35
|
+
return args;
|
|
36
|
+
}
|
|
37
|
+
const defaultSink = {
|
|
38
|
+
emit(event) {
|
|
39
|
+
const method = getConsoleMethod(event.level);
|
|
40
|
+
if (method) {
|
|
41
|
+
method(...toArgs(event));
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
let currentSink = defaultSink;
|
|
46
|
+
const onceKeys = new Set();
|
|
47
|
+
function toEvent(level, payload) {
|
|
48
|
+
return {
|
|
49
|
+
...payload,
|
|
50
|
+
level,
|
|
51
|
+
timestamp: Date.now(),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function emit(level, payload) {
|
|
55
|
+
const event = toEvent(level, payload);
|
|
56
|
+
currentSink.emit(event);
|
|
57
|
+
return event;
|
|
58
|
+
}
|
|
59
|
+
function buildOnceKey(payload) {
|
|
60
|
+
return `${payload.source}:${payload.code}:${payload.message}`;
|
|
61
|
+
}
|
|
62
|
+
function warn(payload) {
|
|
63
|
+
return emit('warn', payload);
|
|
64
|
+
}
|
|
65
|
+
function error(payload) {
|
|
66
|
+
return emit('error', payload);
|
|
67
|
+
}
|
|
68
|
+
function warnOnce(payload) {
|
|
69
|
+
const key = buildOnceKey(payload);
|
|
70
|
+
if (onceKeys.has(key)) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
onceKeys.add(key);
|
|
74
|
+
return warn(payload);
|
|
75
|
+
}
|
|
76
|
+
function setSink(sink) {
|
|
77
|
+
currentSink = sink;
|
|
78
|
+
}
|
|
79
|
+
function resetSink() {
|
|
80
|
+
currentSink = defaultSink;
|
|
81
|
+
}
|
|
82
|
+
function clearOnce() {
|
|
83
|
+
onceKeys.clear();
|
|
84
|
+
}
|
|
85
|
+
function reset() {
|
|
86
|
+
resetSink();
|
|
87
|
+
clearOnce();
|
|
88
|
+
}
|
|
89
|
+
function createBufferSink() {
|
|
90
|
+
const events = [];
|
|
91
|
+
return {
|
|
92
|
+
sink: {
|
|
93
|
+
emit(event) {
|
|
94
|
+
events.push(event);
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
events,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Diagnostics facade — runtime boundaries call {@link Diagnostics.warn} / {@link Diagnostics.error}
|
|
102
|
+
* instead of `console.*` so hosts can redirect or capture every diagnostic via {@link Diagnostics.setSink}.
|
|
103
|
+
*/
|
|
104
|
+
export const Diagnostics = {
|
|
105
|
+
/** Emit a `warn`-level {@link DiagnosticEvent} to the current sink. */
|
|
106
|
+
warn,
|
|
107
|
+
/** Emit an `error`-level {@link DiagnosticEvent} to the current sink. */
|
|
108
|
+
error,
|
|
109
|
+
/** {@link Diagnostics.warn}, but deduplicated by `source:code:message`. */
|
|
110
|
+
warnOnce,
|
|
111
|
+
/** Replace the active sink (e.g. for tests or hosted environments). */
|
|
112
|
+
setSink,
|
|
113
|
+
/** Restore the default sink that writes through `console`. */
|
|
114
|
+
resetSink,
|
|
115
|
+
/** Clear the deduplication set used by {@link Diagnostics.warnOnce}. */
|
|
116
|
+
clearOnce,
|
|
117
|
+
/** Convenience for `resetSink()` + `clearOnce()` — mostly for test teardown. */
|
|
118
|
+
reset,
|
|
119
|
+
/** Build an in-memory sink that collects events into an array — useful for tests. */
|
|
120
|
+
createBufferSink,
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/dist/dirty.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DirtyFlags -- bitmask dirty tracking.
|
|
3
|
+
*
|
|
4
|
+
* Maps string keys to bit positions in a 32-bit integer mask,
|
|
5
|
+
* enabling O(1) mark/clear/check operations for change tracking.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
interface DirtyFlagsShape<K extends string = string> {
|
|
10
|
+
mark(key: K): void;
|
|
11
|
+
clear(key: K): void;
|
|
12
|
+
clearAll(): void;
|
|
13
|
+
isDirty(key: K): boolean;
|
|
14
|
+
getDirty(): readonly K[];
|
|
15
|
+
readonly mask: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Creates a bitmask-based dirty tracker for the given keys (max 31).
|
|
19
|
+
* Enables O(1) mark, clear, and check operations for change tracking.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const flags = DirtyFlags.make(['position', 'color', 'opacity'] as const);
|
|
24
|
+
* flags.mark('position');
|
|
25
|
+
* flags.mark('color');
|
|
26
|
+
* flags.isDirty('position'); // true
|
|
27
|
+
* flags.isDirty('opacity'); // false
|
|
28
|
+
* flags.getDirty(); // ['position', 'color']
|
|
29
|
+
* flags.clearAll();
|
|
30
|
+
* flags.mask; // 0
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
declare function _make<K extends string>(keys: readonly K[]): DirtyFlagsShape<K>;
|
|
34
|
+
/**
|
|
35
|
+
* DirtyFlags -- bitmask-based dirty tracking for up to 31 named keys.
|
|
36
|
+
* O(1) mark/clear/check operations using bitwise integer operations.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* const flags = DirtyFlags.make(['transform', 'style'] as const);
|
|
41
|
+
* flags.mark('transform');
|
|
42
|
+
* flags.isDirty('transform'); // true
|
|
43
|
+
* flags.clear('transform');
|
|
44
|
+
* flags.isDirty('transform'); // false
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare const DirtyFlags: {
|
|
48
|
+
make: typeof _make;
|
|
49
|
+
};
|
|
50
|
+
export declare namespace DirtyFlags {
|
|
51
|
+
/** Structural shape of a {@link DirtyFlags} instance keyed by flag name `K`. */
|
|
52
|
+
type Shape<K extends string = string> = DirtyFlagsShape<K>;
|
|
53
|
+
}
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=dirty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dirty.d.ts","sourceRoot":"","sources":["../src/dirty.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,UAAU,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACjD,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB,QAAQ,IAAI,IAAI,CAAC;IACjB,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;IACzB,QAAQ,IAAI,SAAS,CAAC,EAAE,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CA4CvE;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU;;CAAkB,CAAC;AAE1C,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,gFAAgF;IAChF,KAAY,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;CACnE"}
|
package/dist/dirty.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DirtyFlags -- bitmask dirty tracking.
|
|
3
|
+
*
|
|
4
|
+
* Maps string keys to bit positions in a 32-bit integer mask,
|
|
5
|
+
* enabling O(1) mark/clear/check operations for change tracking.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import { DIRTY_FLAGS_MAX } from './defaults.js';
|
|
10
|
+
/**
|
|
11
|
+
* Creates a bitmask-based dirty tracker for the given keys (max 31).
|
|
12
|
+
* Enables O(1) mark, clear, and check operations for change tracking.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const flags = DirtyFlags.make(['position', 'color', 'opacity'] as const);
|
|
17
|
+
* flags.mark('position');
|
|
18
|
+
* flags.mark('color');
|
|
19
|
+
* flags.isDirty('position'); // true
|
|
20
|
+
* flags.isDirty('opacity'); // false
|
|
21
|
+
* flags.getDirty(); // ['position', 'color']
|
|
22
|
+
* flags.clearAll();
|
|
23
|
+
* flags.mask; // 0
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
function _make(keys) {
|
|
27
|
+
if (keys.length > DIRTY_FLAGS_MAX) {
|
|
28
|
+
throw new RangeError(`DirtyFlags supports at most ${DIRTY_FLAGS_MAX} keys, got ${keys.length}`);
|
|
29
|
+
}
|
|
30
|
+
const bitMap = new Map();
|
|
31
|
+
keys.forEach((key, i) => {
|
|
32
|
+
bitMap.set(key, 1 << i);
|
|
33
|
+
});
|
|
34
|
+
let mask = 0;
|
|
35
|
+
return {
|
|
36
|
+
mark(key) {
|
|
37
|
+
const bit = bitMap.get(key);
|
|
38
|
+
if (bit !== undefined)
|
|
39
|
+
mask |= bit;
|
|
40
|
+
},
|
|
41
|
+
clear(key) {
|
|
42
|
+
const bit = bitMap.get(key);
|
|
43
|
+
if (bit !== undefined)
|
|
44
|
+
mask &= ~bit;
|
|
45
|
+
},
|
|
46
|
+
clearAll() {
|
|
47
|
+
mask = 0;
|
|
48
|
+
},
|
|
49
|
+
isDirty(key) {
|
|
50
|
+
const bit = bitMap.get(key);
|
|
51
|
+
return bit !== undefined ? (mask & bit) !== 0 : false;
|
|
52
|
+
},
|
|
53
|
+
getDirty() {
|
|
54
|
+
const dirty = [];
|
|
55
|
+
for (const [key, bit] of bitMap) {
|
|
56
|
+
if ((mask & bit) !== 0)
|
|
57
|
+
dirty.push(key);
|
|
58
|
+
}
|
|
59
|
+
return dirty;
|
|
60
|
+
},
|
|
61
|
+
get mask() {
|
|
62
|
+
return mask;
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* DirtyFlags -- bitmask-based dirty tracking for up to 31 named keys.
|
|
68
|
+
* O(1) mark/clear/check operations using bitwise integer operations.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* const flags = DirtyFlags.make(['transform', 'style'] as const);
|
|
73
|
+
* flags.mark('transform');
|
|
74
|
+
* flags.isDirty('transform'); // true
|
|
75
|
+
* flags.clear('transform');
|
|
76
|
+
* flags.isDirty('transform'); // false
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export const DirtyFlags = { make: _make };
|
|
80
|
+
//# sourceMappingURL=dirty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dirty.js","sourceRoot":"","sources":["../src/dirty.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAWhD;;;;;;;;;;;;;;;GAeG;AACH,SAAS,KAAK,CAAmB,IAAkB;IACjD,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,IAAI,UAAU,CAAC,+BAA+B,eAAe,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,OAAO;QACL,IAAI,CAAC,GAAM;YACT,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,SAAS;gBAAE,IAAI,IAAI,GAAG,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,GAAM;YACV,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,SAAS;gBAAE,IAAI,IAAI,CAAC,GAAG,CAAC;QACtC,CAAC;QAED,QAAQ;YACN,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;QAED,OAAO,CAAC,GAAM;YACZ,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,CAAC;QAED,QAAQ;YACN,MAAM,KAAK,GAAQ,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI;YACN,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC"}
|