@forgeax/engine-runtime 0.1.28 → 0.1.29

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.
Files changed (113) hide show
  1. package/README.md +98 -0
  2. package/dist/collect-scene-asset.d.ts.map +1 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.mjs +480 -15
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/scene-utils/mount-override-fold.d.ts +3 -1
  8. package/dist/scene-utils/mount-override-fold.d.ts.map +1 -1
  9. package/package.json +37 -32
  10. package/src/__tests__/animation-graph-collect-roundtrip.test.ts +4 -2
  11. package/src/__tests__/asset-registry-aabb.cases.unit.test.ts +5 -4
  12. package/src/__tests__/asset-registry-guid-reverse.test.ts +22 -27
  13. package/src/__tests__/asset-registry-mounts.test.ts +174 -734
  14. package/src/__tests__/asset-registry-scene.cases.unit.test.ts +9 -18
  15. package/src/__tests__/asset-registry.recursive.spec.ts +23 -29
  16. package/src/__tests__/camera-ortho.cases.unit.test.ts +12 -3
  17. package/src/__tests__/collect-scene-asset.test.ts +96 -113
  18. package/src/__tests__/collect-scene-mount-collapse.test.ts +64 -66
  19. package/src/__tests__/collect-transient-children-absent.test.ts +11 -17
  20. package/src/__tests__/collect-transient-roundtrip.test.ts +12 -13
  21. package/src/__tests__/collect-transient-skip.test.ts +20 -27
  22. package/src/__tests__/components.test-d.ts +17 -1
  23. package/src/__tests__/components.unit.test.ts +75 -27
  24. package/src/__tests__/composite-skybox-cross-world.browser.test.ts +4 -2
  25. package/src/__tests__/dawn/instances-per-instance-pbr.dawn.test.ts +8 -4
  26. package/src/__tests__/dawn/instances-shadow.dawn.test.ts +4 -1
  27. package/src/__tests__/dawn/instances-uniform-fallback.dawn.test.ts +66 -92
  28. package/src/__tests__/dawn/material-cooked-fixture.dawn.test.ts +200 -4
  29. package/src/__tests__/errors.unit.test.ts +13 -0
  30. package/src/__tests__/feature-depth-material.dawn.test.ts +23 -0
  31. package/src/__tests__/feature-depth-material.fixture.ts +473 -0
  32. package/src/__tests__/fullscreen-post-process-pass.dawn.test.ts +14 -14
  33. package/src/__tests__/geometry.unit.test.ts +42 -43
  34. package/src/__tests__/gpu-resource-release.cases.unit.test.ts +16 -9
  35. package/src/__tests__/handle-migration.test.ts +0 -1
  36. package/src/__tests__/instances-renderer-lifecycle.integration.test.ts +20 -14
  37. package/src/__tests__/instances.test-d.ts +13 -52
  38. package/src/__tests__/instantiate-mount-deferred-wiring.test.ts +42 -80
  39. package/src/__tests__/lazy-catalog.cases.unit.test.ts +17 -3
  40. package/src/__tests__/loader-registry.cases.unit.test.ts +4 -4
  41. package/src/__tests__/material-publication.browser.test.ts +29 -0
  42. package/src/__tests__/material-publication.commands.ts +23 -0
  43. package/src/__tests__/material-publication.dawn.test.ts +24 -0
  44. package/src/__tests__/material-publication.fixture.ts +349 -0
  45. package/src/__tests__/material-publication.server.ts +109 -0
  46. package/src/__tests__/parse-scene-payload-refs.cases.unit.test.ts +73 -96
  47. package/src/__tests__/pbr-pipeline.unit.test.ts +25 -11
  48. package/src/__tests__/point-light-shadow.browser.test.ts +8 -2
  49. package/src/__tests__/point-light-shadow.unit.test.ts +37 -8
  50. package/src/__tests__/record-all-topology.cases.unit.test.ts +52 -0
  51. package/src/__tests__/record-draw-branch.cases.unit.test.ts +1 -0
  52. package/src/__tests__/record-worldid-isolation.test.ts +47 -28
  53. package/src/__tests__/render-error-exhaustive.test-d.ts +24 -0
  54. package/src/__tests__/render-system-extract-dispatch-ordering.test.ts +15 -4
  55. package/src/__tests__/render-system-extract.test.ts +61 -0
  56. package/src/__tests__/render-system-extract.unit.test.ts +21 -7
  57. package/src/__tests__/render-system-fold-bucket.unit.test.ts +33 -1
  58. package/src/__tests__/render-system-fold-material.unit.test.ts +32 -6
  59. package/src/__tests__/render-system-fold-modegate.unit.test.ts +26 -4
  60. package/src/__tests__/render-system-fold.dawn.test.ts +4 -1
  61. package/src/__tests__/render-system-mega.test.ts +50 -62
  62. package/src/__tests__/renderer-device-loss-provider-feasibility.dawn.test.ts +0 -1
  63. package/src/__tests__/renderer-device-loss-recovery.dawn.test.ts +0 -3
  64. package/src/__tests__/renderer-draw-world.cases.unit.test.ts +16 -513
  65. package/src/__tests__/resolve-scene-guids.cases.unit.test.ts +48 -43
  66. package/src/__tests__/rhi-null-command-flow.unit.test.ts +9 -7
  67. package/src/__tests__/roots-to-scene-asset.test.ts +27 -28
  68. package/src/__tests__/roundtrip-primitive.test.ts +24 -23
  69. package/src/__tests__/scene-equirect-roundtrip.test.ts +5 -16
  70. package/src/__tests__/scene-instantiate-cycle-runtime.test.ts +13 -29
  71. package/src/__tests__/scene-mount-fixed-point.test.ts +104 -227
  72. package/src/__tests__/scene-mount-roundtrip.test.ts +95 -961
  73. package/src/__tests__/scene-mount-wrapper-roundtrip.test.ts +36 -182
  74. package/src/__tests__/scene-sugar-instantiate.test.ts +20 -15
  75. package/src/__tests__/serialize-mounts-roundtrip.test.ts +108 -492
  76. package/src/__tests__/serialize-scene-asset.test.ts +36 -50
  77. package/src/__tests__/shadow-caster-empty-schema.test.ts +3 -1
  78. package/src/__tests__/shadow-fields-observable.dawn.test.ts +34 -19
  79. package/src/__tests__/shadow-mesh-ssbo-order.test.ts +5 -12
  80. package/src/__tests__/skin-extract-getarrayview-count.unit.test.ts +6 -4
  81. package/src/__tests__/skin-m2-extract-happy.cases.unit.test.ts +50 -2
  82. package/src/__tests__/skin-m2-extract-joint-error.cases.unit.test.ts +50 -2
  83. package/src/__tests__/skin-m2-extract-null-assets.cases.unit.test.ts +50 -2
  84. package/src/__tests__/skin-m2-extract-skeleton-error.cases.unit.test.ts +50 -2
  85. package/src/__tests__/skin-palette-extract.cases.unit.test.ts +2 -0
  86. package/src/__tests__/skinned-shadow-mixed.dawn.test.ts +93 -48
  87. package/src/__tests__/skylight-pipeline-layout.cases.unit.test.ts +6 -2
  88. package/src/__tests__/sparse-tag-scene-roundtrip.test.ts +1 -1
  89. package/src/__tests__/sprite-lit-bgl-byte-identical.test.ts +11 -3
  90. package/src/__tests__/template-game-default-api-contract.test.ts +21 -21
  91. package/src/__tests__/tonemap-hdr-target.cases.unit.test.ts +8 -5
  92. package/src/__tests__/tonemap-pipeline-split.cases.unit.test.ts +3 -0
  93. package/src/__tests__/transient-fields-collect.test.ts +4 -4
  94. package/src/__tests__/transient-runtime-behavior.test.ts +9 -9
  95. package/src/__tests__/vfx-depth-material.dawn.test.ts +42 -0
  96. package/src/__tests__/vfx-mesh-lighting.browser.test.ts +16 -0
  97. package/src/__tests__/vfx-mesh-lighting.commands.ts +14 -0
  98. package/src/__tests__/vfx-mesh-lighting.dawn.test.ts +16 -0
  99. package/src/__tests__/vfx-mesh-lighting.fixture.ts +883 -0
  100. package/src/__tests__/wave1-rendering-materials.browser.test.ts +617 -0
  101. package/src/__tests__/wave1-rendering-p0.browser.test.ts +751 -0
  102. package/src/__tests__/wave1-rendering-recovery.browser.test.ts +666 -0
  103. package/src/__tests__/wave1-shadow-diagnostic.browser.test.ts +582 -0
  104. package/src/__tests__/world-scene-despawn.test.ts +8 -8
  105. package/src/__tests__/world-scene-instantiate.test.ts +23 -29
  106. package/src/__tests__/world-scene-nested.test.ts +90 -163
  107. package/src/__tests__/world-scene-override.test.ts +17 -16
  108. package/src/__tests__/zero-compression-zero-load.integration.test.ts +1 -0
  109. package/src/collect-scene-asset.ts +637 -19
  110. package/src/components/__tests__/sprite-animation.test-d.ts +2 -2
  111. package/src/index.ts +1 -0
  112. package/src/scene-utils/mount-override-fold.ts +5 -14
  113. package/src/__tests__/node-shims.d.ts +0 -31
package/README.md CHANGED
@@ -12,6 +12,14 @@ returned `FrameReceipt`:
12
12
  const result = await createRenderer(canvas);
13
13
  if (!result.ok) throw result.error;
14
14
  const renderer = result.value;
15
+ const ready = await renderer.initialization;
16
+ if (!ready.ok) {
17
+ // Inspect ready.error.code / .expected / .hint and its typed detail before
18
+ // repairing the named producer or backend. Initialization failures are not
19
+ // draw-time retries; dispose and recreate after the repair.
20
+ renderer.dispose();
21
+ throw ready.error;
22
+ }
15
23
  const lease = renderer.attach(world);
16
24
  if (!lease.ok) throw lease.error;
17
25
  const frame = renderer.draw({
@@ -22,10 +30,20 @@ const frame = renderer.draw({
22
30
  if (!frame.ok) throw frame.error;
23
31
  const facts = renderer.inspect();
24
32
  const observation = await renderer.observe(frame.value, { include: ['timings'] });
33
+ const output = facts.output;
34
+ // output.autoExposure / output.standardLut are receipt-bound detached facts.
35
+ // Read output.error before choosing a retry or producer recovery path.
25
36
  void facts;
37
+ void output;
26
38
  void observation;
27
39
  ```
28
40
 
41
+ `Renderer.inspect().output` is the single public subtree for the Standard
42
+ output transform: it contains display encoding, surface formats, the auto
43
+ exposure receipt, the ordinary shared-texture 3D LUT receipt, and structured
44
+ availability errors. Camera exposure and color grading remain authored on the
45
+ Camera; runtime only assembles the renderer and forwards the detached facts.
46
+
29
47
  ## Progressive recovery index
30
48
 
31
49
  Start with the public recovery route: `state() -> inspect() -> recover() ->
@@ -44,6 +62,14 @@ uninitialized until a successful new-generation receipt; fallback output is
44
62
  not Browser/Dawn proof. Structural inspection, real Browser/Dawn readback,
45
63
  and PNG evidence remain separate evidence classes.
46
64
 
65
+ Before the first `attach` or `draw`, always await `renderer.initialization` and
66
+ branch on its `Result`. A failed initialization exposes a structured
67
+ `webgpu-runtime-error`; for pipeline failures inspect
68
+ `error.detail.error.detail.cause` to reach the backend `RhiError`, repair that
69
+ producer or capability, dispose the failed renderer, and call `createRenderer`
70
+ again. `renderer.recover()` is for an admitted renderer whose later resource or
71
+ device state needs recovery; it does not replace the initialization barrier.
72
+
47
73
  Carrier manifests and schemas expose current source/build provenance, backend,
48
74
  runner, and frame identity. Structural graph checks are distinct from real
49
75
  Browser/Dawn readback and PNG evidence; a historical oracle is reference data,
@@ -54,6 +80,24 @@ stale receipt is a structured failure rather than an implicit read of the
54
80
  current frame. Repair the owner named by `error.detail`, then retry the same
55
81
  request.
56
82
 
83
+ ## GPU-driven PBR / shadow / skin navigation
84
+
85
+ Runtime is the host-side entry for the prepared Standard PBR frame. Follow the
86
+ owner links when a frame is rejected:
87
+
88
+ | Entry | Owner | Next action |
89
+ |:--|:--|:--|
90
+ | [`shader`](../shader/README.md#gpu-driven-pbr--shadow--skin-navigation) | WGSL, schema, reflection, cooked receipt | repair source or recook |
91
+ | [`render`](../render/README.md#gpu-driven-pbr--shadow--skin-navigation) | scene index, topology, shadow views, indirect record | inspect lane and retry |
92
+ | [`hello-skin`](../../apps/hello/skin/README.md#gpu-driven-skin-carrier) / [`hello-fbx-skin`](../../apps/hello/fbx-skin/README.md#gpu-driven-fbx-carrier) | imported skin carrier and smoke | rerun the declared smoke |
93
+
94
+ The offline exercise is deterministic: read `renderer.inspect().renderScene.gpuDriven`,
95
+ branch on the closed `lane`/`reason`, and for a blocked channel use
96
+ `failure.detail.owner` plus `failure.detail.recovery` to repair the named
97
+ producer before retrying the unchanged frame request. `failure.hint` is
98
+ human-readable only. `blocked/resource-not-ready` means promotion stopped; it
99
+ is not permission to route the same candidate through CPU semantics.
100
+
57
101
  ## Directional shadow authoring and recovery index
58
102
 
59
103
  The cold-AI entry is `DirectionalLight.shadowFilter`, followed by one read of
@@ -106,6 +150,27 @@ The labels, units, defaults, structured error shape, and fallback vocabulary
106
150
  are shared with [`@forgeax/engine-render`](../render/README.md); runtime owns
107
151
  host assembly and recovery invocation, not a second Directional schema.
108
152
 
153
+ ## Spot shadow inspection route
154
+
155
+ Author `SpotLight` beside its `Transform`, then use the renderer-owned channel
156
+ projection after `draw`; Runtime does not create a second light or shadow
157
+ registry. The render package has the complete authoring table and source
158
+ anchors in [Point and Spot shadow authoring → view inspection](../render/README.md#point-and-spot-shadow-authoring--view-inspection).
159
+
160
+ ```ts
161
+ const channels = renderer.inspect().renderScene.gpuDriven.channels;
162
+ const spot = channels.filter((channel) => channel.viewPass === 'spot-shadow');
163
+ const point = channels.filter((channel) => channel.viewPass === 'point-shadow');
164
+ void spot; // viewIndex, lane, reason, and drawCount are bounded facts.
165
+ void point; // point views additionally expose face for cube-array inspection.
166
+ ```
167
+
168
+ If a channel is `blocked`, follow its structured `failure.detail.owner` and
169
+ `failure.detail.recovery`; do not retry the candidate through CPU semantics or
170
+ infer ownership from an array position. Static `TextureAsset` cookies and
171
+ projectors follow the existing Catalog/resource route, while video and render
172
+ target sources remain dynamic semantic inputs.
173
+
109
174
  ## Render happy path
110
175
 
111
176
  `createRenderer -> attach -> draw -> inspect/observe/recover` assembles one
@@ -117,6 +182,34 @@ named by `error.detail`, rebuild or cold-cook its source, and retry.
117
182
  > [!IMPORTANT]
118
183
  > Runtime is the sole public host-assembly entry for `createRenderer`. It selects browser/backend services, invokes render's internal construction seam, and cleans up partial construction. It does not own scene, skinning, animation, or render-domain APIs.
119
184
 
185
+ ## Large instance lifecycle and recovery
186
+
187
+ Large instance matrices stay behind the Render owner even when the renderer is
188
+ assembled by Runtime. After `attach`, create one logical collection through
189
+ `renderer.instances`, associate its returned `collectionId` with the Render
190
+ `Instances` component, and use that same owner for `replace`, bounded `update`,
191
+ `inspect`, detached `snapshot`, and terminal `release`. Runtime does not expose
192
+ RHI buffers or require a game-side chunk manager.
193
+
194
+ Read `renderer.inspect().instanceCollections` for detached
195
+ `collectionId`/`count`/`capacity`/`revision`, resident generation and lane,
196
+ dirty/upload ranges and bytes, backend/owner, and any structured error. The
197
+ error's `code`, `expected`, `hint`, and typed facts
198
+ (`requestedBytes`, `supportedBytes`, `backend`, `owner`, `cause`, and
199
+ `recovery`) are the recovery API; do not parse the message or stack. An
200
+ authoring error is repaired at `renderer.instances`; a capability or record
201
+ error is repaired at the named producer/backend and then the identical frame
202
+ request is retried.
203
+
204
+ If the renderer enters `device-lost`, `await renderer.recover()` and redraw.
205
+ The canonical CPU matrices survive the generation change, while every new GPU
206
+ resident is initialized from the complete canonical collection before draw;
207
+ partial dirty ranges are never mistaken for initialization after recovery.
208
+ The initial matrices should be identity-filled (with any desired translation),
209
+ not all-zero mat4 values, so the first frame has a valid homogeneous transform
210
+ and visible geometry. The complete authoring and inspection recipe is in
211
+ [`@forgeax/engine-render`](../render/README.md#renderer-owned-instances-and-cpu-bounds).
212
+
120
213
  ## Standard profile recovery
121
214
 
122
215
  The host exposes one `forgeax::standard` profile. `lightCount` is one of
@@ -237,6 +330,11 @@ import { createRenderer } from '@forgeax/engine-runtime';
237
330
  const created = await createRenderer(canvas);
238
331
  if (!created.ok) return created.error;
239
332
  const renderer = created.value;
333
+ const ready = await renderer.initialization;
334
+ if (!ready.ok) {
335
+ renderer.dispose();
336
+ return ready.error;
337
+ }
240
338
  const attached = renderer.attach(world);
241
339
  if (!attached.ok) return attached.error;
242
340
  return renderer.draw({
@@ -1 +1 @@
1
- {"version":3,"file":"collect-scene-asset.d.ts","sourceRoot":"","sources":["../src/collect-scene-asset.ts"],"names":[],"mappings":"AA8CA,OAAO,EAGL,oCAAoC,EACpC,sCAAsC,EACvC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,KAAK,SAAS,IAAI,YAAY,EAC9B,KAAK,YAAY,EACjB,KAAK,KAAK,EACX,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ3D,OAAO,KAAK,EACV,KAAK,EAIL,UAAU,EAGX,MAAM,uBAAuB,CAAC;AAG/B,qFAAqF;AACrF,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;CAC1C;AAqID,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC7C,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,oCAAoC,CAAC,CA2BvE;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,EAAE,GACpB,MAAM,CACP,UAAU,EACV,sCAAsC,GAAG,oCAAoC,CAC9E,CAgbA"}
1
+ {"version":3,"file":"collect-scene-asset.d.ts","sourceRoot":"","sources":["../src/collect-scene-asset.ts"],"names":[],"mappings":"AA8CA,OAAO,EAGL,oCAAoC,EACpC,sCAAsC,EACvC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,KAAK,SAAS,IAAI,YAAY,EAC9B,KAAK,YAAY,EACjB,KAAK,KAAK,EACX,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAS3D,OAAO,KAAK,EAAE,KAAK,EAAyB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGtF,qFAAqF;AACrF,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;CAC1C;AAirBD,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC7C,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,oCAAoC,CAAC,CA2BvE;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,EAAE,GACpB,MAAM,CACP,UAAU,EACV,sCAAsC,GAAG,oCAAoC,CAC9E,CAqfA"}
package/dist/index.d.ts CHANGED
@@ -61,7 +61,7 @@ export { EngineEnvironmentError } from './errors/environment';
61
61
  * }
62
62
  * });
63
63
  */
64
- export { type LimitExceededDetail, type RhiAssetNotRegisteredDetail, RhiError, type RhiErrorCode, type RhiErrorDetail, type RhiShaderCompileDetail, type RhiWebgpuRuntimeDetail, } from '@forgeax/engine-rhi';
64
+ export { type LimitExceededDetail, type RhiAssetNotRegisteredDetail, RhiError, type RhiErrorCode, type RhiErrorDetail, type RhiShaderCompileDetail, type RhiWebgpuRuntimeCause, type RhiWebgpuRuntimeDetail, } from '@forgeax/engine-rhi';
65
65
  /**
66
66
  * Asset system SSOT re-exports (feat-20260511-asset-system-v1 / w30 / D-P7 +
67
67
  * plan-strategy §7.4 discoverability dual-entry).
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAgBlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAW9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAY/B;;;;;;;;;GASG;AACH;;;;;;;;;GASG;AAKH,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAQlE;;;;;;GAMG;AACH;;;;;;;;;;;;;;GAcG;AACH;GACG;AAQH;;;;;;;;;;;;;;;;GAgBG;AAGH,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAiB5E;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAiB5C,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AA+B/B;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAgBlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAW9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAY/B;;;;;;;;;GASG;AACH;;;;;;;;;GASG;AAKH,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAQlE;;;;;;GAMG;AACH;;;;;;;;;;;;;;GAcG;AACH;GACG;AAQH;;;;;;;;;;;;;;;;GAgBG;AAGH,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAiB5E;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAiB5C,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AA+B/B;;;;;;;;;;GAUG"}