@pibbl/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/LICENSE.txt +19 -0
- package/README.md +76 -0
- package/THIRD_PARTY_NOTICES.txt +205 -0
- package/dist/features/particles/index.d.ts +7 -0
- package/dist/features/particles/index.js +26 -0
- package/dist/features/particles/index.js.map +7 -0
- package/dist/features/particles/index.mjs +1 -0
- package/dist/features/particles/lib/canvas/birth-ledger.d.ts +69 -0
- package/dist/features/particles/lib/canvas/birth-ledger.js +752 -0
- package/dist/features/particles/lib/canvas/birth-ledger.js.map +7 -0
- package/dist/features/particles/lib/canvas/component.d.ts +14 -0
- package/dist/features/particles/lib/canvas/component.js +249 -0
- package/dist/features/particles/lib/canvas/component.js.map +7 -0
- package/dist/features/particles/lib/canvas/executor.d.ts +31 -0
- package/dist/features/particles/lib/canvas/executor.js +537 -0
- package/dist/features/particles/lib/canvas/executor.js.map +7 -0
- package/dist/features/particles/lib/canvas/primitive.d.ts +14 -0
- package/dist/features/particles/lib/canvas/primitive.js +50 -0
- package/dist/features/particles/lib/canvas/primitive.js.map +7 -0
- package/dist/features/particles/lib/canvas/raster-cache.d.ts +13 -0
- package/dist/features/particles/lib/canvas/raster-cache.js +106 -0
- package/dist/features/particles/lib/canvas/raster-cache.js.map +7 -0
- package/dist/features/particles/lib/color.d.ts +7 -0
- package/dist/features/particles/lib/color.js +159 -0
- package/dist/features/particles/lib/color.js.map +7 -0
- package/dist/features/particles/lib/compiler.d.ts +134 -0
- package/dist/features/particles/lib/compiler.js +443 -0
- package/dist/features/particles/lib/compiler.js.map +7 -0
- package/dist/features/particles/lib/curve.d.ts +19 -0
- package/dist/features/particles/lib/curve.js +129 -0
- package/dist/features/particles/lib/curve.js.map +7 -0
- package/dist/features/particles/lib/definition-records.d.ts +58 -0
- package/dist/features/particles/lib/definition-records.js +500 -0
- package/dist/features/particles/lib/definition-records.js.map +7 -0
- package/dist/features/particles/lib/definition.d.ts +18 -0
- package/dist/features/particles/lib/definition.js +602 -0
- package/dist/features/particles/lib/definition.js.map +7 -0
- package/dist/features/particles/lib/emission.d.ts +54 -0
- package/dist/features/particles/lib/emission.js +184 -0
- package/dist/features/particles/lib/emission.js.map +7 -0
- package/dist/features/particles/lib/flow/field.d.ts +81 -0
- package/dist/features/particles/lib/flow/field.js +585 -0
- package/dist/features/particles/lib/flow/field.js.map +7 -0
- package/dist/features/particles/lib/flow/hook.d.ts +158 -0
- package/dist/features/particles/lib/flow/hook.js +215 -0
- package/dist/features/particles/lib/flow/hook.js.map +7 -0
- package/dist/features/particles/lib/flow/population.d.ts +25 -0
- package/dist/features/particles/lib/flow/population.js +104 -0
- package/dist/features/particles/lib/flow/population.js.map +7 -0
- package/dist/features/particles/lib/particle.d.ts +113 -0
- package/dist/features/particles/lib/particle.js +192 -0
- package/dist/features/particles/lib/particle.js.map +7 -0
- package/dist/features/particles/lib/random.d.ts +16 -0
- package/dist/features/particles/lib/random.js +61 -0
- package/dist/features/particles/lib/random.js.map +7 -0
- package/dist/features/particles/lib/sample.d.ts +32 -0
- package/dist/features/particles/lib/sample.js +397 -0
- package/dist/features/particles/lib/sample.js.map +7 -0
- package/dist/features/particles/lib/signal-inputs.d.ts +6 -0
- package/dist/features/particles/lib/signal-inputs.js +41 -0
- package/dist/features/particles/lib/signal-inputs.js.map +7 -0
- package/dist/features/particles/lib/system/binding.d.ts +59 -0
- package/dist/features/particles/lib/system/binding.js +122 -0
- package/dist/features/particles/lib/system/binding.js.map +7 -0
- package/dist/features/particles/lib/system/controller.d.ts +58 -0
- package/dist/features/particles/lib/system/controller.js +1446 -0
- package/dist/features/particles/lib/system/controller.js.map +7 -0
- package/dist/features/particles/lib/system/hook.d.ts +13 -0
- package/dist/features/particles/lib/system/hook.js +52 -0
- package/dist/features/particles/lib/system/hook.js.map +7 -0
- package/dist/features/particles/lib/system/ownership.d.ts +26 -0
- package/dist/features/particles/lib/system/ownership.js +128 -0
- package/dist/features/particles/lib/system/ownership.js.map +7 -0
- package/dist/features/particles/lib/types.d.ts +983 -0
- package/dist/features/physics/2d-geometry.d.ts +216 -0
- package/dist/features/physics/2d-geometry.js +59 -0
- package/dist/features/physics/2d-geometry.js.map +7 -0
- package/dist/features/physics/2d-geometry.mjs +1 -0
- package/dist/features/physics/2d-testing.d.ts +80 -0
- package/dist/features/physics/2d-testing.js +141 -0
- package/dist/features/physics/2d-testing.js.map +7 -0
- package/dist/features/physics/2d-testing.mjs +1 -0
- package/dist/features/physics/2d.d.ts +165 -0
- package/dist/features/physics/2d.js +119 -0
- package/dist/features/physics/2d.js.map +7 -0
- package/dist/features/physics/2d.mjs +1 -0
- package/dist/features/physics/lib/2d/canvas/components.d.ts +46 -0
- package/dist/features/physics/lib/2d/canvas/components.js +212 -0
- package/dist/features/physics/lib/2d/canvas/components.js.map +7 -0
- package/dist/features/physics/lib/2d/canvas/custom.d.ts +24 -0
- package/dist/features/physics/lib/2d/canvas/custom.js +45 -0
- package/dist/features/physics/lib/2d/canvas/custom.js.map +7 -0
- package/dist/features/physics/lib/2d/canvas/debug.d.ts +23 -0
- package/dist/features/physics/lib/2d/canvas/debug.js +53 -0
- package/dist/features/physics/lib/2d/canvas/debug.js.map +7 -0
- package/dist/features/physics/lib/2d/canvas/inference.d.ts +9 -0
- package/dist/features/physics/lib/2d/canvas/inference.js +704 -0
- package/dist/features/physics/lib/2d/canvas/inference.js.map +7 -0
- package/dist/features/physics/lib/2d/canvas/presentation.d.ts +11 -0
- package/dist/features/physics/lib/2d/canvas/presentation.js +169 -0
- package/dist/features/physics/lib/2d/canvas/presentation.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/analytic.d.ts +15 -0
- package/dist/features/physics/lib/2d/collision/analytic.js +151 -0
- package/dist/features/physics/lib/2d/collision/analytic.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/casts.d.ts +37 -0
- package/dist/features/physics/lib/2d/collision/casts.js +631 -0
- package/dist/features/physics/lib/2d/collision/casts.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/epa.d.ts +21 -0
- package/dist/features/physics/lib/2d/collision/epa.js +102 -0
- package/dist/features/physics/lib/2d/collision/epa.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/gjk.d.ts +28 -0
- package/dist/features/physics/lib/2d/collision/gjk.js +233 -0
- package/dist/features/physics/lib/2d/collision/gjk.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/manifold.d.ts +35 -0
- package/dist/features/physics/lib/2d/collision/manifold.js +238 -0
- package/dist/features/physics/lib/2d/collision/manifold.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/pairs.d.ts +10 -0
- package/dist/features/physics/lib/2d/collision/pairs.js +285 -0
- package/dist/features/physics/lib/2d/collision/pairs.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/support.d.ts +20 -0
- package/dist/features/physics/lib/2d/collision/support.js +155 -0
- package/dist/features/physics/lib/2d/collision/support.js.map +7 -0
- package/dist/features/physics/lib/2d/inspection-types.d.ts +159 -0
- package/dist/features/physics/lib/2d/math.d.ts +27 -0
- package/dist/features/physics/lib/2d/math.js +314 -0
- package/dist/features/physics/lib/2d/math.js.map +7 -0
- package/dist/features/physics/lib/2d/numeric-policy.d.ts +24 -0
- package/dist/features/physics/lib/2d/numeric-policy.js +51 -0
- package/dist/features/physics/lib/2d/numeric-policy.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/body-handle.d.ts +148 -0
- package/dist/features/physics/lib/2d/runtime/body-handle.js +305 -0
- package/dist/features/physics/lib/2d/runtime/body-handle.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/context.d.ts +9 -0
- package/dist/features/physics/lib/2d/runtime/context.js +57 -0
- package/dist/features/physics/lib/2d/runtime/context.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/controller.d.ts +106 -0
- package/dist/features/physics/lib/2d/runtime/controller.js +1317 -0
- package/dist/features/physics/lib/2d/runtime/controller.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/descriptors.d.ts +153 -0
- package/dist/features/physics/lib/2d/runtime/descriptors.js +526 -0
- package/dist/features/physics/lib/2d/runtime/descriptors.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/events.d.ts +56 -0
- package/dist/features/physics/lib/2d/runtime/events.js +153 -0
- package/dist/features/physics/lib/2d/runtime/events.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/obstacles.d.ts +22 -0
- package/dist/features/physics/lib/2d/runtime/obstacles.js +192 -0
- package/dist/features/physics/lib/2d/runtime/obstacles.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/ownership.d.ts +41 -0
- package/dist/features/physics/lib/2d/runtime/ownership.js +46 -0
- package/dist/features/physics/lib/2d/runtime/ownership.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/trace.d.ts +32 -0
- package/dist/features/physics/lib/2d/runtime/trace.js +22 -0
- package/dist/features/physics/lib/2d/runtime/trace.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/world-component.d.ts +18 -0
- package/dist/features/physics/lib/2d/runtime/world-component.js +41 -0
- package/dist/features/physics/lib/2d/runtime/world-component.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/world-props.d.ts +16 -0
- package/dist/features/physics/lib/2d/shape-records.d.ts +60 -0
- package/dist/features/physics/lib/2d/shape-records.js +26 -0
- package/dist/features/physics/lib/2d/shape-records.js.map +7 -0
- package/dist/features/physics/lib/2d/shapes.d.ts +191 -0
- package/dist/features/physics/lib/2d/shapes.js +543 -0
- package/dist/features/physics/lib/2d/shapes.js.map +7 -0
- package/dist/features/physics/lib/2d/types.d.ts +713 -0
- package/dist/features/physics/lib/2d/types.js +1 -0
- package/dist/features/physics/lib/2d/types.js.map +7 -0
- package/dist/features/physics/lib/2d/world/broad-phase.d.ts +77 -0
- package/dist/features/physics/lib/2d/world/broad-phase.js +762 -0
- package/dist/features/physics/lib/2d/world/broad-phase.js.map +7 -0
- package/dist/features/physics/lib/2d/world/ccd.d.ts +19 -0
- package/dist/features/physics/lib/2d/world/ccd.js +265 -0
- package/dist/features/physics/lib/2d/world/ccd.js.map +7 -0
- package/dist/features/physics/lib/2d/world/contact-cache.d.ts +81 -0
- package/dist/features/physics/lib/2d/world/contact-cache.js +497 -0
- package/dist/features/physics/lib/2d/world/contact-cache.js.map +7 -0
- package/dist/features/physics/lib/2d/world/integrator.d.ts +11 -0
- package/dist/features/physics/lib/2d/world/integrator.js +99 -0
- package/dist/features/physics/lib/2d/world/integrator.js.map +7 -0
- package/dist/features/physics/lib/2d/world/queries.d.ts +62 -0
- package/dist/features/physics/lib/2d/world/queries.js +424 -0
- package/dist/features/physics/lib/2d/world/queries.js.map +7 -0
- package/dist/features/physics/lib/2d/world/rapier-engine.js +7054 -0
- package/dist/features/physics/lib/2d/world/rapier-engine.js.map +7 -0
- package/dist/features/physics/lib/2d/world/rapier.d.ts +50 -0
- package/dist/features/physics/lib/2d/world/rapier.js +655 -0
- package/dist/features/physics/lib/2d/world/rapier.js.map +7 -0
- package/dist/features/physics/lib/2d/world/solver.d.ts +58 -0
- package/dist/features/physics/lib/2d/world/solver.js +660 -0
- package/dist/features/physics/lib/2d/world/solver.js.map +7 -0
- package/dist/features/physics/lib/2d/world/storage.d.ts +96 -0
- package/dist/features/physics/lib/2d/world/storage.js +371 -0
- package/dist/features/physics/lib/2d/world/storage.js.map +7 -0
- package/dist/features/physics/lib/2d/world/world.d.ts +265 -0
- package/dist/features/physics/lib/2d/world/world.js +1713 -0
- package/dist/features/physics/lib/2d/world/world.js.map +7 -0
- package/dist/features/physics/lib/shared/signal-inputs.d.ts +5 -0
- package/dist/features/physics/lib/shared/signal-inputs.js +20 -0
- package/dist/features/physics/lib/shared/signal-inputs.js.map +7 -0
- package/dist/features/physics/lib/shared/validation.d.ts +5 -0
- package/dist/features/physics/lib/shared/validation.js +48 -0
- package/dist/features/physics/lib/shared/validation.js.map +7 -0
- package/dist/features/sprites/formats/aseprite.js +23 -0
- package/dist/features/sprites/formats/aseprite.js.map +7 -0
- package/dist/features/sprites/formats/aseprite.mjs +1 -0
- package/dist/features/sprites/formats/texture-packer.js +14 -0
- package/dist/features/sprites/formats/texture-packer.js.map +7 -0
- package/dist/features/sprites/formats/texture-packer.mjs +1 -0
- package/dist/features/sprites/index.js +9 -0
- package/dist/features/sprites/index.js.map +7 -0
- package/dist/features/sprites/index.mjs +1 -0
- package/dist/features/sprites/loader.js +63 -0
- package/dist/features/sprites/loader.js.map +7 -0
- package/dist/features/sprites/model.js +64 -0
- package/dist/features/sprites/model.js.map +7 -0
- package/dist/features/sprites/sprite.js +31 -0
- package/dist/features/sprites/sprite.js.map +7 -0
- package/dist/features/textures/index.d.ts +22 -0
- package/dist/features/textures/index.js +31 -0
- package/dist/features/textures/index.js.map +7 -0
- package/dist/features/textures/index.mjs +1 -0
- package/dist/features/textures/lib/definitions.d.ts +117 -0
- package/dist/features/textures/lib/definitions.js +179 -0
- package/dist/features/textures/lib/definitions.js.map +7 -0
- package/dist/features/textures/lib/electric-boundary.d.ts +3 -0
- package/dist/features/textures/lib/electric-boundary.js +11 -0
- package/dist/features/textures/lib/electric-boundary.js.map +7 -0
- package/dist/features/textures/lib/electric-shared.d.ts +69 -0
- package/dist/features/textures/lib/electric-shared.js +43 -0
- package/dist/features/textures/lib/electric-shared.js.map +7 -0
- package/dist/features/textures/lib/electric-sources.d.ts +50 -0
- package/dist/features/textures/lib/electric-sources.js +43 -0
- package/dist/features/textures/lib/electric-sources.js.map +7 -0
- package/dist/features/textures/lib/lightning.d.ts +72 -0
- package/dist/features/textures/lib/lightning.js +139 -0
- package/dist/features/textures/lib/lightning.js.map +7 -0
- package/dist/features/textures/lib/material-field.d.ts +12 -0
- package/dist/features/textures/lib/material-field.js +31 -0
- package/dist/features/textures/lib/material-field.js.map +7 -0
- package/dist/features/textures/lib/palette.d.ts +45 -0
- package/dist/features/textures/lib/palette.js +52 -0
- package/dist/features/textures/lib/palette.js.map +7 -0
- package/dist/features/textures/lib/presentation.d.ts +54 -0
- package/dist/features/textures/lib/presentation.js +83 -0
- package/dist/features/textures/lib/presentation.js.map +7 -0
- package/dist/features/textures/lib/procedural-texture.d.ts +44 -0
- package/dist/features/textures/lib/procedural-texture.js +110 -0
- package/dist/features/textures/lib/procedural-texture.js.map +7 -0
- package/dist/features/textures/lib/rain-drops.d.ts +96 -0
- package/dist/features/textures/lib/rain-drops.js +322 -0
- package/dist/features/textures/lib/rain-drops.js.map +7 -0
- package/dist/features/textures/lib/reaction-diffusion.d.ts +67 -0
- package/dist/features/textures/lib/reaction-diffusion.js +210 -0
- package/dist/features/textures/lib/reaction-diffusion.js.map +7 -0
- package/dist/features/textures/lib/simulation.d.ts +16 -0
- package/dist/features/textures/lib/simulation.js +85 -0
- package/dist/features/textures/lib/simulation.js.map +7 -0
- package/dist/features/textures/lib/tendrils.d.ts +57 -0
- package/dist/features/textures/lib/tendrils.js +216 -0
- package/dist/features/textures/lib/tendrils.js.map +7 -0
- package/dist/features/textures/lib/wasm/cellular-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/cellular-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/cellular-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/electric.d.ts +88 -0
- package/dist/features/textures/lib/wasm/electric.js +299 -0
- package/dist/features/textures/lib/wasm/electric.js.map +7 -0
- package/dist/features/textures/lib/wasm/ink-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/ink-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/ink-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/lightning-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/lightning-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/lightning-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/marble-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/marble-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/marble-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/memory.d.ts +31 -0
- package/dist/features/textures/lib/wasm/memory.js +103 -0
- package/dist/features/textures/lib/wasm/memory.js.map +7 -0
- package/dist/features/textures/lib/wasm/paper-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/paper-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/paper-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/tendrils-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/tendrils-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/tendrils-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/water-surface-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/water-surface-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/water-surface-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/water-waves-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/water-waves-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/water-waves-bytes.js.map +7 -0
- package/dist/features/textures/lib/water-surface.d.ts +92 -0
- package/dist/features/textures/lib/water-surface.js +378 -0
- package/dist/features/textures/lib/water-surface.js.map +7 -0
- package/dist/features/textures/lib/water-waves.d.ts +60 -0
- package/dist/features/textures/lib/water-waves.js +154 -0
- package/dist/features/textures/lib/water-waves.js.map +7 -0
- package/dist/features/viz/index.d.ts +28 -0
- package/dist/features/viz/index.js +45 -0
- package/dist/features/viz/index.js.map +7 -0
- package/dist/features/viz/index.mjs +1 -0
- package/dist/features/viz/lib/anchored-layout.d.ts +104 -0
- package/dist/features/viz/lib/anchored-layout.js +166 -0
- package/dist/features/viz/lib/anchored-layout.js.map +7 -0
- package/dist/features/viz/lib/axis.d.ts +10 -0
- package/dist/features/viz/lib/axis.js +116 -0
- package/dist/features/viz/lib/axis.js.map +7 -0
- package/dist/features/viz/lib/band-scale.d.ts +3 -0
- package/dist/features/viz/lib/band-scale.js +57 -0
- package/dist/features/viz/lib/band-scale.js.map +7 -0
- package/dist/features/viz/lib/bar-fill.d.ts +16 -0
- package/dist/features/viz/lib/bar-fill.js +53 -0
- package/dist/features/viz/lib/bar-fill.js.map +7 -0
- package/dist/features/viz/lib/bar-series.d.ts +150 -0
- package/dist/features/viz/lib/bar-series.js +152 -0
- package/dist/features/viz/lib/bar-series.js.map +7 -0
- package/dist/features/viz/lib/hover-card.d.ts +92 -0
- package/dist/features/viz/lib/hover-card.js +146 -0
- package/dist/features/viz/lib/hover-card.js.map +7 -0
- package/dist/features/viz/lib/hover-data.d.ts +12 -0
- package/dist/features/viz/lib/hover-data.js +50 -0
- package/dist/features/viz/lib/hover-data.js.map +7 -0
- package/dist/features/viz/lib/hover-placement.d.ts +46 -0
- package/dist/features/viz/lib/hover-placement.js +51 -0
- package/dist/features/viz/lib/hover-placement.js.map +7 -0
- package/dist/features/viz/lib/hover-queries.d.ts +60 -0
- package/dist/features/viz/lib/hover-queries.js +185 -0
- package/dist/features/viz/lib/hover-queries.js.map +7 -0
- package/dist/features/viz/lib/hover-types.d.ts +277 -0
- package/dist/features/viz/lib/layout-pie.d.ts +13 -0
- package/dist/features/viz/lib/layout-pie.js +159 -0
- package/dist/features/viz/lib/layout-pie.js.map +7 -0
- package/dist/features/viz/lib/line-series.d.ts +11 -0
- package/dist/features/viz/lib/line-series.js +89 -0
- package/dist/features/viz/lib/line-series.js.map +7 -0
- package/dist/features/viz/lib/linear-scale.d.ts +3 -0
- package/dist/features/viz/lib/linear-scale.js +70 -0
- package/dist/features/viz/lib/linear-scale.js.map +7 -0
- package/dist/features/viz/lib/nearest.d.ts +82 -0
- package/dist/features/viz/lib/nearest.js +51 -0
- package/dist/features/viz/lib/nearest.js.map +7 -0
- package/dist/features/viz/lib/paint.d.ts +2 -0
- package/dist/features/viz/lib/paint.js +17 -0
- package/dist/features/viz/lib/paint.js.map +7 -0
- package/dist/features/viz/lib/pie-layout.d.ts +31 -0
- package/dist/features/viz/lib/pie-layout.js +324 -0
- package/dist/features/viz/lib/pie-layout.js.map +7 -0
- package/dist/features/viz/lib/pie-slices.d.ts +51 -0
- package/dist/features/viz/lib/pie-slices.js +50 -0
- package/dist/features/viz/lib/pie-slices.js.map +7 -0
- package/dist/features/viz/lib/pie-types.d.ts +215 -0
- package/dist/features/viz/lib/plot-series.d.ts +13 -0
- package/dist/features/viz/lib/plot-series.js +53 -0
- package/dist/features/viz/lib/plot-series.js.map +7 -0
- package/dist/features/viz/lib/plot-types.d.ts +63 -0
- package/dist/features/viz/lib/point-data.d.ts +5 -0
- package/dist/features/viz/lib/point-data.js +17 -0
- package/dist/features/viz/lib/point-data.js.map +7 -0
- package/dist/features/viz/lib/point-geometry.d.ts +2 -0
- package/dist/features/viz/lib/point-geometry.js +24 -0
- package/dist/features/viz/lib/point-geometry.js.map +7 -0
- package/dist/features/viz/lib/point-series.d.ts +11 -0
- package/dist/features/viz/lib/point-series.js +118 -0
- package/dist/features/viz/lib/point-series.js.map +7 -0
- package/dist/features/viz/lib/point-types.d.ts +94 -0
- package/dist/features/viz/lib/scale-adjust.d.ts +11 -0
- package/dist/features/viz/lib/scale-adjust.js +25 -0
- package/dist/features/viz/lib/scale-adjust.js.map +7 -0
- package/dist/features/viz/lib/scale-context.d.ts +8 -0
- package/dist/features/viz/lib/scale-context.js +61 -0
- package/dist/features/viz/lib/scale-context.js.map +7 -0
- package/dist/features/viz/lib/scale.d.ts +11 -0
- package/dist/features/viz/lib/scale.js +80 -0
- package/dist/features/viz/lib/scale.js.map +7 -0
- package/dist/features/viz/lib/types.d.ts +414 -0
- package/dist/features/viz/lib/use-scale.d.ts +20 -0
- package/dist/features/viz/lib/use-scale.js +10 -0
- package/dist/features/viz/lib/use-scale.js.map +7 -0
- package/dist/filters/displacement-gpu.d.ts +38 -0
- package/dist/filters/displacement-gpu.js +243 -0
- package/dist/filters/displacement-gpu.js.map +7 -0
- package/dist/filters/displacement-math.d.ts +5 -0
- package/dist/filters/displacement-math.js +22 -0
- package/dist/filters/displacement-math.js.map +7 -0
- package/dist/filters/displacement.d.ts +13 -0
- package/dist/filters/displacement.js +65 -0
- package/dist/filters/displacement.js.map +7 -0
- package/dist/filters/filter-executor.d.ts +21 -0
- package/dist/filters/filter-executor.js +120 -0
- package/dist/filters/filter-executor.js.map +7 -0
- package/dist/filters/native-canvas-filter.d.ts +4 -0
- package/dist/filters/native-canvas-filter.js +105 -0
- package/dist/filters/native-canvas-filter.js.map +7 -0
- package/dist/filters/native-color.d.ts +2 -0
- package/dist/filters/native-color.js +200 -0
- package/dist/filters/native-color.js.map +7 -0
- package/dist/filters/native-operations.d.ts +8 -0
- package/dist/filters/native-operations.js +7 -0
- package/dist/filters/native-operations.js.map +7 -0
- package/dist/filters/native.d.ts +113 -0
- package/dist/filters/native.js +115 -0
- package/dist/filters/native.js.map +7 -0
- package/dist/filters/reflected-light.d.ts +12 -0
- package/dist/filters/reflected-light.js +93 -0
- package/dist/filters/reflected-light.js.map +7 -0
- package/dist/filters/reflection-gpu.d.ts +58 -0
- package/dist/filters/reflection-gpu.js +266 -0
- package/dist/filters/reflection-gpu.js.map +7 -0
- package/dist/filters/render-displacement-boundary.d.ts +12 -0
- package/dist/filters/render-displacement-boundary.js +116 -0
- package/dist/filters/render-displacement-boundary.js.map +7 -0
- package/dist/filters/render-reflection-boundary.d.ts +15 -0
- package/dist/filters/render-reflection-boundary.js +127 -0
- package/dist/filters/render-reflection-boundary.js.map +7 -0
- package/dist/filters.d.ts +5 -0
- package/dist/filters.js +29 -0
- package/dist/filters.js.map +7 -0
- package/dist/filters.mjs +1 -0
- package/dist/index.d.ts +111 -0
- package/dist/index.js +300 -0
- package/dist/index.js.map +7 -0
- package/dist/index.mjs +1 -0
- package/dist/internal.d.ts +160 -0
- package/dist/internal.js +320 -0
- package/dist/internal.js.map +7 -0
- package/dist/internal.mjs +1 -0
- package/dist/jsx-dev-runtime.d.ts +35 -0
- package/dist/jsx-dev-runtime.js +6 -0
- package/dist/jsx-dev-runtime.js.map +7 -0
- package/dist/jsx-dev-runtime.mjs +1 -0
- package/dist/jsx-runtime.d.ts +35 -0
- package/dist/jsx-runtime.js +7 -0
- package/dist/jsx-runtime.js.map +7 -0
- package/dist/jsx-runtime.mjs +1 -0
- package/dist/lib/animation/definition.d.ts +140 -0
- package/dist/lib/animation/definition.js +605 -0
- package/dist/lib/animation/definition.js.map +7 -0
- package/dist/lib/animation/easing.d.ts +55 -0
- package/dist/lib/animation/easing.js +112 -0
- package/dist/lib/animation/easing.js.map +7 -0
- package/dist/lib/animation/evaluate.d.ts +118 -0
- package/dist/lib/animation/evaluate.js +2398 -0
- package/dist/lib/animation/evaluate.js.map +7 -0
- package/dist/lib/animation/playback.d.ts +30 -0
- package/dist/lib/animation/playback.js +932 -0
- package/dist/lib/animation/playback.js.map +7 -0
- package/dist/lib/animation/program.d.ts +145 -0
- package/dist/lib/animation/program.js +741 -0
- package/dist/lib/animation/program.js.map +7 -0
- package/dist/lib/animation/spring.d.ts +30 -0
- package/dist/lib/animation/spring.js +324 -0
- package/dist/lib/animation/spring.js.map +7 -0
- package/dist/lib/animation/types.d.ts +418 -0
- package/dist/lib/animation/writer-leases.d.ts +47 -0
- package/dist/lib/animation/writer-leases.js +314 -0
- package/dist/lib/animation/writer-leases.js.map +7 -0
- package/dist/lib/backend/canvas-2d-backend.d.ts +4 -0
- package/dist/lib/backend/canvas-2d-backend.js +97 -0
- package/dist/lib/backend/canvas-2d-backend.js.map +7 -0
- package/dist/lib/backend/types.d.ts +309 -0
- package/dist/lib/backend/types.js +26 -0
- package/dist/lib/backend/types.js.map +7 -0
- package/dist/lib/components/arc-geometry.d.ts +4 -0
- package/dist/lib/components/arc-geometry.js +46 -0
- package/dist/lib/components/arc-geometry.js.map +7 -0
- package/dist/lib/components/arc.d.ts +55 -0
- package/dist/lib/components/arc.js +91 -0
- package/dist/lib/components/arc.js.map +7 -0
- package/dist/lib/components/circle.d.ts +49 -0
- package/dist/lib/components/circle.js +46 -0
- package/dist/lib/components/circle.js.map +7 -0
- package/dist/lib/components/clip.d.ts +43 -0
- package/dist/lib/components/clip.js +24 -0
- package/dist/lib/components/clip.js.map +7 -0
- package/dist/lib/components/ellipse.d.ts +53 -0
- package/dist/lib/components/ellipse.js +59 -0
- package/dist/lib/components/ellipse.js.map +7 -0
- package/dist/lib/components/g.d.ts +56 -0
- package/dist/lib/components/g.js +24 -0
- package/dist/lib/components/g.js.map +7 -0
- package/dist/lib/components/horizontal-line.d.ts +56 -0
- package/dist/lib/components/horizontal-line.js +71 -0
- package/dist/lib/components/horizontal-line.js.map +7 -0
- package/dist/lib/components/html-box.d.ts +16 -0
- package/dist/lib/components/html-box.js +57 -0
- package/dist/lib/components/html-box.js.map +7 -0
- package/dist/lib/components/img.d.ts +24 -0
- package/dist/lib/components/img.js +150 -0
- package/dist/lib/components/img.js.map +7 -0
- package/dist/lib/components/layer-node-equality.d.ts +65 -0
- package/dist/lib/components/layer-node-equality.js +91 -0
- package/dist/lib/components/layer-node-equality.js.map +7 -0
- package/dist/lib/components/layer.d.ts +34 -0
- package/dist/lib/components/layer.js +172 -0
- package/dist/lib/components/layer.js.map +7 -0
- package/dist/lib/components/line.d.ts +51 -0
- package/dist/lib/components/line.js +76 -0
- package/dist/lib/components/line.js.map +7 -0
- package/dist/lib/components/path.d.ts +28 -0
- package/dist/lib/components/path.js +47 -0
- package/dist/lib/components/path.js.map +7 -0
- package/dist/lib/components/polygon.d.ts +45 -0
- package/dist/lib/components/polygon.js +93 -0
- package/dist/lib/components/polygon.js.map +7 -0
- package/dist/lib/components/rect.d.ts +24 -0
- package/dist/lib/components/rect.js +83 -0
- package/dist/lib/components/rect.js.map +7 -0
- package/dist/lib/components/regular-polygon.d.ts +102 -0
- package/dist/lib/components/regular-polygon.js +112 -0
- package/dist/lib/components/regular-polygon.js.map +7 -0
- package/dist/lib/components/rounded-corner-style.d.ts +7 -0
- package/dist/lib/components/rounded-corner-style.js +40 -0
- package/dist/lib/components/rounded-corner-style.js.map +7 -0
- package/dist/lib/components/shape-style.d.ts +7 -0
- package/dist/lib/components/shape-style.js +52 -0
- package/dist/lib/components/shape-style.js.map +7 -0
- package/dist/lib/components/star.d.ts +56 -0
- package/dist/lib/components/star.js +98 -0
- package/dist/lib/components/star.js.map +7 -0
- package/dist/lib/components/structural-events.d.ts +10 -0
- package/dist/lib/components/structural-events.js +8 -0
- package/dist/lib/components/structural-events.js.map +7 -0
- package/dist/lib/components/svg-path.d.ts +23 -0
- package/dist/lib/components/svg-path.js +25 -0
- package/dist/lib/components/svg-path.js.map +7 -0
- package/dist/lib/components/text-layout.d.ts +31 -0
- package/dist/lib/components/text-layout.js +139 -0
- package/dist/lib/components/text-layout.js.map +7 -0
- package/dist/lib/components/text.d.ts +29 -0
- package/dist/lib/components/text.js +174 -0
- package/dist/lib/components/text.js.map +7 -0
- package/dist/lib/components/vertical-line.d.ts +57 -0
- package/dist/lib/components/vertical-line.js +71 -0
- package/dist/lib/components/vertical-line.js.map +7 -0
- package/dist/lib/components/wedge.d.ts +55 -0
- package/dist/lib/components/wedge.js +93 -0
- package/dist/lib/components/wedge.js.map +7 -0
- package/dist/lib/define-primitive.d.ts +82 -0
- package/dist/lib/define-primitive.js +85 -0
- package/dist/lib/define-primitive.js.map +7 -0
- package/dist/lib/development.d.ts +2 -0
- package/dist/lib/development.js +5 -0
- package/dist/lib/development.js.map +7 -0
- package/dist/lib/element/children.d.ts +16 -0
- package/dist/lib/element/children.js +333 -0
- package/dist/lib/element/children.js.map +7 -0
- package/dist/lib/element/create-element.d.ts +34 -0
- package/dist/lib/element/create-element.js +75 -0
- package/dist/lib/element/create-element.js.map +7 -0
- package/dist/lib/element/fragment.d.ts +15 -0
- package/dist/lib/element/fragment.js +11 -0
- package/dist/lib/element/fragment.js.map +7 -0
- package/dist/lib/element/jsx-runtime.d.ts +48 -0
- package/dist/lib/element/jsx-runtime.js +16 -0
- package/dist/lib/element/jsx-runtime.js.map +7 -0
- package/dist/lib/element/metadata.d.ts +96 -0
- package/dist/lib/element/metadata.js +160 -0
- package/dist/lib/element/metadata.js.map +7 -0
- package/dist/lib/element/resolve-primitive-inputs.d.ts +12 -0
- package/dist/lib/element/resolve-primitive-inputs.js +83 -0
- package/dist/lib/element/resolve-primitive-inputs.js.map +7 -0
- package/dist/lib/element/types.d.ts +123 -0
- package/dist/lib/element-enhancers.d.ts +134 -0
- package/dist/lib/element-enhancers.js +193 -0
- package/dist/lib/element-enhancers.js.map +7 -0
- package/dist/lib/events/adapters/clipboard.d.ts +9 -0
- package/dist/lib/events/adapters/clipboard.js +23 -0
- package/dist/lib/events/adapters/clipboard.js.map +7 -0
- package/dist/lib/events/adapters/drag.d.ts +12 -0
- package/dist/lib/events/adapters/drag.js +29 -0
- package/dist/lib/events/adapters/drag.js.map +7 -0
- package/dist/lib/events/adapters/editing.d.ts +15 -0
- package/dist/lib/events/adapters/editing.js +41 -0
- package/dist/lib/events/adapters/editing.js.map +7 -0
- package/dist/lib/events/adapters/keyboard-focus.d.ts +12 -0
- package/dist/lib/events/adapters/keyboard-focus.js +36 -0
- package/dist/lib/events/adapters/keyboard-focus.js.map +7 -0
- package/dist/lib/events/adapters/mouse.d.ts +17 -0
- package/dist/lib/events/adapters/mouse.js +32 -0
- package/dist/lib/events/adapters/mouse.js.map +7 -0
- package/dist/lib/events/adapters/pointer.d.ts +19 -0
- package/dist/lib/events/adapters/pointer.js +40 -0
- package/dist/lib/events/adapters/pointer.js.map +7 -0
- package/dist/lib/events/adapters/touch.d.ts +16 -0
- package/dist/lib/events/adapters/touch.js +36 -0
- package/dist/lib/events/adapters/touch.js.map +7 -0
- package/dist/lib/events/adapters/wheel.d.ts +10 -0
- package/dist/lib/events/adapters/wheel.js +16 -0
- package/dist/lib/events/adapters/wheel.js.map +7 -0
- package/dist/lib/events/boundary-transitions.d.ts +9 -0
- package/dist/lib/events/boundary-transitions.js +16 -0
- package/dist/lib/events/boundary-transitions.js.map +7 -0
- package/dist/lib/events/dispatch.d.ts +21 -0
- package/dist/lib/events/dispatch.js +1078 -0
- package/dist/lib/events/dispatch.js.map +7 -0
- package/dist/lib/events/event-definitions.d.ts +23 -0
- package/dist/lib/events/event-definitions.js +74 -0
- package/dist/lib/events/event-definitions.js.map +7 -0
- package/dist/lib/events/event-facade.d.ts +19 -0
- package/dist/lib/events/event-facade.js +188 -0
- package/dist/lib/events/event-facade.js.map +7 -0
- package/dist/lib/events/event-path.d.ts +3 -0
- package/dist/lib/events/event-path.js +43 -0
- package/dist/lib/events/event-path.js.map +7 -0
- package/dist/lib/events/hit-test.d.ts +13 -0
- package/dist/lib/events/hit-test.js +135 -0
- package/dist/lib/events/hit-test.js.map +7 -0
- package/dist/lib/events/native-listener-hub.d.ts +10 -0
- package/dist/lib/events/native-listener-hub.js +72 -0
- package/dist/lib/events/native-listener-hub.js.map +7 -0
- package/dist/lib/events/paint-entry.d.ts +66 -0
- package/dist/lib/events/paint-entry.js +30 -0
- package/dist/lib/events/paint-entry.js.map +7 -0
- package/dist/lib/events/pointer-capture.d.ts +23 -0
- package/dist/lib/events/pointer-capture.js +339 -0
- package/dist/lib/events/pointer-capture.js.map +7 -0
- package/dist/lib/events/propagation.d.ts +7 -0
- package/dist/lib/events/propagation.js +56 -0
- package/dist/lib/events/propagation.js.map +7 -0
- package/dist/lib/events/registrations.d.ts +120 -0
- package/dist/lib/events/registrations.js +397 -0
- package/dist/lib/events/registrations.js.map +7 -0
- package/dist/lib/events/resolver-input.d.ts +25 -0
- package/dist/lib/events/resolver-input.js +62 -0
- package/dist/lib/events/resolver-input.js.map +7 -0
- package/dist/lib/events/types.d.ts +596 -0
- package/dist/lib/execute-render.d.ts +9 -0
- package/dist/lib/execute-render.js +195 -0
- package/dist/lib/execute-render.js.map +7 -0
- package/dist/lib/filter/canvas-state.d.ts +2 -0
- package/dist/lib/filter/canvas-state.js +31 -0
- package/dist/lib/filter/canvas-state.js.map +7 -0
- package/dist/lib/filter/filter-region.d.ts +33 -0
- package/dist/lib/filter/filter-region.js +291 -0
- package/dist/lib/filter/filter-region.js.map +7 -0
- package/dist/lib/filter/filter-surface-pool.d.ts +38 -0
- package/dist/lib/filter/filter-surface-pool.js +252 -0
- package/dist/lib/filter/filter-surface-pool.js.map +7 -0
- package/dist/lib/filter/render-filter-boundary.d.ts +14 -0
- package/dist/lib/filter/render-filter-boundary.js +211 -0
- package/dist/lib/filter/render-filter-boundary.js.map +7 -0
- package/dist/lib/focus/directional-navigation.d.ts +12 -0
- package/dist/lib/focus/directional-navigation.js +86 -0
- package/dist/lib/focus/directional-navigation.js.map +7 -0
- package/dist/lib/focus/dom-focus-host.d.ts +13 -0
- package/dist/lib/focus/dom-focus-host.js +352 -0
- package/dist/lib/focus/dom-focus-host.js.map +7 -0
- package/dist/lib/focus/dom-tab-stops.d.ts +3 -0
- package/dist/lib/focus/dom-tab-stops.js +71 -0
- package/dist/lib/focus/dom-tab-stops.js.map +7 -0
- package/dist/lib/focus/focus-events.d.ts +4 -0
- package/dist/lib/focus/focus-events.js +78 -0
- package/dist/lib/focus/focus-events.js.map +7 -0
- package/dist/lib/focus/focus-manager.d.ts +121 -0
- package/dist/lib/focus/focus-manager.js +1131 -0
- package/dist/lib/focus/focus-manager.js.map +7 -0
- package/dist/lib/focus/geometry.d.ts +4 -0
- package/dist/lib/focus/geometry.js +64 -0
- package/dist/lib/focus/geometry.js.map +7 -0
- package/dist/lib/focus/html-focus-region.d.ts +27 -0
- package/dist/lib/focus/keyboard-defaults.d.ts +7 -0
- package/dist/lib/focus/keyboard-defaults.js +110 -0
- package/dist/lib/focus/keyboard-defaults.js.map +7 -0
- package/dist/lib/focus/policy-components.d.ts +45 -0
- package/dist/lib/focus/policy-components.js +94 -0
- package/dist/lib/focus/policy-components.js.map +7 -0
- package/dist/lib/focus/types.d.ts +37 -0
- package/dist/lib/focus/types.js +7 -0
- package/dist/lib/focus/types.js.map +7 -0
- package/dist/lib/geometry/circle.d.ts +22 -0
- package/dist/lib/geometry/circle.js +13 -0
- package/dist/lib/geometry/circle.js.map +7 -0
- package/dist/lib/geometry/circular-sweep.d.ts +54 -0
- package/dist/lib/geometry/circular-sweep.js +95 -0
- package/dist/lib/geometry/circular-sweep.js.map +7 -0
- package/dist/lib/geometry/ellipse.d.ts +26 -0
- package/dist/lib/geometry/ellipse.js +17 -0
- package/dist/lib/geometry/ellipse.js.map +7 -0
- package/dist/lib/geometry/line.d.ts +20 -0
- package/dist/lib/geometry/line.js +15 -0
- package/dist/lib/geometry/line.js.map +7 -0
- package/dist/lib/geometry/path-arc.d.ts +25 -0
- package/dist/lib/geometry/path-arc.js +57 -0
- package/dist/lib/geometry/path-arc.js.map +7 -0
- package/dist/lib/geometry/path-bend-guide.d.ts +31 -0
- package/dist/lib/geometry/path-bend-guide.js +282 -0
- package/dist/lib/geometry/path-bend-guide.js.map +7 -0
- package/dist/lib/geometry/path-bend-spans.d.ts +31 -0
- package/dist/lib/geometry/path-bend-spans.js +109 -0
- package/dist/lib/geometry/path-bend-spans.js.map +7 -0
- package/dist/lib/geometry/path-bending.d.ts +90 -0
- package/dist/lib/geometry/path-bending.js +202 -0
- package/dist/lib/geometry/path-bending.js.map +7 -0
- package/dist/lib/geometry/path-conversion.d.ts +19 -0
- package/dist/lib/geometry/path-conversion.js +114 -0
- package/dist/lib/geometry/path-conversion.js.map +7 -0
- package/dist/lib/geometry/path-geometry.d.ts +218 -0
- package/dist/lib/geometry/path-geometry.js +557 -0
- package/dist/lib/geometry/path-geometry.js.map +7 -0
- package/dist/lib/geometry/path-radial.d.ts +15 -0
- package/dist/lib/geometry/path-radial.js +107 -0
- package/dist/lib/geometry/path-radial.js.map +7 -0
- package/dist/lib/geometry/path-transforms.d.ts +233 -0
- package/dist/lib/geometry/path-transforms.js +478 -0
- package/dist/lib/geometry/path-transforms.js.map +7 -0
- package/dist/lib/geometry/path-utilities.d.ts +78 -0
- package/dist/lib/geometry/path-utilities.js +341 -0
- package/dist/lib/geometry/path-utilities.js.map +7 -0
- package/dist/lib/geometry/path-wang.d.ts +18 -0
- package/dist/lib/geometry/path-wang.js +136 -0
- package/dist/lib/geometry/path-wang.js.map +7 -0
- package/dist/lib/geometry/path-warp-bezier.d.ts +17 -0
- package/dist/lib/geometry/path-warp-bezier.js +109 -0
- package/dist/lib/geometry/path-warp-bezier.js.map +7 -0
- package/dist/lib/geometry/path-warp.d.ts +27 -0
- package/dist/lib/geometry/path-warp.js +165 -0
- package/dist/lib/geometry/path-warp.js.map +7 -0
- package/dist/lib/geometry/polygon.d.ts +21 -0
- package/dist/lib/geometry/polygon.js +12 -0
- package/dist/lib/geometry/polygon.js.map +7 -0
- package/dist/lib/geometry/rectangle.d.ts +38 -0
- package/dist/lib/geometry/rectangle.js +22 -0
- package/dist/lib/geometry/rectangle.js.map +7 -0
- package/dist/lib/geometry/regular-polygon.d.ts +88 -0
- package/dist/lib/geometry/regular-polygon.js +67 -0
- package/dist/lib/geometry/regular-polygon.js.map +7 -0
- package/dist/lib/geometry/resolve-path.d.ts +4 -0
- package/dist/lib/geometry/resolve-path.js +16 -0
- package/dist/lib/geometry/resolve-path.js.map +7 -0
- package/dist/lib/geometry/rounded-corners.d.ts +28 -0
- package/dist/lib/geometry/rounded-corners.js +118 -0
- package/dist/lib/geometry/rounded-corners.js.map +7 -0
- package/dist/lib/geometry/star.d.ts +39 -0
- package/dist/lib/geometry/star.js +90 -0
- package/dist/lib/geometry/star.js.map +7 -0
- package/dist/lib/geometry/svg-path.d.ts +21 -0
- package/dist/lib/geometry/svg-path.js +7 -0
- package/dist/lib/geometry/svg-path.js.map +7 -0
- package/dist/lib/geometry/transform-bend.d.ts +46 -0
- package/dist/lib/geometry/transform-bend.js +219 -0
- package/dist/lib/geometry/transform-bend.js.map +7 -0
- package/dist/lib/geometry/transform-guide.d.ts +57 -0
- package/dist/lib/geometry/transform-guide.js +157 -0
- package/dist/lib/geometry/transform-guide.js.map +7 -0
- package/dist/lib/geometry/transform-math.d.ts +21 -0
- package/dist/lib/geometry/transform-math.js +91 -0
- package/dist/lib/geometry/transform-math.js.map +7 -0
- package/dist/lib/geometry/transform-mesh.d.ts +39 -0
- package/dist/lib/geometry/transform-mesh.js +129 -0
- package/dist/lib/geometry/transform-mesh.js.map +7 -0
- package/dist/lib/geometry/validation.d.ts +6 -0
- package/dist/lib/geometry/validation.js +42 -0
- package/dist/lib/geometry/validation.js.map +7 -0
- package/dist/lib/global-state.d.ts +63 -0
- package/dist/lib/global-state.js +176 -0
- package/dist/lib/global-state.js.map +7 -0
- package/dist/lib/hooks/hook-slot.d.ts +30 -0
- package/dist/lib/hooks/hook-slot.js +66 -0
- package/dist/lib/hooks/hook-slot.js.map +7 -0
- package/dist/lib/hooks/use-animated-value.d.ts +24 -0
- package/dist/lib/hooks/use-animated-value.js +169 -0
- package/dist/lib/hooks/use-animated-value.js.map +7 -0
- package/dist/lib/hooks/use-canvas-context.d.ts +10 -0
- package/dist/lib/hooks/use-canvas-context.js +13 -0
- package/dist/lib/hooks/use-canvas-context.js.map +7 -0
- package/dist/lib/hooks/use-computed.d.ts +13 -0
- package/dist/lib/hooks/use-computed.js +91 -0
- package/dist/lib/hooks/use-computed.js.map +7 -0
- package/dist/lib/hooks/use-const.d.ts +10 -0
- package/dist/lib/hooks/use-const.js +15 -0
- package/dist/lib/hooks/use-const.js.map +7 -0
- package/dist/lib/hooks/use-cursor.d.ts +16 -0
- package/dist/lib/hooks/use-cursor.js +51 -0
- package/dist/lib/hooks/use-cursor.js.map +7 -0
- package/dist/lib/hooks/use-event-listener.d.ts +10 -0
- package/dist/lib/hooks/use-event-listener.js +24 -0
- package/dist/lib/hooks/use-event-listener.js.map +7 -0
- package/dist/lib/hooks/use-event-target.d.ts +14 -0
- package/dist/lib/hooks/use-event-target.js +30 -0
- package/dist/lib/hooks/use-event-target.js.map +7 -0
- package/dist/lib/hooks/use-layout-box.d.ts +9 -0
- package/dist/lib/hooks/use-layout-box.js +8 -0
- package/dist/lib/hooks/use-layout-box.js.map +7 -0
- package/dist/lib/hooks/use-line-path.d.ts +14 -0
- package/dist/lib/hooks/use-line-path.js +13 -0
- package/dist/lib/hooks/use-line-path.js.map +7 -0
- package/dist/lib/hooks/use-paint-target.d.ts +3 -0
- package/dist/lib/hooks/use-paint-target.js +34 -0
- package/dist/lib/hooks/use-paint-target.js.map +7 -0
- package/dist/lib/hooks/use-playback.d.ts +21 -0
- package/dist/lib/hooks/use-playback.js +87 -0
- package/dist/lib/hooks/use-playback.js.map +7 -0
- package/dist/lib/hooks/use-reaction.d.ts +19 -0
- package/dist/lib/hooks/use-reaction.js +245 -0
- package/dist/lib/hooks/use-reaction.js.map +7 -0
- package/dist/lib/hooks/use-rect-path.d.ts +20 -0
- package/dist/lib/hooks/use-rect-path.js +25 -0
- package/dist/lib/hooks/use-rect-path.js.map +7 -0
- package/dist/lib/hooks/use-ref.d.ts +17 -0
- package/dist/lib/hooks/use-ref.js +8 -0
- package/dist/lib/hooks/use-ref.js.map +7 -0
- package/dist/lib/hooks/use-region.d.ts +11 -0
- package/dist/lib/hooks/use-region.js +34 -0
- package/dist/lib/hooks/use-region.js.map +7 -0
- package/dist/lib/hooks/use-signal.d.ts +12 -0
- package/dist/lib/hooks/use-signal.js +12 -0
- package/dist/lib/hooks/use-signal.js.map +7 -0
- package/dist/lib/hooks/use-svg-path.d.ts +11 -0
- package/dist/lib/hooks/use-svg-path.js +13 -0
- package/dist/lib/hooks/use-svg-path.js.map +7 -0
- package/dist/lib/hooks/use-value-memo-slot.d.ts +12 -0
- package/dist/lib/hooks/use-value-memo-slot.js +45 -0
- package/dist/lib/hooks/use-value-memo-slot.js.map +7 -0
- package/dist/lib/hooks/use-visibility-transition.d.ts +103 -0
- package/dist/lib/hooks/use-visibility-transition.js +195 -0
- package/dist/lib/hooks/use-visibility-transition.js.map +7 -0
- package/dist/lib/html/html-service.d.ts +30 -0
- package/dist/lib/html/html-service.js +281 -0
- package/dist/lib/html/html-service.js.map +7 -0
- package/dist/lib/html/overlay-config.d.ts +3 -0
- package/dist/lib/html/overlay-config.js +37 -0
- package/dist/lib/html/overlay-config.js.map +7 -0
- package/dist/lib/html/portable-clips.d.ts +4 -0
- package/dist/lib/html/portable-clips.js +20 -0
- package/dist/lib/html/portable-clips.js.map +7 -0
- package/dist/lib/html/types.d.ts +110 -0
- package/dist/lib/layout/absolute.d.ts +57 -0
- package/dist/lib/layout/absolute.js +348 -0
- package/dist/lib/layout/absolute.js.map +7 -0
- package/dist/lib/layout/box.d.ts +19 -0
- package/dist/lib/layout/box.js +209 -0
- package/dist/lib/layout/box.js.map +7 -0
- package/dist/lib/layout/context.d.ts +13 -0
- package/dist/lib/layout/context.js +42 -0
- package/dist/lib/layout/context.js.map +7 -0
- package/dist/lib/layout/diagnostics.d.ts +15 -0
- package/dist/lib/layout/diagnostics.js +30 -0
- package/dist/lib/layout/diagnostics.js.map +7 -0
- package/dist/lib/layout/flex.d.ts +64 -0
- package/dist/lib/layout/flex.js +803 -0
- package/dist/lib/layout/flex.js.map +7 -0
- package/dist/lib/layout/flow.d.ts +53 -0
- package/dist/lib/layout/flow.js +400 -0
- package/dist/lib/layout/flow.js.map +7 -0
- package/dist/lib/layout/grid.d.ts +64 -0
- package/dist/lib/layout/grid.js +597 -0
- package/dist/lib/layout/grid.js.map +7 -0
- package/dist/lib/layout/measure.d.ts +19 -0
- package/dist/lib/layout/measure.js +144 -0
- package/dist/lib/layout/measure.js.map +7 -0
- package/dist/lib/layout/overlay.d.ts +42 -0
- package/dist/lib/layout/overlay.js +151 -0
- package/dist/lib/layout/overlay.js.map +7 -0
- package/dist/lib/layout/place-child.d.ts +12 -0
- package/dist/lib/layout/place-child.js +72 -0
- package/dist/lib/layout/place-child.js.map +7 -0
- package/dist/lib/layout/positioning-diagnostics.d.ts +3 -0
- package/dist/lib/layout/positioning-diagnostics.js +15 -0
- package/dist/lib/layout/positioning-diagnostics.js.map +7 -0
- package/dist/lib/layout/types.d.ts +78 -0
- package/dist/lib/manipulation/controller-types.d.ts +299 -0
- package/dist/lib/manipulation/controller.d.ts +57 -0
- package/dist/lib/manipulation/controller.js +464 -0
- package/dist/lib/manipulation/controller.js.map +7 -0
- package/dist/lib/manipulation/coordinates.d.ts +9 -0
- package/dist/lib/manipulation/coordinates.js +55 -0
- package/dist/lib/manipulation/coordinates.js.map +7 -0
- package/dist/lib/manipulation/degrees.d.ts +10 -0
- package/dist/lib/manipulation/degrees.js +9 -0
- package/dist/lib/manipulation/degrees.js.map +7 -0
- package/dist/lib/manipulation/frame.d.ts +24 -0
- package/dist/lib/manipulation/frame.js +101 -0
- package/dist/lib/manipulation/frame.js.map +7 -0
- package/dist/lib/manipulation/geometry.d.ts +4 -0
- package/dist/lib/manipulation/geometry.js +26 -0
- package/dist/lib/manipulation/geometry.js.map +7 -0
- package/dist/lib/manipulation/handles.d.ts +298 -0
- package/dist/lib/manipulation/handles.js +598 -0
- package/dist/lib/manipulation/handles.js.map +7 -0
- package/dist/lib/manipulation/manipulable.d.ts +65 -0
- package/dist/lib/manipulation/manipulable.js +47 -0
- package/dist/lib/manipulation/manipulable.js.map +7 -0
- package/dist/lib/manipulation/ownership.d.ts +15 -0
- package/dist/lib/manipulation/ownership.js +80 -0
- package/dist/lib/manipulation/ownership.js.map +7 -0
- package/dist/lib/manipulation/snap.d.ts +6 -0
- package/dist/lib/manipulation/snap.js +40 -0
- package/dist/lib/manipulation/snap.js.map +7 -0
- package/dist/lib/manipulation/solve.d.ts +2 -0
- package/dist/lib/manipulation/solve.js +563 -0
- package/dist/lib/manipulation/solve.js.map +7 -0
- package/dist/lib/manipulation/types.d.ts +178 -0
- package/dist/lib/mount-pibbl.d.ts +25 -0
- package/dist/lib/mount-pibbl.js +278 -0
- package/dist/lib/mount-pibbl.js.map +7 -0
- package/dist/lib/optional-services.d.ts +8 -0
- package/dist/lib/optional-services.js +11 -0
- package/dist/lib/optional-services.js.map +7 -0
- package/dist/lib/pibbl.d.ts +17 -0
- package/dist/lib/pibbl.js +21 -0
- package/dist/lib/pibbl.js.map +7 -0
- package/dist/lib/primitive-presentation.d.ts +24 -0
- package/dist/lib/primitive-presentation.js +102 -0
- package/dist/lib/primitive-presentation.js.map +7 -0
- package/dist/lib/render-layer/controller.d.ts +67 -0
- package/dist/lib/render-layer/controller.js +603 -0
- package/dist/lib/render-layer/controller.js.map +7 -0
- package/dist/lib/render-layer/define-render-layer.d.ts +17 -0
- package/dist/lib/render-layer/define-render-layer.js +90 -0
- package/dist/lib/render-layer/define-render-layer.js.map +7 -0
- package/dist/lib/render-layer/types.d.ts +315 -0
- package/dist/lib/render-target.d.ts +27 -0
- package/dist/lib/render-target.js +118 -0
- package/dist/lib/render-target.js.map +7 -0
- package/dist/lib/render-transaction.d.ts +10 -0
- package/dist/lib/render-transaction.js +46 -0
- package/dist/lib/render-transaction.js.map +7 -0
- package/dist/lib/render.d.ts +3 -0
- package/dist/lib/render.js +385 -0
- package/dist/lib/render.js.map +7 -0
- package/dist/lib/scheduler/realm-scheduler.d.ts +52 -0
- package/dist/lib/scheduler/realm-scheduler.js +964 -0
- package/dist/lib/scheduler/realm-scheduler.js.map +7 -0
- package/dist/lib/scheduler/renderer-participant.d.ts +257 -0
- package/dist/lib/scheduler/renderer-participant.js +216 -0
- package/dist/lib/scheduler/renderer-participant.js.map +7 -0
- package/dist/lib/scheduler/simulation-participant.d.ts +103 -0
- package/dist/lib/scheduler/simulation-participant.js +229 -0
- package/dist/lib/scheduler/simulation-participant.js.map +7 -0
- package/dist/lib/scheduler/testing.d.ts +56 -0
- package/dist/lib/scheduler/testing.js +71 -0
- package/dist/lib/scheduler/testing.js.map +7 -0
- package/dist/lib/scheduler/types.d.ts +103 -0
- package/dist/lib/signals/edge.d.ts +44 -0
- package/dist/lib/signals/edge.js +245 -0
- package/dist/lib/signals/edge.js.map +7 -0
- package/dist/lib/signals/graph.d.ts +220 -0
- package/dist/lib/signals/graph.js +1035 -0
- package/dist/lib/signals/graph.js.map +7 -0
- package/dist/lib/signals/input-provision.d.ts +3 -0
- package/dist/lib/signals/input-provision.js +67 -0
- package/dist/lib/signals/input-provision.js.map +7 -0
- package/dist/lib/signals/render-consumer.d.ts +21 -0
- package/dist/lib/signals/render-consumer.js +218 -0
- package/dist/lib/signals/render-consumer.js.map +7 -0
- package/dist/lib/signals/resolve-signal-value.d.ts +10 -0
- package/dist/lib/signals/resolve-signal-value.js +17 -0
- package/dist/lib/signals/resolve-signal-value.js.map +7 -0
- package/dist/lib/signals/types.d.ts +80 -0
- package/dist/lib/style/diagnostics.d.ts +83 -0
- package/dist/lib/style/diagnostics.js +63 -0
- package/dist/lib/style/diagnostics.js.map +7 -0
- package/dist/lib/style/empty-style.d.ts +3 -0
- package/dist/lib/style/empty-style.js +5 -0
- package/dist/lib/style/empty-style.js.map +7 -0
- package/dist/lib/style/filter-types.d.ts +243 -0
- package/dist/lib/style/filter-types.js +5 -0
- package/dist/lib/style/filter-types.js.map +7 -0
- package/dist/lib/style/filter.d.ts +7 -0
- package/dist/lib/style/filter.js +50 -0
- package/dist/lib/style/filter.js.map +7 -0
- package/dist/lib/style/normalize.d.ts +18 -0
- package/dist/lib/style/normalize.js +50 -0
- package/dist/lib/style/normalize.js.map +7 -0
- package/dist/lib/style/positioning.d.ts +32 -0
- package/dist/lib/style/positioning.js +81 -0
- package/dist/lib/style/positioning.js.map +7 -0
- package/dist/lib/style/resolve-built-in.d.ts +6 -0
- package/dist/lib/style/resolve-built-in.js +58 -0
- package/dist/lib/style/resolve-built-in.js.map +7 -0
- package/dist/lib/style/resolve-dispatch.d.ts +20 -0
- package/dist/lib/style/resolve-dispatch.js +167 -0
- package/dist/lib/style/resolve-dispatch.js.map +7 -0
- package/dist/lib/style/resolve-length.d.ts +16 -0
- package/dist/lib/style/resolve-length.js +54 -0
- package/dist/lib/style/resolve-length.js.map +7 -0
- package/dist/lib/style/responsive.d.ts +31 -0
- package/dist/lib/style/responsive.js +172 -0
- package/dist/lib/style/responsive.js.map +7 -0
- package/dist/lib/style/types.d.ts +338 -0
- package/dist/lib/surface/resolve-surface.d.ts +4 -0
- package/dist/lib/surface/resolve-surface.js +184 -0
- package/dist/lib/surface/resolve-surface.js.map +7 -0
- package/dist/lib/surface/root-surface.d.ts +7 -0
- package/dist/lib/surface/root-surface.js +171 -0
- package/dist/lib/surface/root-surface.js.map +7 -0
- package/dist/lib/surface/transform.d.ts +4 -0
- package/dist/lib/surface/transform.js +16 -0
- package/dist/lib/surface/transform.js.map +7 -0
- package/dist/lib/surface/types.d.ts +132 -0
- package/dist/lib/teardowns.d.ts +14 -0
- package/dist/lib/teardowns.js +50 -0
- package/dist/lib/teardowns.js.map +7 -0
- package/dist/lib/textures/texture-protocol.d.ts +124 -0
- package/dist/lib/textures/texture-protocol.js +40 -0
- package/dist/lib/textures/texture-protocol.js.map +7 -0
- package/dist/lib/textures/texture.d.ts +170 -0
- package/dist/lib/textures/texture.js +385 -0
- package/dist/lib/textures/texture.js.map +7 -0
- package/dist/lib/transitions/bifrost.d.ts +47 -0
- package/dist/lib/transitions/bifrost.js +91 -0
- package/dist/lib/transitions/bifrost.js.map +7 -0
- package/dist/lib/transitions/binding.d.ts +14 -0
- package/dist/lib/transitions/binding.js +35 -0
- package/dist/lib/transitions/binding.js.map +7 -0
- package/dist/lib/transitions/capture.d.ts +21 -0
- package/dist/lib/transitions/capture.js +91 -0
- package/dist/lib/transitions/capture.js.map +7 -0
- package/dist/lib/transitions/common.d.ts +130 -0
- package/dist/lib/transitions/common.js +57 -0
- package/dist/lib/transitions/common.js.map +7 -0
- package/dist/lib/transitions/define-transition.d.ts +64 -0
- package/dist/lib/transitions/define-transition.js +31 -0
- package/dist/lib/transitions/define-transition.js.map +7 -0
- package/dist/lib/transitions/embers-physics.d.ts +114 -0
- package/dist/lib/transitions/embers-physics.js +161 -0
- package/dist/lib/transitions/embers-physics.js.map +7 -0
- package/dist/lib/transitions/embers.d.ts +67 -0
- package/dist/lib/transitions/embers.js +196 -0
- package/dist/lib/transitions/embers.js.map +7 -0
- package/dist/lib/transitions/fade.d.ts +41 -0
- package/dist/lib/transitions/fade.js +31 -0
- package/dist/lib/transitions/fade.js.map +7 -0
- package/dist/lib/transitions/hologram.d.ts +47 -0
- package/dist/lib/transitions/hologram.js +94 -0
- package/dist/lib/transitions/hologram.js.map +7 -0
- package/dist/lib/transitions/wasm/bifrost-bytes.d.ts +1 -0
- package/dist/lib/transitions/wasm/bifrost-bytes.js +5 -0
- package/dist/lib/transitions/wasm/bifrost-bytes.js.map +7 -0
- package/dist/lib/transitions/wasm/bifrost-kernel.d.ts +1 -0
- package/dist/lib/transitions/wasm/bifrost-kernel.js +27 -0
- package/dist/lib/transitions/wasm/bifrost-kernel.js.map +7 -0
- package/dist/lib/transitions/wasm/embers-bytes.d.ts +1 -0
- package/dist/lib/transitions/wasm/embers-bytes.js +5 -0
- package/dist/lib/transitions/wasm/embers-bytes.js.map +7 -0
- package/dist/lib/transitions/wasm/hologram-bytes.d.ts +1 -0
- package/dist/lib/transitions/wasm/hologram-bytes.js +5 -0
- package/dist/lib/transitions/wasm/hologram-bytes.js.map +7 -0
- package/dist/lib/transitions/wasm/kernel.d.ts +7 -0
- package/dist/lib/transitions/wasm/kernel.js +26 -0
- package/dist/lib/transitions/wasm/kernel.js.map +7 -0
- package/dist/lib/types.d.ts +570 -0
- package/dist/lib/update.d.ts +8 -0
- package/dist/lib/update.js +20 -0
- package/dist/lib/update.js.map +7 -0
- package/dist/lib/util/get-2d-context.d.ts +2 -0
- package/dist/lib/util/get-2d-context.js +11 -0
- package/dist/lib/util/get-2d-context.js.map +7 -0
- package/dist/lib/util/get-mouse-coordinates.d.ts +2 -0
- package/dist/lib/util/get-mouse-coordinates.js +32 -0
- package/dist/lib/util/get-mouse-coordinates.js.map +7 -0
- package/dist/lib/util/is-hit.d.ts +11 -0
- package/dist/lib/util/is-hit.js +52 -0
- package/dist/lib/util/is-hit.js.map +7 -0
- package/dist/lib/util/is-transparent.d.ts +1 -0
- package/dist/lib/util/is-transparent.js +8 -0
- package/dist/lib/util/is-transparent.js.map +7 -0
- package/dist/lib/util/pixel-grid-adjustments.d.ts +8 -0
- package/dist/lib/util/pixel-grid-adjustments.js +28 -0
- package/dist/lib/util/pixel-grid-adjustments.js.map +7 -0
- package/dist/lib/util/push-clipping-path.d.ts +6 -0
- package/dist/lib/util/push-clipping-path.js +28 -0
- package/dist/lib/util/push-clipping-path.js.map +7 -0
- package/dist/lib/util/wire-common-events.d.ts +2 -0
- package/dist/lib/util/wire-common-events.js +15 -0
- package/dist/lib/util/wire-common-events.js.map +7 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +7 -0
- package/dist/types.mjs +1 -0
- package/package.json +149 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { SignalCommitBatch } from '../signals/graph.js';
|
|
2
|
+
export type PibblFramePhase = 'idle' | 'begin' | 'advance' | 'commit' | 'plan' | 'render' | 'complete';
|
|
3
|
+
export interface PibblFrameSnapshot {
|
|
4
|
+
readonly frameId: number;
|
|
5
|
+
readonly hostTime: number;
|
|
6
|
+
readonly logicalTime: number;
|
|
7
|
+
}
|
|
8
|
+
export type PibblAdvanceLane = 'animation' | 'physics';
|
|
9
|
+
export type PibblAdvanceParticipant = (snapshot: PibblFrameSnapshot, batch: SignalCommitBatch) => void;
|
|
10
|
+
export type PibblBeginCommand = (snapshot: PibblFrameSnapshot, batch: SignalCommitBatch, sequence: number) => void;
|
|
11
|
+
export interface PibblBeginCommandHandle {
|
|
12
|
+
readonly sequence: number;
|
|
13
|
+
cancel(): void;
|
|
14
|
+
}
|
|
15
|
+
export type PibblFrameCompletion = (snapshot: PibblFrameSnapshot) => void;
|
|
16
|
+
export interface PibblCommitOutcome {
|
|
17
|
+
readonly applied: boolean;
|
|
18
|
+
}
|
|
19
|
+
export type PibblFrameCommitAcknowledgement = (snapshot: PibblFrameSnapshot, outcome: PibblCommitOutcome) => void;
|
|
20
|
+
export type PibblSchedulerTraceRecord = {
|
|
21
|
+
readonly kind: 'scheduler-phase';
|
|
22
|
+
readonly collectedErrors: number;
|
|
23
|
+
/** Known from Plan onward; true includes empty/equality-suppressed batches. */
|
|
24
|
+
readonly commitApplied?: boolean;
|
|
25
|
+
/** Only present on idle: entries collected for subsequent error delivery. */
|
|
26
|
+
readonly errorCount?: number;
|
|
27
|
+
readonly phase: PibblFramePhase;
|
|
28
|
+
readonly frameId: number;
|
|
29
|
+
readonly hostTime: number;
|
|
30
|
+
readonly logicalTime: number;
|
|
31
|
+
} | {
|
|
32
|
+
readonly kind: 'animation-command';
|
|
33
|
+
readonly frameId: number;
|
|
34
|
+
readonly logicalTime: number;
|
|
35
|
+
readonly sequence: number;
|
|
36
|
+
readonly command: string;
|
|
37
|
+
readonly debugName: string | undefined;
|
|
38
|
+
} | {
|
|
39
|
+
readonly kind: 'animation-sample';
|
|
40
|
+
readonly frameId: number;
|
|
41
|
+
readonly logicalTime: number;
|
|
42
|
+
readonly registrationOrder: number;
|
|
43
|
+
readonly debugName: string | undefined;
|
|
44
|
+
readonly localTime: number;
|
|
45
|
+
readonly direction: 'forward' | 'reverse';
|
|
46
|
+
} | {
|
|
47
|
+
readonly kind: 'animation-write';
|
|
48
|
+
readonly frameId: number;
|
|
49
|
+
readonly logicalTime: number;
|
|
50
|
+
readonly debugName: string | undefined;
|
|
51
|
+
readonly target: string;
|
|
52
|
+
readonly outcome: 'staged' | 'equality-suppressed';
|
|
53
|
+
} | {
|
|
54
|
+
readonly kind: 'animation-milestone';
|
|
55
|
+
readonly frameId: number;
|
|
56
|
+
readonly logicalTime: number;
|
|
57
|
+
readonly debugName: string | undefined;
|
|
58
|
+
readonly event: string;
|
|
59
|
+
readonly programPath: readonly number[];
|
|
60
|
+
readonly iteration: number;
|
|
61
|
+
} | {
|
|
62
|
+
readonly kind: 'animation-stepper';
|
|
63
|
+
readonly frameId: number;
|
|
64
|
+
readonly logicalTime: number;
|
|
65
|
+
readonly debugName: string | undefined;
|
|
66
|
+
readonly programPath: readonly number[];
|
|
67
|
+
readonly repeatIterations: readonly number[];
|
|
68
|
+
readonly appliedSteps: number;
|
|
69
|
+
readonly retainedRemainderMilliseconds: number;
|
|
70
|
+
readonly clampedElapsedMilliseconds: number;
|
|
71
|
+
readonly discardedElapsedMilliseconds: number;
|
|
72
|
+
} | {
|
|
73
|
+
readonly kind: 'animation-error';
|
|
74
|
+
readonly frameId: number;
|
|
75
|
+
readonly logicalTime: number;
|
|
76
|
+
readonly debugName: string | undefined;
|
|
77
|
+
readonly error: unknown;
|
|
78
|
+
};
|
|
79
|
+
export type PibblSchedulerTraceCollector = (record: PibblSchedulerTraceRecord) => void;
|
|
80
|
+
export interface SchedulerDriver {
|
|
81
|
+
requestFrame(callback: FrameRequestCallback): number;
|
|
82
|
+
cancelFrame(frameId: number): void;
|
|
83
|
+
}
|
|
84
|
+
export interface RealmSchedulerSnapshot {
|
|
85
|
+
readonly phase: PibblFramePhase;
|
|
86
|
+
readonly pendingHostFrames: number;
|
|
87
|
+
readonly registeredRoots: number;
|
|
88
|
+
readonly advanceParticipants: number;
|
|
89
|
+
readonly completionCallbacks: number;
|
|
90
|
+
readonly createdRootRegistrations: number;
|
|
91
|
+
readonly releasedRootRegistrations: number;
|
|
92
|
+
readonly createdBeginCommands: number;
|
|
93
|
+
readonly releasedBeginCommands: number;
|
|
94
|
+
readonly createdCompletionCallbacks: number;
|
|
95
|
+
readonly releasedCompletionCallbacks: number;
|
|
96
|
+
readonly dirtyInstances: number;
|
|
97
|
+
readonly dirtyRoots: number;
|
|
98
|
+
readonly registeredAdvanceParticipants: number;
|
|
99
|
+
readonly queuedFrameCompletions: number;
|
|
100
|
+
readonly queuedReactionCompletions: number;
|
|
101
|
+
readonly queuedBeginCommands: number;
|
|
102
|
+
readonly currentFrame: PibblFrameSnapshot | undefined;
|
|
103
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { SignalNode } from './graph.js';
|
|
2
|
+
export interface ReactiveEdge {
|
|
3
|
+
source: SignalNode<unknown> | undefined;
|
|
4
|
+
consumer: SignalDependencyConsumer;
|
|
5
|
+
sourcePrevious: ReactiveEdge | undefined;
|
|
6
|
+
sourceNext: ReactiveEdge | undefined;
|
|
7
|
+
consumerPrevious: ReactiveEdge | undefined;
|
|
8
|
+
consumerNext: ReactiveEdge | undefined;
|
|
9
|
+
freeNext: ReactiveEdge | undefined;
|
|
10
|
+
collectionGeneration: number;
|
|
11
|
+
observedVersion: number;
|
|
12
|
+
everPublished: boolean;
|
|
13
|
+
sourceLinked: boolean;
|
|
14
|
+
collectionKind: 'new' | 'reused' | undefined;
|
|
15
|
+
releaseObservation: (() => void) | undefined;
|
|
16
|
+
}
|
|
17
|
+
export interface ReactiveNotificationCursor {
|
|
18
|
+
next: ReactiveEdge | undefined;
|
|
19
|
+
previous: ReactiveNotificationCursor | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface SignalDependencyConsumer {
|
|
22
|
+
dependencyHead: ReactiveEdge | undefined;
|
|
23
|
+
dependencyTail: ReactiveEdge | undefined;
|
|
24
|
+
dependencyFreeHead: ReactiveEdge | undefined;
|
|
25
|
+
dependencyFreeCount: number;
|
|
26
|
+
dependencyCount: number;
|
|
27
|
+
dependencyHighWater: number;
|
|
28
|
+
collectionCursor: ReactiveEdge | undefined;
|
|
29
|
+
collectionGeneration: number;
|
|
30
|
+
addDependency(node: SignalNode<unknown>): void;
|
|
31
|
+
notify(node: SignalNode<unknown>): void;
|
|
32
|
+
propagateInvalidation?: boolean;
|
|
33
|
+
renderInvalidation?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function beginReactiveCollection(consumer: SignalDependencyConsumer): number;
|
|
36
|
+
export declare function collectReactiveDependency(consumer: SignalDependencyConsumer, source: SignalNode<unknown>): ReactiveEdge;
|
|
37
|
+
export declare function finishReactiveCollection(consumer: SignalDependencyConsumer, publish: (edge: ReactiveEdge) => void, release: (edge: ReactiveEdge) => void): void;
|
|
38
|
+
export declare function rollbackReactiveCollection(consumer: SignalDependencyConsumer): void;
|
|
39
|
+
export declare function linkReactiveEdgeToSource(edge: ReactiveEdge, releaseObservation?: () => void): void;
|
|
40
|
+
export declare function unlinkReactiveEdgeFromSource(edge: ReactiveEdge): void;
|
|
41
|
+
export declare function unlinkReactiveEdgeFromConsumer(edge: ReactiveEdge): void;
|
|
42
|
+
export declare function disposeReactiveConsumer(consumer: SignalDependencyConsumer, release: (edge: ReactiveEdge) => void): void;
|
|
43
|
+
export declare function notifyReactiveEdges(source: SignalNode<unknown>, accepts?: (consumer: SignalDependencyConsumer) => boolean): unknown[];
|
|
44
|
+
export declare function createDetachedReactiveEdge(consumer: SignalDependencyConsumer, source: SignalNode<unknown>): ReactiveEdge;
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
function beginReactiveCollection(consumer) {
|
|
2
|
+
consumer.collectionGeneration++;
|
|
3
|
+
consumer.collectionCursor = consumer.dependencyHead;
|
|
4
|
+
return consumer.collectionGeneration;
|
|
5
|
+
}
|
|
6
|
+
function collectReactiveDependency(consumer, source) {
|
|
7
|
+
const generation = consumer.collectionGeneration;
|
|
8
|
+
let edge = consumer.collectionCursor;
|
|
9
|
+
if (edge?.source === source && edge.collectionGeneration !== generation) {
|
|
10
|
+
edge.collectionGeneration = generation;
|
|
11
|
+
edge.collectionKind = "reused";
|
|
12
|
+
consumer.collectionCursor = edge.consumerNext;
|
|
13
|
+
return edge;
|
|
14
|
+
}
|
|
15
|
+
for (edge = consumer.dependencyHead; edge !== void 0; edge = edge.consumerNext) {
|
|
16
|
+
if (edge.source !== source) continue;
|
|
17
|
+
if (edge.collectionGeneration !== generation) {
|
|
18
|
+
edge.collectionGeneration = generation;
|
|
19
|
+
edge.collectionKind = "reused";
|
|
20
|
+
consumer.collectionCursor = edge.consumerNext;
|
|
21
|
+
}
|
|
22
|
+
return edge;
|
|
23
|
+
}
|
|
24
|
+
edge = takeFreeReactiveEdge(consumer) ?? createReactiveEdge(consumer);
|
|
25
|
+
edge.source = source;
|
|
26
|
+
edge.collectionGeneration = generation;
|
|
27
|
+
edge.collectionKind = edge.everPublished ? "reused" : "new";
|
|
28
|
+
edge.observedVersion = source.version;
|
|
29
|
+
linkReactiveEdgeToConsumer(edge);
|
|
30
|
+
consumer.collectionCursor = edge.consumerNext;
|
|
31
|
+
return edge;
|
|
32
|
+
}
|
|
33
|
+
function finishReactiveCollection(consumer, publish, release) {
|
|
34
|
+
let edge = consumer.dependencyHead;
|
|
35
|
+
while (edge !== void 0) {
|
|
36
|
+
const next = edge.consumerNext;
|
|
37
|
+
if (edge.collectionGeneration === consumer.collectionGeneration) {
|
|
38
|
+
publish(edge);
|
|
39
|
+
} else {
|
|
40
|
+
release(edge);
|
|
41
|
+
unlinkReactiveEdgeFromConsumer(edge);
|
|
42
|
+
poolReactiveEdge(consumer, edge);
|
|
43
|
+
}
|
|
44
|
+
edge = next;
|
|
45
|
+
}
|
|
46
|
+
consumer.dependencyHighWater = Math.max(
|
|
47
|
+
consumer.dependencyHighWater,
|
|
48
|
+
consumer.dependencyCount
|
|
49
|
+
);
|
|
50
|
+
trimReactiveEdgePool(consumer);
|
|
51
|
+
consumer.collectionCursor = void 0;
|
|
52
|
+
}
|
|
53
|
+
function rollbackReactiveCollection(consumer) {
|
|
54
|
+
let edge = consumer.dependencyHead;
|
|
55
|
+
while (edge !== void 0) {
|
|
56
|
+
const next = edge.consumerNext;
|
|
57
|
+
if (edge.collectionGeneration === consumer.collectionGeneration && !edge.sourceLinked) {
|
|
58
|
+
unlinkReactiveEdgeFromConsumer(edge);
|
|
59
|
+
poolReactiveEdge(consumer, edge);
|
|
60
|
+
}
|
|
61
|
+
edge = next;
|
|
62
|
+
}
|
|
63
|
+
trimReactiveEdgePool(consumer);
|
|
64
|
+
consumer.collectionCursor = void 0;
|
|
65
|
+
}
|
|
66
|
+
function linkReactiveEdgeToSource(edge, releaseObservation) {
|
|
67
|
+
if (edge.sourceLinked) return;
|
|
68
|
+
const source = edge.source;
|
|
69
|
+
if (source === void 0) {
|
|
70
|
+
throw new Error("Cannot link a reactive edge without a source.");
|
|
71
|
+
}
|
|
72
|
+
edge.sourcePrevious = source.observerTail;
|
|
73
|
+
edge.sourceNext = void 0;
|
|
74
|
+
if (source.observerTail === void 0) {
|
|
75
|
+
source.observerHead = edge;
|
|
76
|
+
} else {
|
|
77
|
+
source.observerTail.sourceNext = edge;
|
|
78
|
+
}
|
|
79
|
+
source.observerTail = edge;
|
|
80
|
+
source.observerCount++;
|
|
81
|
+
edge.sourceLinked = true;
|
|
82
|
+
edge.releaseObservation = releaseObservation;
|
|
83
|
+
}
|
|
84
|
+
function unlinkReactiveEdgeFromSource(edge) {
|
|
85
|
+
if (!edge.sourceLinked) return;
|
|
86
|
+
const source = edge.source;
|
|
87
|
+
for (let cursor = source.activeObserverCursor; cursor !== void 0; cursor = cursor.previous) {
|
|
88
|
+
if (cursor.next === edge) cursor.next = edge.sourceNext;
|
|
89
|
+
}
|
|
90
|
+
if (edge.sourcePrevious === void 0) {
|
|
91
|
+
source.observerHead = edge.sourceNext;
|
|
92
|
+
} else {
|
|
93
|
+
edge.sourcePrevious.sourceNext = edge.sourceNext;
|
|
94
|
+
}
|
|
95
|
+
if (edge.sourceNext === void 0) {
|
|
96
|
+
source.observerTail = edge.sourcePrevious;
|
|
97
|
+
} else {
|
|
98
|
+
edge.sourceNext.sourcePrevious = edge.sourcePrevious;
|
|
99
|
+
}
|
|
100
|
+
source.observerCount--;
|
|
101
|
+
edge.sourceLinked = false;
|
|
102
|
+
edge.sourcePrevious = void 0;
|
|
103
|
+
edge.sourceNext = void 0;
|
|
104
|
+
const releaseObservation = edge.releaseObservation;
|
|
105
|
+
edge.releaseObservation = void 0;
|
|
106
|
+
releaseObservation?.();
|
|
107
|
+
}
|
|
108
|
+
function unlinkReactiveEdgeFromConsumer(edge) {
|
|
109
|
+
const consumer = edge.consumer;
|
|
110
|
+
if (edge.consumerPrevious === void 0) {
|
|
111
|
+
if (consumer.dependencyHead !== edge) return;
|
|
112
|
+
consumer.dependencyHead = edge.consumerNext;
|
|
113
|
+
} else {
|
|
114
|
+
edge.consumerPrevious.consumerNext = edge.consumerNext;
|
|
115
|
+
}
|
|
116
|
+
if (edge.consumerNext === void 0) {
|
|
117
|
+
consumer.dependencyTail = edge.consumerPrevious;
|
|
118
|
+
} else {
|
|
119
|
+
edge.consumerNext.consumerPrevious = edge.consumerPrevious;
|
|
120
|
+
}
|
|
121
|
+
consumer.dependencyCount--;
|
|
122
|
+
edge.consumerPrevious = void 0;
|
|
123
|
+
edge.consumerNext = void 0;
|
|
124
|
+
}
|
|
125
|
+
function disposeReactiveConsumer(consumer, release) {
|
|
126
|
+
let edge = consumer.dependencyHead;
|
|
127
|
+
while (edge !== void 0) {
|
|
128
|
+
const next = edge.consumerNext;
|
|
129
|
+
release(edge);
|
|
130
|
+
unlinkReactiveEdgeFromConsumer(edge);
|
|
131
|
+
edge.source = void 0;
|
|
132
|
+
edge.freeNext = void 0;
|
|
133
|
+
edge = next;
|
|
134
|
+
}
|
|
135
|
+
consumer.dependencyFreeHead = void 0;
|
|
136
|
+
consumer.dependencyFreeCount = 0;
|
|
137
|
+
consumer.collectionCursor = void 0;
|
|
138
|
+
}
|
|
139
|
+
function notifyReactiveEdges(source, accepts = () => true) {
|
|
140
|
+
const failures = [];
|
|
141
|
+
const cursor = {
|
|
142
|
+
next: source.observerHead,
|
|
143
|
+
previous: source.activeObserverCursor
|
|
144
|
+
};
|
|
145
|
+
source.activeObserverCursor = cursor;
|
|
146
|
+
try {
|
|
147
|
+
while (cursor.next !== void 0) {
|
|
148
|
+
const edge = cursor.next;
|
|
149
|
+
cursor.next = edge.sourceNext;
|
|
150
|
+
if (!edge.sourceLinked || edge.source !== source) continue;
|
|
151
|
+
if (!accepts(edge.consumer)) continue;
|
|
152
|
+
try {
|
|
153
|
+
edge.consumer.notify(source);
|
|
154
|
+
} catch (error) {
|
|
155
|
+
failures.push(error);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
} finally {
|
|
159
|
+
source.activeObserverCursor = cursor.previous;
|
|
160
|
+
}
|
|
161
|
+
return failures;
|
|
162
|
+
}
|
|
163
|
+
function createDetachedReactiveEdge(consumer, source) {
|
|
164
|
+
const edge = createReactiveEdge(consumer);
|
|
165
|
+
edge.source = source;
|
|
166
|
+
edge.collectionGeneration = consumer.collectionGeneration;
|
|
167
|
+
edge.observedVersion = source.version;
|
|
168
|
+
linkReactiveEdgeToConsumer(edge);
|
|
169
|
+
return edge;
|
|
170
|
+
}
|
|
171
|
+
function createReactiveEdge(consumer) {
|
|
172
|
+
return {
|
|
173
|
+
source: void 0,
|
|
174
|
+
consumer,
|
|
175
|
+
sourcePrevious: void 0,
|
|
176
|
+
sourceNext: void 0,
|
|
177
|
+
consumerPrevious: void 0,
|
|
178
|
+
consumerNext: void 0,
|
|
179
|
+
freeNext: void 0,
|
|
180
|
+
collectionGeneration: 0,
|
|
181
|
+
observedVersion: -1,
|
|
182
|
+
everPublished: false,
|
|
183
|
+
sourceLinked: false,
|
|
184
|
+
collectionKind: void 0,
|
|
185
|
+
releaseObservation: void 0
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
function linkReactiveEdgeToConsumer(edge) {
|
|
189
|
+
const consumer = edge.consumer;
|
|
190
|
+
edge.consumerPrevious = consumer.dependencyTail;
|
|
191
|
+
edge.consumerNext = void 0;
|
|
192
|
+
if (consumer.dependencyTail === void 0) {
|
|
193
|
+
consumer.dependencyHead = edge;
|
|
194
|
+
} else {
|
|
195
|
+
consumer.dependencyTail.consumerNext = edge;
|
|
196
|
+
}
|
|
197
|
+
consumer.dependencyTail = edge;
|
|
198
|
+
consumer.dependencyCount++;
|
|
199
|
+
}
|
|
200
|
+
function takeFreeReactiveEdge(consumer) {
|
|
201
|
+
const edge = consumer.dependencyFreeHead;
|
|
202
|
+
if (edge === void 0) return void 0;
|
|
203
|
+
consumer.dependencyFreeHead = edge.freeNext;
|
|
204
|
+
consumer.dependencyFreeCount--;
|
|
205
|
+
edge.freeNext = void 0;
|
|
206
|
+
return edge;
|
|
207
|
+
}
|
|
208
|
+
function poolReactiveEdge(consumer, edge) {
|
|
209
|
+
edge.source = void 0;
|
|
210
|
+
edge.collectionKind = void 0;
|
|
211
|
+
edge.observedVersion = Math.max(edge.observedVersion, 0);
|
|
212
|
+
edge.freeNext = consumer.dependencyFreeHead;
|
|
213
|
+
consumer.dependencyFreeHead = edge;
|
|
214
|
+
consumer.dependencyFreeCount++;
|
|
215
|
+
}
|
|
216
|
+
function trimReactiveEdgePool(consumer) {
|
|
217
|
+
if (consumer.dependencyFreeCount <= consumer.dependencyHighWater) return;
|
|
218
|
+
let retained = 0;
|
|
219
|
+
let edge = consumer.dependencyFreeHead;
|
|
220
|
+
let previous;
|
|
221
|
+
while (edge !== void 0) {
|
|
222
|
+
retained++;
|
|
223
|
+
if (retained > consumer.dependencyHighWater) {
|
|
224
|
+
if (previous === void 0) consumer.dependencyFreeHead = void 0;
|
|
225
|
+
else previous.freeNext = void 0;
|
|
226
|
+
consumer.dependencyFreeCount = consumer.dependencyHighWater;
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
previous = edge;
|
|
230
|
+
edge = edge.freeNext;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
export {
|
|
234
|
+
beginReactiveCollection,
|
|
235
|
+
collectReactiveDependency,
|
|
236
|
+
createDetachedReactiveEdge,
|
|
237
|
+
disposeReactiveConsumer,
|
|
238
|
+
finishReactiveCollection,
|
|
239
|
+
linkReactiveEdgeToSource,
|
|
240
|
+
notifyReactiveEdges,
|
|
241
|
+
rollbackReactiveCollection,
|
|
242
|
+
unlinkReactiveEdgeFromConsumer,
|
|
243
|
+
unlinkReactiveEdgeFromSource
|
|
244
|
+
};
|
|
245
|
+
//# sourceMappingURL=edge.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/signals/edge.ts"],
|
|
4
|
+
"sourcesContent": ["import type { SignalNode } from './graph.js';\n\nexport interface ReactiveEdge {\n source: SignalNode<unknown> | undefined;\n consumer: SignalDependencyConsumer;\n sourcePrevious: ReactiveEdge | undefined;\n sourceNext: ReactiveEdge | undefined;\n consumerPrevious: ReactiveEdge | undefined;\n consumerNext: ReactiveEdge | undefined;\n freeNext: ReactiveEdge | undefined;\n collectionGeneration: number;\n observedVersion: number;\n everPublished: boolean;\n sourceLinked: boolean;\n collectionKind: 'new' | 'reused' | undefined;\n releaseObservation: (() => void) | undefined;\n}\n\nexport interface ReactiveNotificationCursor {\n next: ReactiveEdge | undefined;\n previous: ReactiveNotificationCursor | undefined;\n}\n\nexport interface SignalDependencyConsumer {\n dependencyHead: ReactiveEdge | undefined;\n dependencyTail: ReactiveEdge | undefined;\n dependencyFreeHead: ReactiveEdge | undefined;\n dependencyFreeCount: number;\n dependencyCount: number;\n dependencyHighWater: number;\n collectionCursor: ReactiveEdge | undefined;\n collectionGeneration: number;\n addDependency(node: SignalNode<unknown>): void;\n notify(node: SignalNode<unknown>): void;\n propagateInvalidation?: boolean;\n renderInvalidation?: boolean;\n}\n\nexport function beginReactiveCollection(\n consumer: SignalDependencyConsumer,\n): number {\n consumer.collectionGeneration++;\n consumer.collectionCursor = consumer.dependencyHead;\n return consumer.collectionGeneration;\n}\n\nexport function collectReactiveDependency(\n consumer: SignalDependencyConsumer,\n source: SignalNode<unknown>,\n): ReactiveEdge {\n const generation = consumer.collectionGeneration;\n let edge = consumer.collectionCursor;\n if (\n edge?.source === source &&\n edge.collectionGeneration !== generation\n ) {\n edge.collectionGeneration = generation;\n edge.collectionKind = 'reused';\n consumer.collectionCursor = edge.consumerNext;\n return edge;\n }\n\n for (edge = consumer.dependencyHead; edge !== undefined; edge = edge.consumerNext) {\n if (edge.source !== source) continue;\n if (edge.collectionGeneration !== generation) {\n edge.collectionGeneration = generation;\n edge.collectionKind = 'reused';\n consumer.collectionCursor = edge.consumerNext;\n }\n return edge;\n }\n\n edge = takeFreeReactiveEdge(consumer) ?? createReactiveEdge(consumer);\n edge.source = source;\n edge.collectionGeneration = generation;\n edge.collectionKind = edge.everPublished ? 'reused' : 'new';\n edge.observedVersion = source.version;\n linkReactiveEdgeToConsumer(edge);\n consumer.collectionCursor = edge.consumerNext;\n return edge;\n}\n\nexport function finishReactiveCollection(\n consumer: SignalDependencyConsumer,\n publish: (edge: ReactiveEdge) => void,\n release: (edge: ReactiveEdge) => void,\n): void {\n let edge = consumer.dependencyHead;\n while (edge !== undefined) {\n const next = edge.consumerNext;\n if (edge.collectionGeneration === consumer.collectionGeneration) {\n publish(edge);\n } else {\n release(edge);\n unlinkReactiveEdgeFromConsumer(edge);\n poolReactiveEdge(consumer, edge);\n }\n edge = next;\n }\n consumer.dependencyHighWater = Math.max(\n consumer.dependencyHighWater,\n consumer.dependencyCount,\n );\n trimReactiveEdgePool(consumer);\n consumer.collectionCursor = undefined;\n}\n\nexport function rollbackReactiveCollection(\n consumer: SignalDependencyConsumer,\n): void {\n let edge = consumer.dependencyHead;\n while (edge !== undefined) {\n const next = edge.consumerNext;\n if (\n edge.collectionGeneration === consumer.collectionGeneration &&\n !edge.sourceLinked\n ) {\n unlinkReactiveEdgeFromConsumer(edge);\n poolReactiveEdge(consumer, edge);\n }\n edge = next;\n }\n trimReactiveEdgePool(consumer);\n consumer.collectionCursor = undefined;\n}\n\nexport function linkReactiveEdgeToSource(\n edge: ReactiveEdge,\n releaseObservation?: () => void,\n): void {\n if (edge.sourceLinked) return;\n const source = edge.source;\n if (source === undefined) {\n throw new Error('Cannot link a reactive edge without a source.');\n }\n edge.sourcePrevious = source.observerTail;\n edge.sourceNext = undefined;\n if (source.observerTail === undefined) {\n source.observerHead = edge;\n } else {\n source.observerTail.sourceNext = edge;\n }\n source.observerTail = edge;\n source.observerCount++;\n edge.sourceLinked = true;\n edge.releaseObservation = releaseObservation;\n}\n\nexport function unlinkReactiveEdgeFromSource(edge: ReactiveEdge): void {\n if (!edge.sourceLinked) return;\n const source = edge.source!;\n for (\n let cursor = source.activeObserverCursor;\n cursor !== undefined;\n cursor = cursor.previous\n ) {\n if (cursor.next === edge) cursor.next = edge.sourceNext;\n }\n if (edge.sourcePrevious === undefined) {\n source.observerHead = edge.sourceNext;\n } else {\n edge.sourcePrevious.sourceNext = edge.sourceNext;\n }\n if (edge.sourceNext === undefined) {\n source.observerTail = edge.sourcePrevious;\n } else {\n edge.sourceNext.sourcePrevious = edge.sourcePrevious;\n }\n source.observerCount--;\n edge.sourceLinked = false;\n edge.sourcePrevious = undefined;\n edge.sourceNext = undefined;\n const releaseObservation = edge.releaseObservation;\n edge.releaseObservation = undefined;\n releaseObservation?.();\n}\n\nexport function unlinkReactiveEdgeFromConsumer(edge: ReactiveEdge): void {\n const consumer = edge.consumer;\n if (edge.consumerPrevious === undefined) {\n if (consumer.dependencyHead !== edge) return;\n consumer.dependencyHead = edge.consumerNext;\n } else {\n edge.consumerPrevious.consumerNext = edge.consumerNext;\n }\n if (edge.consumerNext === undefined) {\n consumer.dependencyTail = edge.consumerPrevious;\n } else {\n edge.consumerNext.consumerPrevious = edge.consumerPrevious;\n }\n consumer.dependencyCount--;\n edge.consumerPrevious = undefined;\n edge.consumerNext = undefined;\n}\n\nexport function disposeReactiveConsumer(\n consumer: SignalDependencyConsumer,\n release: (edge: ReactiveEdge) => void,\n): void {\n let edge = consumer.dependencyHead;\n while (edge !== undefined) {\n const next = edge.consumerNext;\n release(edge);\n unlinkReactiveEdgeFromConsumer(edge);\n edge.source = undefined;\n edge.freeNext = undefined;\n edge = next;\n }\n consumer.dependencyFreeHead = undefined;\n consumer.dependencyFreeCount = 0;\n consumer.collectionCursor = undefined;\n}\n\nexport function notifyReactiveEdges(\n source: SignalNode<unknown>,\n accepts: (consumer: SignalDependencyConsumer) => boolean = () => true,\n): unknown[] {\n const failures: unknown[] = [];\n const cursor: ReactiveNotificationCursor = {\n next: source.observerHead,\n previous: source.activeObserverCursor,\n };\n source.activeObserverCursor = cursor;\n try {\n while (cursor.next !== undefined) {\n const edge = cursor.next;\n cursor.next = edge.sourceNext;\n if (!edge.sourceLinked || edge.source !== source) continue;\n if (!accepts(edge.consumer)) continue;\n try {\n edge.consumer.notify(source);\n } catch (error) {\n failures.push(error);\n }\n }\n } finally {\n source.activeObserverCursor = cursor.previous;\n }\n return failures;\n}\n\nexport function createDetachedReactiveEdge(\n consumer: SignalDependencyConsumer,\n source: SignalNode<unknown>,\n): ReactiveEdge {\n const edge = createReactiveEdge(consumer);\n edge.source = source;\n edge.collectionGeneration = consumer.collectionGeneration;\n edge.observedVersion = source.version;\n linkReactiveEdgeToConsumer(edge);\n return edge;\n}\n\nfunction createReactiveEdge(\n consumer: SignalDependencyConsumer,\n): ReactiveEdge {\n return {\n source: undefined,\n consumer,\n sourcePrevious: undefined,\n sourceNext: undefined,\n consumerPrevious: undefined,\n consumerNext: undefined,\n freeNext: undefined,\n collectionGeneration: 0,\n observedVersion: -1,\n everPublished: false,\n sourceLinked: false,\n collectionKind: undefined,\n releaseObservation: undefined,\n };\n}\n\nfunction linkReactiveEdgeToConsumer(edge: ReactiveEdge): void {\n const consumer = edge.consumer;\n edge.consumerPrevious = consumer.dependencyTail;\n edge.consumerNext = undefined;\n if (consumer.dependencyTail === undefined) {\n consumer.dependencyHead = edge;\n } else {\n consumer.dependencyTail.consumerNext = edge;\n }\n consumer.dependencyTail = edge;\n consumer.dependencyCount++;\n}\n\nfunction takeFreeReactiveEdge(\n consumer: SignalDependencyConsumer,\n): ReactiveEdge | undefined {\n const edge = consumer.dependencyFreeHead;\n if (edge === undefined) return undefined;\n consumer.dependencyFreeHead = edge.freeNext;\n consumer.dependencyFreeCount--;\n edge.freeNext = undefined;\n return edge;\n}\n\nfunction poolReactiveEdge(\n consumer: SignalDependencyConsumer,\n edge: ReactiveEdge,\n): void {\n edge.source = undefined;\n edge.collectionKind = undefined;\n edge.observedVersion = Math.max(edge.observedVersion, 0);\n edge.freeNext = consumer.dependencyFreeHead;\n consumer.dependencyFreeHead = edge;\n consumer.dependencyFreeCount++;\n}\n\nfunction trimReactiveEdgePool(consumer: SignalDependencyConsumer): void {\n if (consumer.dependencyFreeCount <= consumer.dependencyHighWater) return;\n let retained = 0;\n let edge = consumer.dependencyFreeHead;\n let previous: ReactiveEdge | undefined;\n while (edge !== undefined) {\n retained++;\n if (retained > consumer.dependencyHighWater) {\n if (previous === undefined) consumer.dependencyFreeHead = undefined;\n else previous.freeNext = undefined;\n consumer.dependencyFreeCount = consumer.dependencyHighWater;\n return;\n }\n previous = edge;\n edge = edge.freeNext;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import type { Signal, SignalEquals, SignalOptions, WritableSignal } from './types.js';
|
|
2
|
+
import type { PibblRenderTransaction } from '../types.js';
|
|
3
|
+
import { type ReactiveEdge, type ReactiveNotificationCursor } from './edge.js';
|
|
4
|
+
/** @internal One isolated formula generation owned by a render transaction. */
|
|
5
|
+
export interface ComputedFormulaCandidate<T> {
|
|
6
|
+
readonly signal: Signal<T>;
|
|
7
|
+
readonly readers: Set<SignalDependencyCollector>;
|
|
8
|
+
changed: boolean;
|
|
9
|
+
evaluated: boolean;
|
|
10
|
+
value: T | undefined;
|
|
11
|
+
}
|
|
12
|
+
export interface SignalNode<T> {
|
|
13
|
+
value: T;
|
|
14
|
+
equals: SignalEquals<T>;
|
|
15
|
+
debugName: string | undefined;
|
|
16
|
+
version: number;
|
|
17
|
+
observerHead: ReactiveEdge | undefined;
|
|
18
|
+
observerTail: ReactiveEdge | undefined;
|
|
19
|
+
observerCount: number;
|
|
20
|
+
activeObserverCursor: ReactiveNotificationCursor | undefined;
|
|
21
|
+
observe?(): () => void;
|
|
22
|
+
validate?(): void;
|
|
23
|
+
}
|
|
24
|
+
export interface SignalDependencyCollector {
|
|
25
|
+
addDependency(node: SignalNode<unknown>): void;
|
|
26
|
+
}
|
|
27
|
+
export type SignalWriteOperation = 'direct' | 'staged';
|
|
28
|
+
export type SignalWritePolicy = (node: SignalNode<unknown>, operation: SignalWriteOperation) => void;
|
|
29
|
+
/** @internal Authorization seam owned by the animation writer-lease registry. */
|
|
30
|
+
export interface SignalWriterLeasePolicy {
|
|
31
|
+
assertDirectWriteAllowed(node: SignalNode<unknown>): void;
|
|
32
|
+
captureStagedWrite(node: SignalNode<unknown>, writer: object): unknown;
|
|
33
|
+
assertStagedWriteAllowed(node: SignalNode<unknown>, writer: object, authorization: unknown): void;
|
|
34
|
+
}
|
|
35
|
+
export interface SignalGraphSnapshot {
|
|
36
|
+
readonly rendererConsumers: number;
|
|
37
|
+
readonly rendererEdges: number;
|
|
38
|
+
readonly computedSourceEdges: number;
|
|
39
|
+
readonly pendingComputedValidations: number;
|
|
40
|
+
readonly createdRendererConsumers: number;
|
|
41
|
+
readonly releasedRendererConsumers: number;
|
|
42
|
+
readonly createdRendererEdges: number;
|
|
43
|
+
readonly releasedRendererEdges: number;
|
|
44
|
+
readonly signalCommitNotifications: number;
|
|
45
|
+
readonly planComputedValidations: number;
|
|
46
|
+
readonly createdComputedSourceEdges: number;
|
|
47
|
+
readonly releasedComputedSourceEdges: number;
|
|
48
|
+
readonly lazyRendererConsumers: number;
|
|
49
|
+
readonly reusedRendererEdges: number;
|
|
50
|
+
readonly plainInputResolutions: number;
|
|
51
|
+
readonly signalInputResolutions: number;
|
|
52
|
+
readonly shallowInputCopies: number;
|
|
53
|
+
readonly receiverInputProvisions: number;
|
|
54
|
+
readonly adoptedReceiverInputProvisions: number;
|
|
55
|
+
readonly rolledBackReceiverInputProvisions: number;
|
|
56
|
+
readonly batchedObserverInvalidations: number;
|
|
57
|
+
readonly reactionConsumers: number;
|
|
58
|
+
readonly reactionEdges: number;
|
|
59
|
+
readonly reactionRuns: number;
|
|
60
|
+
readonly reactionCleanups: number;
|
|
61
|
+
readonly reactionFailures: number;
|
|
62
|
+
}
|
|
63
|
+
/** @internal Deterministic ownership and structural evidence for tests. */
|
|
64
|
+
export declare function signalGraphSnapshot(): SignalGraphSnapshot;
|
|
65
|
+
/** @internal Records one component consumer materialized by its first read. */
|
|
66
|
+
export declare function recordLazyRendererConsumerCreated(): void;
|
|
67
|
+
/** @internal Records one render edge reused by recollection or restoration. */
|
|
68
|
+
export declare function recordRendererEdgeReused(restored?: boolean): void;
|
|
69
|
+
/** @internal Records one declared plain input that took the identity path. */
|
|
70
|
+
export declare function recordPlainInputResolution(): void;
|
|
71
|
+
/** @internal Records one declared signal-valued input read. */
|
|
72
|
+
export declare function recordSignalInputResolution(): void;
|
|
73
|
+
/** @internal Records one copy-on-signal props or style object. */
|
|
74
|
+
export declare function recordShallowInputCopy(): void;
|
|
75
|
+
/** @internal Records one pre-evaluation receiver input provision. */
|
|
76
|
+
export declare function recordReceiverInputProvisionCreated(): void;
|
|
77
|
+
/** @internal Records one provision adopted by its receiver generation. */
|
|
78
|
+
export declare function recordReceiverInputProvisionAdopted(): void;
|
|
79
|
+
/** @internal Records one provision discarded without publication. */
|
|
80
|
+
export declare function recordReceiverInputProvisionRolledBack(): void;
|
|
81
|
+
/** @internal Adds one already-read source to the active dependency collector. */
|
|
82
|
+
export declare function trackSignalDependency(node: SignalNode<unknown>): void;
|
|
83
|
+
/** @internal Records one observer invalidation deduplicated by a public batch. */
|
|
84
|
+
export declare function recordBatchedObserverInvalidation(): void;
|
|
85
|
+
/** @internal Records one live component-owned reaction consumer. */
|
|
86
|
+
export declare function recordReactionConsumerCreated(): void;
|
|
87
|
+
/** @internal Records final release of one reaction consumer. */
|
|
88
|
+
export declare function recordReactionConsumerReleased(): void;
|
|
89
|
+
/** @internal Records one live reaction source edge. */
|
|
90
|
+
export declare function recordReactionEdgeCreated(): void;
|
|
91
|
+
/** @internal Records release of one reaction source edge. */
|
|
92
|
+
export declare function recordReactionEdgeReleased(): void;
|
|
93
|
+
/** @internal Records one reaction setup attempt. */
|
|
94
|
+
export declare function recordReactionRun(): void;
|
|
95
|
+
/** @internal Records one exact cleanup generation execution. */
|
|
96
|
+
export declare function recordReactionCleanup(): void;
|
|
97
|
+
/** @internal Records one setup or cleanup failure. */
|
|
98
|
+
export declare function recordReactionFailure(): void;
|
|
99
|
+
/** @internal Records one live renderer consumer for test diagnostics. */
|
|
100
|
+
export declare function recordRendererConsumerCreated(): void;
|
|
101
|
+
/** @internal Records release of one renderer consumer for test diagnostics. */
|
|
102
|
+
export declare function recordRendererConsumerReleased(): void;
|
|
103
|
+
/** @internal Records one live renderer dependency edge for test diagnostics. */
|
|
104
|
+
export declare function recordRendererEdgeCreated(): void;
|
|
105
|
+
/** @internal Records release of one renderer dependency edge for tests. */
|
|
106
|
+
export declare function recordRendererEdgeReleased(): void;
|
|
107
|
+
/**
|
|
108
|
+
* Runs a synchronous callback while coalescing signal notifications until the outer batch
|
|
109
|
+
* completes.
|
|
110
|
+
*
|
|
111
|
+
* @param callback - Synchronous work whose signal notifications are grouped.
|
|
112
|
+
* @returns The callback's return value.
|
|
113
|
+
*
|
|
114
|
+
* @see {@link signal}
|
|
115
|
+
* @see {@link computed}
|
|
116
|
+
* @see {@link WritableSignal}
|
|
117
|
+
*/
|
|
118
|
+
export declare function batch<T>(callback: () => T): T;
|
|
119
|
+
/**
|
|
120
|
+
* Creates a synchronous writable signal with configurable equality and an optional diagnostic
|
|
121
|
+
* name.
|
|
122
|
+
*
|
|
123
|
+
* @param initialValue - Value stored before the first write.
|
|
124
|
+
* @param options - Equality comparison and optional diagnostic name. See {@link SignalOptions}.
|
|
125
|
+
* @returns A writable signal holding the initial value. See {@link WritableSignal}.
|
|
126
|
+
*
|
|
127
|
+
* @see {@link SignalOptions}
|
|
128
|
+
* @see {@link WritableSignal}
|
|
129
|
+
*/
|
|
130
|
+
export declare function signal<T>(initialValue: T, options?: SignalOptions<T>): WritableSignal<T>;
|
|
131
|
+
/**
|
|
132
|
+
* @internal Presents a provisional value to reads and computed dependencies
|
|
133
|
+
* during one render without publishing an ordinary signal notification.
|
|
134
|
+
* This is reserved for a not-yet-successfully-mounted owner whose render
|
|
135
|
+
* transaction owns acceptance or restoration of every overlapping preview.
|
|
136
|
+
*/
|
|
137
|
+
export declare function provisionSignalValueForRender<T>(value: WritableSignal<T>, nextValue: T, transaction: PibblRenderTransaction): void;
|
|
138
|
+
/**
|
|
139
|
+
* Creates a lazy, cached readonly signal whose dependencies are tracked during evaluation.
|
|
140
|
+
*
|
|
141
|
+
* @param compute - Synchronous calculation whose signal reads become dependencies.
|
|
142
|
+
* @param options - Equality comparison and optional diagnostic name. See {@link SignalOptions}.
|
|
143
|
+
* @returns A readonly, lazy, cached signal that recomputes when its dependencies change. See
|
|
144
|
+
* {@link Signal} .
|
|
145
|
+
*
|
|
146
|
+
* @see {@link SignalOptions}
|
|
147
|
+
* @see {@link Signal}
|
|
148
|
+
*/
|
|
149
|
+
export declare function computed<T>(compute: () => T, options?: SignalOptions<T>): Signal<T>;
|
|
150
|
+
/** @internal Creates a nominal alias that retains one computed graph identity. */
|
|
151
|
+
export declare function createComputedSignalAlias<T>(target: Signal<T>, read: () => T): Signal<T>;
|
|
152
|
+
/** @internal Creates one unobserved formula generation for transactional render. */
|
|
153
|
+
export declare function createComputedFormulaCandidate<T>(target: Signal<T>, compute: () => T): ComputedFormulaCandidate<T>;
|
|
154
|
+
/** @internal Reads a provisional formula while attributing the stable node. */
|
|
155
|
+
export declare function readComputedFormulaCandidate<T>(target: Signal<T>, candidate: ComputedFormulaCandidate<T>): T;
|
|
156
|
+
/** @internal Publishes an evaluated formula generation after render success. */
|
|
157
|
+
export declare function adoptComputedFormulaCandidate<T>(target: Signal<T>, candidate: ComputedFormulaCandidate<T>, compute: () => T): void;
|
|
158
|
+
/** @internal Refreshes a committed formula and optionally invalidates its cache. */
|
|
159
|
+
export declare function replaceComputedFormula<T>(target: Signal<T>, compute: () => T, invalidate: boolean): void;
|
|
160
|
+
/** @internal Called during the scheduler Plan phase. */
|
|
161
|
+
export declare function flushPendingComputedValidations(): void;
|
|
162
|
+
/** @internal Whether the realm scheduler has graph Plan work to service. */
|
|
163
|
+
export declare function hasPendingComputedValidations(): boolean;
|
|
164
|
+
/** @internal Connects graph liveness to its host-agnostic scheduler owner. */
|
|
165
|
+
export declare function setSignalGraphPlanWorkNotifier(notifier: () => void): void;
|
|
166
|
+
/**
|
|
167
|
+
* Runs a callback without recording its signal reads as dependencies of the current consumer.
|
|
168
|
+
*
|
|
169
|
+
* @param callback - Synchronous work whose reads should not register dependencies.
|
|
170
|
+
* @returns The callback's return value.
|
|
171
|
+
*
|
|
172
|
+
* @see {@link Signal}
|
|
173
|
+
* @see {@link computed}
|
|
174
|
+
*/
|
|
175
|
+
export declare function untracked<T>(callback: () => T): T;
|
|
176
|
+
/**
|
|
177
|
+
* Checks the nominal Pibbl signal identity rather than accepting objects that merely have a get
|
|
178
|
+
* method.
|
|
179
|
+
*
|
|
180
|
+
* @param value - Value to check for Pibbl's nominal signal brand.
|
|
181
|
+
* @returns True if the value is a Pibbl signal, narrowing its type accordingly. See {@link Signal}.
|
|
182
|
+
*
|
|
183
|
+
* @see {@link Signal}
|
|
184
|
+
*/
|
|
185
|
+
export declare function isSignal(value: unknown): value is Signal<unknown>;
|
|
186
|
+
export declare function getSignalNode<T>(value: Signal<T>): SignalNode<T>;
|
|
187
|
+
/** @internal Couples a non-signal resource publication to a staged writer. */
|
|
188
|
+
export interface SignalCommitLifecycle {
|
|
189
|
+
/** Runs after all fallible commit validation and before signal observers. */
|
|
190
|
+
apply(): void;
|
|
191
|
+
/** Restores a completed apply if a later writer cannot publish. */
|
|
192
|
+
rollback?(): void;
|
|
193
|
+
/** Releases a candidate when its writer never reaches Commit. */
|
|
194
|
+
abort(): void;
|
|
195
|
+
}
|
|
196
|
+
export interface SignalCommitBatch {
|
|
197
|
+
read<T>(signal: WritableSignal<T>): T;
|
|
198
|
+
stage<T>(signal: WritableSignal<T>, value: T, writer: object): void;
|
|
199
|
+
registerLifecycle(writer: object, lifecycle: SignalCommitLifecycle): void;
|
|
200
|
+
discardWriter(writer: object): void;
|
|
201
|
+
commit(onApplied?: () => void): void;
|
|
202
|
+
clear(): void;
|
|
203
|
+
}
|
|
204
|
+
export declare function createSignalCommitBatch(): SignalCommitBatch;
|
|
205
|
+
/** @internal Stages a candidate with rollback provenance for one owner. */
|
|
206
|
+
export declare function stageSignalCommitBatchWithProvenance<T>(batch: SignalCommitBatch, provenance: object, signal: WritableSignal<T>, value: T, writer: object): void;
|
|
207
|
+
/** @internal Discards only candidates staged with one owner's provenance. */
|
|
208
|
+
export declare function discardSignalCommitBatchProvenance(batch: SignalCommitBatch, provenance: object): void;
|
|
209
|
+
/** @internal Applies friend discardWriter semantics inside one owner provenance. */
|
|
210
|
+
export declare function discardSignalCommitBatchWriterForProvenance(batch: SignalCommitBatch, provenance: object, writer: object): void;
|
|
211
|
+
export declare function withSignalTracking<T>(collector: SignalDependencyCollector, callback: () => T): T;
|
|
212
|
+
export declare function withSignalWritePolicy<T>(policy: SignalWritePolicy, callback: () => T): T;
|
|
213
|
+
export declare function withSignalWriteForbidden<T>(reason: string, callback: () => T): T;
|
|
214
|
+
export declare function withDirectSignalWriteForbidden<T>(reason: string, callback: () => T): T;
|
|
215
|
+
/** @internal Checks the active direct-write policy without mutating a signal. */
|
|
216
|
+
export declare function assertSignalCommandAllowed(): void;
|
|
217
|
+
/** @internal Preflight a direct signal writer without changing values or versions. */
|
|
218
|
+
export declare function assertDirectSignalWriteAllowed(value: Signal<unknown>): void;
|
|
219
|
+
/** @internal Installs the singleton policy that validates active writer leases. */
|
|
220
|
+
export declare function installSignalWriterLeasePolicy(policy: SignalWriterLeasePolicy): void;
|