@vibecook/ice 0.11.0 → 0.15.0-desk.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/README.md +79 -50
- package/dist/chunk-AMMFQP2C.js +2444 -0
- package/dist/chunk-AMMFQP2C.js.map +1 -0
- package/dist/chunk-BKV4ZEU3.js +1 -0
- package/dist/chunk-BKV4ZEU3.js.map +1 -0
- package/dist/chunk-ENIFIUEP.js +155 -0
- package/dist/chunk-ENIFIUEP.js.map +1 -0
- package/dist/chunk-H3SKYJLK.js +8269 -0
- package/dist/chunk-H3SKYJLK.js.map +1 -0
- package/dist/{chunk-OR5FNVUE.js → chunk-JS6PG6YD.js} +398 -167
- package/dist/chunk-JS6PG6YD.js.map +1 -0
- package/dist/{chunk-VGVDJZSP.js → chunk-PFJN3XN2.js} +13232 -7388
- package/dist/chunk-PFJN3XN2.js.map +1 -0
- package/dist/chunk-QXOCF56A.js +148 -0
- package/dist/chunk-QXOCF56A.js.map +1 -0
- package/dist/chunk-U4YMA4TJ.js +635 -0
- package/dist/chunk-U4YMA4TJ.js.map +1 -0
- package/dist/desk-engine.js +36 -0
- package/dist/desk-engine.js.map +1 -0
- package/dist/desk-kit.js +244 -0
- package/dist/desk-kit.js.map +1 -0
- package/dist/desk-objects.js +12734 -0
- package/dist/desk-objects.js.map +1 -0
- package/dist/desk.js +497 -0
- package/dist/desk.js.map +1 -0
- package/dist/devtools.js +233 -189
- package/dist/devtools.js.map +1 -1
- package/dist/dom.js +7 -19
- package/dist/index.js +232 -20
- package/dist/kernel.js +53 -25
- package/dist/react.js +1047 -38
- package/dist/react.js.map +1 -1
- package/dist/types/packages/core/src/behavior/define-behavior.d.ts +11 -0
- package/dist/types/packages/core/src/behavior/runtime.d.ts +4 -0
- package/dist/types/packages/core/src/canvas/define-canvas-type.d.ts +86 -0
- package/dist/types/packages/core/src/canvas/define-container.d.ts +17 -0
- package/dist/types/packages/core/src/canvas/diagnostics.d.ts +27 -0
- package/dist/types/packages/core/src/canvas/engine-catalog.d.ts +70 -0
- package/dist/types/packages/core/src/canvas/extensions.d.ts +125 -0
- package/dist/types/packages/core/src/canvas/frame-behavior-host.d.ts +16 -0
- package/dist/types/packages/core/src/canvas/frame-preview.d.ts +79 -0
- package/dist/types/packages/core/src/canvas/frame-projection.d.ts +38 -0
- package/dist/types/packages/core/src/canvas/frame-view.d.ts +36 -0
- package/dist/types/packages/core/src/canvas/migrate.d.ts +14 -0
- package/dist/types/packages/core/src/canvas/placement.d.ts +30 -0
- package/dist/types/packages/core/src/canvas/presentation-transition.d.ts +100 -0
- package/dist/types/packages/core/src/canvas/runtime-extension-host.d.ts +16 -0
- package/dist/types/packages/core/src/canvas/session.d.ts +47 -0
- package/dist/types/packages/core/src/catalog/camera-derived.d.ts +16 -27
- package/dist/types/packages/core/src/catalog/desk.d.ts +326 -0
- package/dist/types/packages/core/src/catalog/gesture.d.ts +51 -0
- package/dist/types/packages/core/src/catalog/graph.d.ts +2 -2
- package/dist/types/packages/core/src/catalog/index.d.ts +2 -0
- package/dist/types/packages/core/src/catalog/pointer.d.ts +42 -0
- package/dist/types/packages/core/src/catalog/selection-presence.d.ts +7 -0
- package/dist/types/packages/core/src/catalog/settings-resources.d.ts +28 -2
- package/dist/types/packages/core/src/catalog/surface.d.ts +1 -0
- package/dist/types/packages/core/src/doc/doc-commit-sink.d.ts +18 -2
- package/dist/types/packages/core/src/doc/doc-kit.d.ts +21 -2
- package/dist/types/packages/core/src/doc/envelope.d.ts +5 -2
- package/dist/types/packages/core/src/doc/schema-migrate.d.ts +1 -1
- package/dist/types/packages/core/src/doc/version-gate.d.ts +21 -3
- package/dist/types/packages/core/src/engine/commit-sink.d.ts +10 -1
- package/dist/types/packages/core/src/engine/engine.d.ts +6 -0
- package/dist/types/packages/core/src/engine/frame-control.d.ts +74 -0
- package/dist/types/packages/core/src/engine/guests.d.ts +4 -1
- package/dist/types/packages/core/src/engine/world-doors.d.ts +12 -0
- package/dist/types/packages/core/src/facade/create-canvas-engine.d.ts +146 -13
- package/dist/types/packages/core/src/index.d.ts +33 -12
- package/dist/types/packages/core/src/input/queue.d.ts +3 -1
- package/dist/types/packages/core/src/interaction/install.d.ts +36 -0
- package/dist/types/packages/core/src/interaction/wakes.d.ts +24 -0
- package/dist/types/packages/core/src/nav/nav-geometry.d.ts +100 -0
- package/dist/types/packages/core/src/nav/nested-canvas.d.ts +47 -4
- package/dist/types/packages/core/src/ops/cascade.d.ts +2 -1
- package/dist/types/packages/core/src/ops/claims.d.ts +6 -0
- package/dist/types/packages/core/src/ops/insert.d.ts +4 -0
- package/dist/types/packages/core/src/ops/point-pick.d.ts +4 -1
- package/dist/types/packages/core/src/ops/sibling-order.d.ts +14 -4
- package/dist/types/packages/core/src/ops/tray.d.ts +48 -0
- package/dist/types/packages/core/src/presence/presence-kit.d.ts +5 -0
- package/dist/types/packages/core/src/schema/meta.d.ts +10 -0
- package/dist/types/packages/core/src/schema/prefab.d.ts +8 -0
- package/dist/types/packages/core/src/settings/defaults.d.ts +25 -6
- package/dist/types/packages/core/src/surface/gpu-device.d.ts +55 -0
- package/dist/types/packages/core/src/systems/camera-sim.d.ts +29 -0
- package/dist/types/packages/core/src/systems/chrome.d.ts +15 -23
- package/dist/types/packages/core/src/systems/drag-mods.d.ts +34 -0
- package/dist/types/packages/core/src/systems/held.d.ts +73 -0
- package/dist/types/packages/core/src/systems/insert-ghost.d.ts +2 -0
- package/dist/types/packages/core/src/systems/l0-input.d.ts +14 -0
- package/dist/types/packages/core/src/systems/l1-pick.d.ts +53 -1
- package/dist/types/packages/core/src/systems/l2-arbitrate.d.ts +18 -4
- package/dist/types/packages/core/src/systems/l2-recognize.d.ts +3 -1
- package/dist/types/packages/core/src/systems/l3-behave.d.ts +4 -1
- package/dist/types/packages/core/src/systems/l3-claim.d.ts +7 -0
- package/dist/types/packages/core/src/systems/l3-connect.d.ts +1 -1
- package/dist/types/packages/core/src/systems/l3-drop.d.ts +30 -1
- package/dist/types/packages/core/src/systems/l3-marquee.d.ts +2 -1
- package/dist/types/packages/core/src/systems/l3-ports.d.ts +1 -1
- package/dist/types/packages/core/src/systems/l4-cursor.d.ts +5 -0
- package/dist/types/packages/core/src/systems/nav-flight.d.ts +85 -3
- package/dist/types/packages/core/src/systems/nav-tap.d.ts +44 -0
- package/dist/types/packages/core/src/systems/press-button.d.ts +25 -0
- package/dist/types/packages/core/src/systems/press-wheel.d.ts +11 -0
- package/dist/types/packages/core/src/systems/tray.d.ts +111 -0
- package/dist/types/packages/core/src/systems/zoom-through.d.ts +30 -0
- package/dist/types/packages/core/src/tools/define-tool.d.ts +10 -0
- package/dist/types/packages/core/src/widget/define-widget.d.ts +166 -63
- package/dist/types/packages/core/src/widget/equip.d.ts +14 -2
- package/dist/types/packages/core/src/widget/held-tools.d.ts +83 -0
- package/dist/types/packages/core/src/widget/menu-actions.d.ts +44 -0
- package/dist/types/packages/core/src/widget/mount-store.d.ts +21 -46
- package/dist/types/packages/core/src/widget/spawn.d.ts +1 -1
- package/dist/types/packages/desk/src/assets/blue-noise.gen.d.ts +10 -0
- package/dist/types/packages/desk/src/card/card.d.ts +103 -0
- package/dist/types/packages/desk/src/compose/ambient.d.ts +59 -0
- package/dist/types/packages/desk/src/compose/builder.d.ts +306 -0
- package/dist/types/packages/desk/src/compose/children.d.ts +3 -0
- package/dist/types/packages/desk/src/compose/index.d.ts +14 -0
- package/dist/types/packages/desk/src/compose/marks.d.ts +133 -0
- package/dist/types/packages/desk/src/compose/pick.d.ts +5 -0
- package/dist/types/packages/desk/src/compose/reflector.d.ts +120 -0
- package/dist/types/packages/desk/src/compose/tap.d.ts +5 -0
- package/dist/types/packages/desk/src/docs.d.ts +23 -0
- package/dist/types/packages/desk/src/engine/budget.d.ts +43 -0
- package/dist/types/packages/desk/src/engine/device.d.ts +54 -0
- package/dist/types/packages/desk/src/engine/index.d.ts +5 -0
- package/dist/types/packages/desk/src/engine/pipeline.d.ts +36 -0
- package/dist/types/packages/desk/src/engine/rasters.d.ts +66 -0
- package/dist/types/packages/desk/src/engine/records.d.ts +56 -0
- package/dist/types/packages/desk/src/engine/shader.d.ts +22 -0
- package/dist/types/packages/desk/src/engine/struct.d.ts +39 -0
- package/dist/types/packages/desk/src/engine/target.d.ts +26 -0
- package/dist/types/packages/desk/src/faults.d.ts +38 -0
- package/dist/types/packages/desk/src/gpu-ablation.d.ts +61 -0
- package/dist/types/packages/desk/src/gpu-memory.d.ts +54 -0
- package/dist/types/packages/desk/src/gpu-profiler.d.ts +141 -0
- package/dist/types/packages/desk/src/gpu-wrap.d.ts +8 -0
- package/dist/types/packages/desk/src/ground.d.ts +537 -0
- package/dist/types/packages/desk/src/hold/focus.d.ts +53 -0
- package/dist/types/packages/desk/src/hold/pose.d.ts +152 -0
- package/dist/types/packages/desk/src/hold/shaders.d.ts +9 -0
- package/dist/types/packages/desk/src/host/editor.d.ts +18 -0
- package/dist/types/packages/desk/src/host/index.d.ts +9 -0
- package/dist/types/packages/desk/src/host/ink.d.ts +18 -0
- package/dist/types/packages/desk/src/host/layer.d.ts +536 -0
- package/dist/types/packages/desk/src/host/picture.d.ts +2 -0
- package/dist/types/packages/desk/src/host/surface.d.ts +5 -0
- package/dist/types/packages/desk/src/index.d.ts +16 -0
- package/dist/types/packages/desk/src/kind.d.ts +189 -0
- package/dist/types/packages/desk/src/kinds/world.d.ts +447 -0
- package/dist/types/packages/desk/src/kit/arrays.d.ts +88 -0
- package/dist/types/packages/desk/src/kit/blobs.d.ts +40 -0
- package/dist/types/packages/desk/src/kit/book.d.ts +2 -0
- package/dist/types/packages/desk/src/kit/editor.d.ts +105 -0
- package/dist/types/packages/desk/src/kit/eye.d.ts +37 -0
- package/dist/types/packages/desk/src/kit/hold.d.ts +1 -0
- package/dist/types/packages/desk/src/kit/index.d.ts +26 -0
- package/dist/types/packages/desk/src/kit/inside.d.ts +116 -0
- package/dist/types/packages/desk/src/kit/layer.d.ts +159 -0
- package/dist/types/packages/desk/src/kit/light.d.ts +3 -0
- package/dist/types/packages/desk/src/kit/mesh.d.ts +29 -0
- package/dist/types/packages/desk/src/kit/mips.d.ts +2 -0
- package/dist/types/packages/desk/src/kit/nav.d.ts +2 -0
- package/dist/types/packages/desk/src/kit/paper-tex.d.ts +5 -0
- package/dist/types/packages/desk/src/kit/physics.d.ts +44 -0
- package/dist/types/packages/desk/src/kit/place.d.ts +44 -0
- package/dist/types/packages/desk/src/kit/print.d.ts +30 -0
- package/dist/types/packages/desk/src/kit/raster.d.ts +34 -0
- package/dist/types/packages/desk/src/kit/sdf.d.ts +1 -0
- package/dist/types/packages/desk/src/kit/seeds.d.ts +11 -0
- package/dist/types/packages/desk/src/kit/services.d.ts +34 -0
- package/dist/types/packages/desk/src/kit/springs.d.ts +12 -0
- package/dist/types/packages/desk/src/kit/strokes.d.ts +93 -0
- package/dist/types/packages/desk/src/kit/text.d.ts +142 -0
- package/dist/types/packages/desk/src/kit/uniform.d.ts +8 -0
- package/dist/types/packages/desk/src/kit/view.d.ts +39 -0
- package/dist/types/packages/desk/src/kit/wgsl.d.ts +15 -0
- package/dist/types/packages/desk/src/lattice/line.d.ts +15 -0
- package/dist/types/packages/desk/src/lattice/lod.d.ts +52 -0
- package/dist/types/packages/desk/src/lattice/ruler.d.ts +88 -0
- package/dist/types/packages/desk/src/marks/assemble.d.ts +65 -0
- package/dist/types/packages/desk/src/marks/ease.d.ts +4 -0
- package/dist/types/packages/desk/src/marks/laser.d.ts +41 -0
- package/dist/types/packages/desk/src/marks/layout.d.ts +167 -0
- package/dist/types/packages/desk/src/marks/pass.d.ts +59 -0
- package/dist/types/packages/desk/src/marks/shaders.d.ts +12 -0
- package/dist/types/packages/desk/src/mat/grid.d.ts +50 -0
- package/dist/types/packages/desk/src/mat/lamp.d.ts +14 -0
- package/dist/types/packages/desk/src/mat/layout.d.ts +144 -0
- package/dist/types/packages/desk/src/mat/mat-pass.d.ts +83 -0
- package/dist/types/packages/desk/src/mat/night.d.ts +95 -0
- package/dist/types/packages/desk/src/mat/projector.d.ts +39 -0
- package/dist/types/packages/desk/src/mat/shaders.d.ts +17 -0
- package/dist/types/packages/desk/src/mat/tilt.d.ts +14 -0
- package/dist/types/packages/desk/src/missing/layout.d.ts +27 -0
- package/dist/types/packages/desk/src/missing/object.d.ts +6 -0
- package/dist/types/packages/desk/src/missing/pass.d.ts +39 -0
- package/dist/types/packages/desk/src/missing/shaders.d.ts +7 -0
- package/dist/types/packages/desk/src/missing/slots.d.ts +8 -0
- package/dist/types/packages/desk/src/nav/flight.d.ts +186 -0
- package/dist/types/packages/desk/src/nav/portal.d.ts +95 -0
- package/dist/types/packages/desk/src/object.d.ts +46 -0
- package/dist/types/packages/desk/src/pass-instrument.d.ts +89 -0
- package/dist/types/packages/desk/src/shaders.d.ts +12 -0
- package/dist/types/packages/desk/src/shaders.gen.d.ts +17 -0
- package/dist/types/packages/desk/src/submit-instrument.d.ts +36 -0
- package/dist/types/packages/desk/src/theme.d.ts +497 -0
- package/dist/types/packages/desk/src/tray/carry.d.ts +99 -0
- package/dist/types/packages/desk/src/tray/drawer.d.ts +124 -0
- package/dist/types/packages/desk/src/tray/flux.d.ts +49 -0
- package/dist/types/packages/desk/src/tray/index.d.ts +4 -0
- package/dist/types/packages/desk/src/tray/lattice.d.ts +71 -0
- package/dist/types/packages/desk/src/tray/layout.d.ts +7 -0
- package/dist/types/packages/desk/src/tray/look.d.ts +29 -0
- package/dist/types/packages/desk/src/tray/pass.d.ts +101 -0
- package/dist/types/packages/desk/src/tray/shaders.d.ts +10 -0
- package/dist/types/packages/desk/src/tray/specimens.d.ts +214 -0
- package/dist/types/packages/devtools/src/attach.d.ts +22 -8
- package/dist/types/packages/devtools/src/dock.d.ts +18 -14
- package/dist/types/packages/devtools/src/gpu-panel.d.ts +105 -0
- package/dist/types/packages/devtools/src/index.d.ts +5 -4
- package/dist/types/packages/dom/src/desk-host.d.ts +104 -0
- package/dist/types/packages/dom/src/host.d.ts +13 -14
- package/dist/types/packages/dom/src/index.d.ts +12 -10
- package/dist/types/packages/dom/src/loop.d.ts +18 -1
- package/dist/types/packages/dom/src/pointer-adapter.d.ts +11 -29
- package/dist/types/packages/dom/src/widget-focus.d.ts +17 -13
- package/dist/types/packages/ice/src/desk-engine.d.ts +2 -0
- package/dist/types/packages/ice/src/desk-kit.d.ts +6 -0
- package/dist/types/packages/ice/src/desk-objects.d.ts +5 -0
- package/dist/types/packages/ice/src/desk.d.ts +5 -0
- package/dist/types/packages/kernel/src/atlas-pack.d.ts +157 -0
- package/dist/types/packages/kernel/src/bezier.d.ts +0 -15
- package/dist/types/packages/kernel/src/coords.d.ts +0 -39
- package/dist/types/packages/kernel/src/index.d.ts +2 -2
- package/dist/types/packages/kernel/src/nav-flight.d.ts +6 -0
- package/dist/types/packages/kernel/src/tray.d.ts +155 -0
- package/dist/types/packages/objects/src/board/board-pass.d.ts +180 -0
- package/dist/types/packages/objects/src/board/board-pen.d.ts +36 -0
- package/dist/types/packages/objects/src/board/board.d.ts +104 -0
- package/dist/types/packages/objects/src/board/data.d.ts +31 -0
- package/dist/types/packages/objects/src/board/history.d.ts +33 -0
- package/dist/types/packages/objects/src/board/kind.d.ts +208 -0
- package/dist/types/packages/objects/src/board/layout.d.ts +102 -0
- package/dist/types/packages/objects/src/board/object.d.ts +7 -0
- package/dist/types/packages/objects/src/board/pen.d.ts +71 -0
- package/dist/types/packages/objects/src/board/shaders.d.ts +36 -0
- package/dist/types/packages/objects/src/board/stroke.d.ts +99 -0
- package/dist/types/packages/objects/src/board/theme.d.ts +150 -0
- package/dist/types/packages/objects/src/calendar/data.d.ts +97 -0
- package/dist/types/packages/objects/src/calendar/events.d.ts +58 -0
- package/dist/types/packages/objects/src/calendar/hand.d.ts +53 -0
- package/dist/types/packages/objects/src/calendar/host/input.d.ts +67 -0
- package/dist/types/packages/objects/src/calendar/host/print.d.ts +9 -0
- package/dist/types/packages/objects/src/calendar/kind.d.ts +297 -0
- package/dist/types/packages/objects/src/calendar/law.d.ts +151 -0
- package/dist/types/packages/objects/src/calendar/layout.d.ts +47 -0
- package/dist/types/packages/objects/src/calendar/month.d.ts +75 -0
- package/dist/types/packages/objects/src/calendar/object.d.ts +45 -0
- package/dist/types/packages/objects/src/calendar/pad.d.ts +42 -0
- package/dist/types/packages/objects/src/calendar/pass.d.ts +229 -0
- package/dist/types/packages/objects/src/calendar/print.d.ts +87 -0
- package/dist/types/packages/objects/src/calendar/printing.d.ts +80 -0
- package/dist/types/packages/objects/src/calendar/roll.d.ts +45 -0
- package/dist/types/packages/objects/src/calendar/shaders.d.ts +12 -0
- package/dist/types/packages/objects/src/calendar/sheet.d.ts +43 -0
- package/dist/types/packages/objects/src/calendar/tiles.d.ts +67 -0
- package/dist/types/packages/objects/src/calendar/turn.d.ts +73 -0
- package/dist/types/packages/objects/src/calendar/writing.d.ts +42 -0
- package/dist/types/packages/objects/src/index.d.ts +22 -0
- package/dist/types/packages/objects/src/kinds.d.ts +24 -0
- package/dist/types/packages/objects/src/minimat/inside.d.ts +17 -0
- package/dist/types/packages/objects/src/minimat/kind.d.ts +51 -0
- package/dist/types/packages/objects/src/minimat/layout.d.ts +83 -0
- package/dist/types/packages/objects/src/minimat/minimat.d.ts +179 -0
- package/dist/types/packages/objects/src/minimat/object.d.ts +8 -0
- package/dist/types/packages/objects/src/minimat/pass.d.ts +61 -0
- package/dist/types/packages/objects/src/minimat/shaders.d.ts +10 -0
- package/dist/types/packages/objects/src/minimat/theme.d.ts +98 -0
- package/dist/types/packages/objects/src/notebook/ink.d.ts +70 -0
- package/dist/types/packages/objects/src/notebook/kind.d.ts +236 -0
- package/dist/types/packages/objects/src/notebook/law.d.ts +129 -0
- package/dist/types/packages/objects/src/notebook/layout.d.ts +46 -0
- package/dist/types/packages/objects/src/notebook/leaf.d.ts +44 -0
- package/dist/types/packages/objects/src/notebook/mesh.d.ts +20 -0
- package/dist/types/packages/objects/src/notebook/motion.d.ts +107 -0
- package/dist/types/packages/objects/src/notebook/object.d.ts +8 -0
- package/dist/types/packages/objects/src/notebook/pages.d.ts +56 -0
- package/dist/types/packages/objects/src/notebook/pass.d.ts +197 -0
- package/dist/types/packages/objects/src/notebook/pick.d.ts +30 -0
- package/dist/types/packages/objects/src/notebook/raster.d.ts +28 -0
- package/dist/types/packages/objects/src/notebook/shaders.d.ts +11 -0
- package/dist/types/packages/objects/src/notebook/shape.d.ts +155 -0
- package/dist/types/packages/objects/src/notebook/theme.d.ts +76 -0
- package/dist/types/packages/objects/src/palette.d.ts +577 -0
- package/dist/types/packages/objects/src/paper/host/body.d.ts +30 -0
- package/dist/types/packages/objects/src/paper/kind.d.ts +81 -0
- package/dist/types/packages/objects/src/paper/layout.d.ts +73 -0
- package/dist/types/packages/objects/src/paper/object.d.ts +31 -0
- package/dist/types/packages/objects/src/paper/pages.d.ts +43 -0
- package/dist/types/packages/objects/src/paper/paper-pass.d.ts +86 -0
- package/dist/types/packages/objects/src/paper/paper.d.ts +117 -0
- package/dist/types/packages/objects/src/paper/shaders.d.ts +18 -0
- package/dist/types/packages/objects/src/paper/theme.d.ts +58 -0
- package/dist/types/packages/objects/src/paper/typing.d.ts +51 -0
- package/dist/types/packages/objects/src/paper/writing.d.ts +161 -0
- package/dist/types/packages/objects/src/photo/carry.d.ts +33 -0
- package/dist/types/packages/objects/src/photo/kind.d.ts +136 -0
- package/dist/types/packages/objects/src/photo/layout.d.ts +39 -0
- package/dist/types/packages/objects/src/photo/object.d.ts +5 -0
- package/dist/types/packages/objects/src/photo/photo-pass.d.ts +104 -0
- package/dist/types/packages/objects/src/photo/photo.d.ts +262 -0
- package/dist/types/packages/objects/src/photo/pictures.d.ts +152 -0
- package/dist/types/packages/objects/src/photo/sample.d.ts +9 -0
- package/dist/types/packages/objects/src/photo/shaders.d.ts +18 -0
- package/dist/types/packages/objects/src/preset.d.ts +44 -0
- package/dist/types/packages/objects/src/shaders.d.ts +3 -0
- package/dist/types/packages/objects/src/shaders.gen.d.ts +21 -0
- package/dist/types/packages/react/src/canvas-hooks.d.ts +12 -0
- package/dist/types/packages/react/src/desk.d.ts +56 -0
- package/dist/types/packages/react/src/engine-context.d.ts +2 -2
- package/dist/types/packages/react/src/frame-preview-boundary.d.ts +19 -0
- package/dist/types/packages/react/src/hooks.d.ts +9 -14
- package/dist/types/packages/react/src/index.d.ts +16 -9
- package/dist/types/packages/react/src/keymap.d.ts +21 -2
- package/dist/types/packages/react/src/selection-menu.d.ts +174 -0
- package/dist/types/packages/react/src/tray-bar.d.ts +124 -0
- package/package.json +64 -31
- package/dist/chunk-2TNVB2ON.js +0 -1163
- package/dist/chunk-2TNVB2ON.js.map +0 -1
- package/dist/chunk-OR5FNVUE.js.map +0 -1
- package/dist/chunk-Q665T4L7.js +0 -681
- package/dist/chunk-Q665T4L7.js.map +0 -1
- package/dist/chunk-VGVDJZSP.js.map +0 -1
- package/dist/ground.js +0 -1108
- package/dist/ground.js.map +0 -1
- package/dist/r3f.js +0 -1644
- package/dist/r3f.js.map +0 -1
- package/dist/types/packages/core/src/input/measure-queue.d.ts +0 -30
- package/dist/types/packages/core/src/settings/ground-config.d.ts +0 -101
- package/dist/types/packages/core/src/systems/measure-ingest.d.ts +0 -26
- package/dist/types/packages/devtools/src/gl-panel.d.ts +0 -69
- package/dist/types/packages/dom/src/measure-adapter.d.ts +0 -31
- package/dist/types/packages/dom/src/measure-wiring.d.ts +0 -49
- package/dist/types/packages/dom/src/planes.d.ts +0 -33
- package/dist/types/packages/dom/src/reflectors/chrome.d.ts +0 -33
- package/dist/types/packages/dom/src/reflectors/dom-widgets.d.ts +0 -59
- package/dist/types/packages/dom/src/reflectors/graybox.d.ts +0 -31
- package/dist/types/packages/dom/src/reflectors/plane-transform.d.ts +0 -38
- package/dist/types/packages/ground/src/index.d.ts +0 -69
- package/dist/types/packages/ground/src/layer.d.ts +0 -40
- package/dist/types/packages/ground/src/pass.d.ts +0 -41
- package/dist/types/packages/ground/src/passes/grid-contract.d.ts +0 -28
- package/dist/types/packages/ground/src/passes/grid-magnet-pass.d.ts +0 -2
- package/dist/types/packages/ground/src/passes/grid-magnet.d.ts +0 -31
- package/dist/types/packages/ground/src/passes/grid.d.ts +0 -10
- package/dist/types/packages/ground/src/passes/guides-collect.d.ts +0 -14
- package/dist/types/packages/ground/src/passes/guides.d.ts +0 -3
- package/dist/types/packages/ground/src/passes/magnet-collect.d.ts +0 -63
- package/dist/types/packages/ground/src/passes/soup-collect.d.ts +0 -35
- package/dist/types/packages/ground/src/passes/soup-mesh.d.ts +0 -8
- package/dist/types/packages/ground/src/passes/wires-collect.d.ts +0 -35
- package/dist/types/packages/ground/src/passes/wires.d.ts +0 -10
- package/dist/types/packages/ground/src/poles.d.ts +0 -47
- package/dist/types/packages/ground/src/renderer.d.ts +0 -15
- package/dist/types/packages/ice/src/ground.d.ts +0 -1
- package/dist/types/packages/ice/src/r3f.d.ts +0 -1
- package/dist/types/packages/kernel/src/eviction.d.ts +0 -23
- package/dist/types/packages/kernel/src/zoom-bands.d.ts +0 -19
- package/dist/types/packages/r3f/src/bridge.d.ts +0 -129
- package/dist/types/packages/r3f/src/composite-material.d.ts +0 -26
- package/dist/types/packages/r3f/src/compositor-pass.d.ts +0 -105
- package/dist/types/packages/r3f/src/dev-write-trap.d.ts +0 -30
- package/dist/types/packages/r3f/src/gl-root.d.ts +0 -96
- package/dist/types/packages/r3f/src/gl-router.d.ts +0 -70
- package/dist/types/packages/r3f/src/index.d.ts +0 -17
- package/dist/types/packages/r3f/src/island-state.d.ts +0 -112
- package/dist/types/packages/r3f/src/island.d.ts +0 -13
- package/dist/types/packages/r3f/src/pool.d.ts +0 -56
- package/dist/types/packages/r3f/src/preview-capture.d.ts +0 -19
- package/dist/types/packages/r3f/src/resource-registry.d.ts +0 -30
- package/dist/types/packages/r3f/src/self-sustain.d.ts +0 -39
- package/dist/types/packages/r3f/src/use-island-frame.d.ts +0 -39
- package/dist/types/packages/react/src/infinite-canvas.d.ts +0 -140
- package/dist/types/packages/react/src/preview-snapshots.d.ts +0 -17
- package/dist/types/packages/react/src/widget-preview.d.ts +0 -14
- package/dist/types/packages/react/src/widget-root.d.ts +0 -33
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
// ../desk/src/engine/pipeline.ts
|
|
2
|
+
var stageBits = (v) => v === "vertex" ? GPUShaderStage.VERTEX : v === "fragment" ? GPUShaderStage.FRAGMENT : GPUShaderStage.COMPUTE;
|
|
3
|
+
var labelled = (label) => label === void 0 ? {} : { label };
|
|
4
|
+
function bindLayout(device, entries, label) {
|
|
5
|
+
return device.createBindGroupLayout({
|
|
6
|
+
...labelled(label),
|
|
7
|
+
entries: entries.map((e) => {
|
|
8
|
+
const visibility = e.stages.reduce((m, s) => m | stageBits(s), 0);
|
|
9
|
+
if ("buffer" in e) return { binding: e.binding, visibility, buffer: { type: e.buffer } };
|
|
10
|
+
if ("texture" in e) return { binding: e.binding, visibility, texture: { sampleType: e.texture, ...e.dimension ? { viewDimension: e.dimension } : {} } };
|
|
11
|
+
return { binding: e.binding, visibility, sampler: { type: e.sampler } };
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function bindGroup(device, layout, resources, label) {
|
|
16
|
+
return device.createBindGroup({
|
|
17
|
+
...labelled(label),
|
|
18
|
+
layout,
|
|
19
|
+
// Duck-typed, not `instanceof GPUBuffer`: under Dawn-in-Node the class
|
|
20
|
+
// globals are optional, and a buffer is the one resource that can be mapped.
|
|
21
|
+
entries: resources.map((r, binding) => ({
|
|
22
|
+
binding,
|
|
23
|
+
resource: typeof r.getMappedRange === "function" ? { buffer: r } : r
|
|
24
|
+
}))
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
var BLEND_OVER = {
|
|
28
|
+
color: { srcFactor: "src-alpha", dstFactor: "one-minus-src-alpha", operation: "add" },
|
|
29
|
+
alpha: { srcFactor: "one", dstFactor: "one-minus-src-alpha", operation: "add" }
|
|
30
|
+
};
|
|
31
|
+
function renderPipeline(device, o) {
|
|
32
|
+
const constants = o.constants ?? {};
|
|
33
|
+
return device.createRenderPipelineAsync({
|
|
34
|
+
...labelled(o.label),
|
|
35
|
+
layout: o.layout,
|
|
36
|
+
vertex: { module: o.module, entryPoint: o.vertex ?? "vs", constants },
|
|
37
|
+
fragment: {
|
|
38
|
+
module: o.module,
|
|
39
|
+
entryPoint: o.fragment ?? "fs",
|
|
40
|
+
constants,
|
|
41
|
+
targets: [o.blend ? { format: o.format, blend: o.blend } : { format: o.format }]
|
|
42
|
+
},
|
|
43
|
+
primitive: { topology: o.topology ?? "triangle-list" }
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function uniformBuffer(device, size, label) {
|
|
47
|
+
return device.createBuffer({ ...labelled(label), size, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST });
|
|
48
|
+
}
|
|
49
|
+
function storageBuffer(device, size, label) {
|
|
50
|
+
return device.createBuffer({ ...labelled(label), size, usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST });
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// ../desk/src/engine/struct.ts
|
|
54
|
+
var TYPES = {
|
|
55
|
+
f32: { align: 4, size: 4, n: 1, scalar: "f" },
|
|
56
|
+
i32: { align: 4, size: 4, n: 1, scalar: "i" },
|
|
57
|
+
u32: { align: 4, size: 4, n: 1, scalar: "u" },
|
|
58
|
+
vec2f: { align: 8, size: 8, n: 2, scalar: "f" },
|
|
59
|
+
vec3f: { align: 16, size: 12, n: 3, scalar: "f" },
|
|
60
|
+
vec4f: { align: 16, size: 16, n: 4, scalar: "f" },
|
|
61
|
+
// 4 columns of vec4f, column-major — what a projector matrix is uploaded as.
|
|
62
|
+
mat4x4f: { align: 16, size: 64, n: 16, scalar: "f" }
|
|
63
|
+
};
|
|
64
|
+
function typeInfo(type) {
|
|
65
|
+
if (type in TYPES) return TYPES[type];
|
|
66
|
+
const m = /^array<vec4f, (\d+)>$/.exec(type);
|
|
67
|
+
const n = m ? Number(m[1]) : 0;
|
|
68
|
+
return n > 0 ? { align: 16, size: 16 * n, n: 4 * n, scalar: "f" } : void 0;
|
|
69
|
+
}
|
|
70
|
+
function defineStruct(name, fields) {
|
|
71
|
+
let offset = 0;
|
|
72
|
+
let maxAlign = 4;
|
|
73
|
+
const slots = {};
|
|
74
|
+
const seen = /* @__PURE__ */ new Set();
|
|
75
|
+
for (const [field, type] of fields) {
|
|
76
|
+
if (seen.has(field)) throw new Error(`struct ${name}: duplicate field "${field}"`);
|
|
77
|
+
seen.add(field);
|
|
78
|
+
const t = typeInfo(type);
|
|
79
|
+
if (!t) throw new Error(`struct ${name}: unknown type ${String(type)} for "${field}"`);
|
|
80
|
+
offset = Math.ceil(offset / t.align) * t.align;
|
|
81
|
+
slots[field] = { byte: offset, type, n: t.n };
|
|
82
|
+
offset += t.size;
|
|
83
|
+
maxAlign = Math.max(maxAlign, t.align);
|
|
84
|
+
}
|
|
85
|
+
const size = Math.ceil(offset / 16) * 16;
|
|
86
|
+
const width = Math.max(...fields.map(([f]) => f.length), 1);
|
|
87
|
+
const wgsl = `struct ${name} {
|
|
88
|
+
${fields.map(([f, t]) => ` ${f.padEnd(width)} : ${t},`).join("\n")}
|
|
89
|
+
}
|
|
90
|
+
`;
|
|
91
|
+
const def = {
|
|
92
|
+
name,
|
|
93
|
+
fields,
|
|
94
|
+
size,
|
|
95
|
+
slots,
|
|
96
|
+
wgsl,
|
|
97
|
+
alloc(count = 1) {
|
|
98
|
+
const bytes = new ArrayBuffer(size * count);
|
|
99
|
+
const f = new Float32Array(bytes);
|
|
100
|
+
const i = new Int32Array(bytes);
|
|
101
|
+
const u = new Uint32Array(bytes);
|
|
102
|
+
return {
|
|
103
|
+
def,
|
|
104
|
+
count,
|
|
105
|
+
bytes,
|
|
106
|
+
set(values, index = 0) {
|
|
107
|
+
if (index < 0 || index >= count) throw new Error(`struct ${name}: element ${index} outside 0..${count - 1}`);
|
|
108
|
+
const base = index * size / 4;
|
|
109
|
+
for (const key in values) {
|
|
110
|
+
const slot = slots[key];
|
|
111
|
+
if (!slot) throw new Error(`struct ${name}: no field "${key}"`);
|
|
112
|
+
const v = values[key];
|
|
113
|
+
const at = base + slot.byte / 4;
|
|
114
|
+
if (slot.n === 1) {
|
|
115
|
+
const num = typeof v === "boolean" ? v ? 1 : 0 : v;
|
|
116
|
+
if (typeof num !== "number") throw new Error(`struct ${name}: "${key}" wants a number`);
|
|
117
|
+
const s = typeInfo(slot.type).scalar;
|
|
118
|
+
if (s === "f") f[at] = num;
|
|
119
|
+
else if (s === "i") i[at] = num | 0;
|
|
120
|
+
else u[at] = num >>> 0;
|
|
121
|
+
} else {
|
|
122
|
+
const arr = v;
|
|
123
|
+
if (!arr || typeof arr.length !== "number" || arr.length !== slot.n) {
|
|
124
|
+
throw new Error(`struct ${name}: "${key}" wants ${slot.n} components`);
|
|
125
|
+
}
|
|
126
|
+
for (let k = 0; k < slot.n; k++) f[at + k] = arr[k];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
view(elements = count) {
|
|
131
|
+
return new Uint8Array(bytes, 0, Math.min(elements, count) * size);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
return def;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export {
|
|
140
|
+
bindLayout,
|
|
141
|
+
bindGroup,
|
|
142
|
+
BLEND_OVER,
|
|
143
|
+
renderPipeline,
|
|
144
|
+
uniformBuffer,
|
|
145
|
+
storageBuffer,
|
|
146
|
+
defineStruct
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=chunk-QXOCF56A.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../desk/src/engine/pipeline.ts","../../desk/src/engine/struct.ts"],"sourcesContent":["// Pipelines and bind groups without the ceremony. Layouts are EXPLICIT, never\n// 'auto': two passes that read the same buffers share one layout object, so a\n// bind group built for one binds to the other.\n\nexport type Visibility = \"vertex\" | \"fragment\" | \"compute\";\n// Looked up at call time, never at module load: a Node host installs the GPU\n// globals AFTER importing the engine.\nconst stageBits = (v: Visibility): number =>\n v === \"vertex\" ? GPUShaderStage.VERTEX : v === \"fragment\" ? GPUShaderStage.FRAGMENT : GPUShaderStage.COMPUTE;\n\n/** `exactOptionalPropertyTypes`: an absent label must be absent, not `undefined`. */\nconst labelled = (label: string | undefined) => (label === undefined ? {} : { label });\n\nexport type BindEntry =\n | { readonly binding: number; readonly stages: readonly Visibility[]; readonly buffer: GPUBufferBindingType }\n | { readonly binding: number; readonly stages: readonly Visibility[]; readonly texture: GPUTextureSampleType; readonly dimension?: GPUTextureViewDimension }\n | { readonly binding: number; readonly stages: readonly Visibility[]; readonly sampler: GPUSamplerBindingType };\n\n/** A binding's layout without its number — what a card material declares (K7b), the card deals the numbers. */\nexport type BindKind = BindEntry extends infer E ? (E extends BindEntry ? Omit<E, \"binding\"> : never) : never;\n\nexport function bindLayout(device: GPUDevice, entries: readonly BindEntry[], label?: string): GPUBindGroupLayout {\n return device.createBindGroupLayout({\n ...labelled(label),\n entries: entries.map((e) => {\n const visibility = e.stages.reduce((m, s) => m | stageBits(s), 0);\n if (\"buffer\" in e) return { binding: e.binding, visibility, buffer: { type: e.buffer } };\n if (\"texture\" in e) return { binding: e.binding, visibility, texture: { sampleType: e.texture, ...(e.dimension ? { viewDimension: e.dimension } : {}) } };\n return { binding: e.binding, visibility, sampler: { type: e.sampler } };\n }),\n });\n}\n\nexport function bindGroup(\n device: GPUDevice,\n layout: GPUBindGroupLayout,\n resources: ReadonlyArray<GPUBuffer | GPUTextureView | GPUSampler>,\n label?: string,\n): GPUBindGroup {\n return device.createBindGroup({\n ...labelled(label),\n layout,\n // Duck-typed, not `instanceof GPUBuffer`: under Dawn-in-Node the class\n // globals are optional, and a buffer is the one resource that can be mapped.\n entries: resources.map((r, binding) => ({\n binding,\n resource: typeof (r as GPUBuffer).getMappedRange === \"function\" ? { buffer: r as GPUBuffer } : (r as GPUTextureView | GPUSampler),\n })),\n });\n}\n\n/** Straight-alpha \"source over\": colour by src-alpha, alpha accumulates. */\nexport const BLEND_OVER: GPUBlendState = {\n color: { srcFactor: \"src-alpha\", dstFactor: \"one-minus-src-alpha\", operation: \"add\" },\n alpha: { srcFactor: \"one\", dstFactor: \"one-minus-src-alpha\", operation: \"add\" },\n};\n\nexport interface RenderPipelineOptions {\n readonly label?: string;\n readonly layout: GPUPipelineLayout;\n readonly module: GPUShaderModule;\n readonly vertex?: string;\n readonly fragment?: string;\n readonly format: GPUTextureFormat;\n readonly blend?: GPUBlendState;\n /** WGSL `override` values, fixed at creation — how one file becomes N specialised pipelines. */\n readonly constants?: Record<string, number>;\n readonly topology?: GPUPrimitiveTopology;\n}\n\nexport function renderPipeline(device: GPUDevice, o: RenderPipelineOptions): Promise<GPURenderPipeline> {\n const constants = o.constants ?? {};\n return device.createRenderPipelineAsync({\n ...labelled(o.label),\n layout: o.layout,\n vertex: { module: o.module, entryPoint: o.vertex ?? \"vs\", constants },\n fragment: {\n module: o.module, entryPoint: o.fragment ?? \"fs\", constants,\n targets: [o.blend ? { format: o.format, blend: o.blend } : { format: o.format }],\n },\n primitive: { topology: o.topology ?? \"triangle-list\" },\n });\n}\n\nexport function uniformBuffer(device: GPUDevice, size: number, label?: string): GPUBuffer {\n return device.createBuffer({ ...labelled(label), size, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST });\n}\n\nexport function storageBuffer(device: GPUDevice, size: number, label?: string): GPUBuffer {\n return device.createBuffer({ ...labelled(label), size, usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST });\n}\n","// ONE declaration of a GPU struct, in TypeScript. It yields the WGSL `struct`\n// text the shader is compiled against, the byte layout the CPU packs to, and a\n// packer that writes by field name. Because the shader's struct is generated\n// from this same list in this same order, a layout mismatch is not possible —\n// and a typo in a field name fails WGSL compilation, loudly, at startup, rather\n// than silently reading garbage. (Lineage: research/sdf-card/src/gpu/uniforms.js.)\n//\n// Layout follows the WGSL host-shareable rules for the types we use:\n// f32 / i32 / u32 align 4 size 4\n// vec2f align 8 size 8\n// vec3f align 16 size 12 (a following scalar packs into its tail)\n// vec4f align 16 size 16\n// mat4x4f align 16 size 64 (four vec4f columns)\n// A struct's size is rounded up to 16 so it is a legal uniform member AND a\n// legal storage-array element with the same stride in both address spaces.\n\n/** The scalar and vector types, and a fixed array of vec4f (`array<vec4f, N>`: stride 16, legal in a uniform block) — the portal chain's. */\nexport type FieldType = \"f32\" | \"i32\" | \"u32\" | \"vec2f\" | \"vec3f\" | \"vec4f\" | \"mat4x4f\" | `array<vec4f, ${number}>`;\n\ninterface TypeInfo { readonly align: number; readonly size: number; readonly n: number; readonly scalar: \"f\" | \"i\" | \"u\" }\nconst TYPES: Record<Exclude<FieldType, `array<vec4f, ${number}>`>, TypeInfo> = {\n f32: { align: 4, size: 4, n: 1, scalar: \"f\" },\n i32: { align: 4, size: 4, n: 1, scalar: \"i\" },\n u32: { align: 4, size: 4, n: 1, scalar: \"u\" },\n vec2f: { align: 8, size: 8, n: 2, scalar: \"f\" },\n vec3f: { align: 16, size: 12, n: 3, scalar: \"f\" },\n vec4f: { align: 16, size: 16, n: 4, scalar: \"f\" },\n // 4 columns of vec4f, column-major — what a projector matrix is uploaded as.\n mat4x4f: { align: 16, size: 64, n: 16, scalar: \"f\" },\n};\n\n/** A field type's layout: the table's, or a vec4f array's — N × 16 bytes, 4N floats, written as one flat list. */\nexport function typeInfo(type: FieldType): TypeInfo | undefined {\n if (type in TYPES) return TYPES[type as keyof typeof TYPES];\n const m = /^array<vec4f, (\\d+)>$/.exec(type);\n const n = m ? Number(m[1]) : 0;\n return n > 0 ? { align: 16, size: 16 * n, n: 4 * n, scalar: \"f\" } : undefined;\n}\n\nexport interface FieldSlot {\n readonly byte: number;\n readonly type: FieldType;\n readonly n: number;\n}\n\nexport type FieldValue = number | boolean | ArrayLike<number>;\nexport type StructValues<F extends string> = Partial<Record<F, FieldValue>>;\n\nexport interface StructDef<F extends string> {\n readonly name: string;\n readonly fields: ReadonlyArray<readonly [F, FieldType]>;\n /** Padded size in bytes; also the array stride. */\n readonly size: number;\n readonly slots: Readonly<Record<F, FieldSlot>>;\n /** `struct <name> { ... }` — prepend to any shader that binds this. */\n readonly wgsl: string;\n /** Backing storage for `count` elements. */\n alloc(count?: number): StructBuffer<F>;\n}\n\nexport interface StructBuffer<F extends string> {\n readonly def: StructDef<F>;\n readonly count: number;\n readonly bytes: ArrayBuffer;\n /** Write fields by name into element `index`. Unknown names and wrong arity throw. */\n set(values: StructValues<F>, index?: number): void;\n /** The byte view to upload; `elements` trims to a prefix of the array. */\n view(elements?: number): Uint8Array<ArrayBuffer>;\n}\n\nexport function defineStruct<F extends string>(\n name: string,\n fields: ReadonlyArray<readonly [F, FieldType]>,\n): StructDef<F> {\n let offset = 0;\n let maxAlign = 4;\n const slots = {} as Record<F, FieldSlot>;\n const seen = new Set<string>();\n for (const [field, type] of fields) {\n if (seen.has(field)) throw new Error(`struct ${name}: duplicate field \"${field}\"`);\n seen.add(field);\n const t = typeInfo(type);\n if (!t) throw new Error(`struct ${name}: unknown type ${String(type)} for \"${field}\"`);\n offset = Math.ceil(offset / t.align) * t.align;\n slots[field] = { byte: offset, type, n: t.n };\n offset += t.size;\n maxAlign = Math.max(maxAlign, t.align);\n }\n const size = Math.ceil(offset / 16) * 16;\n const width = Math.max(...fields.map(([f]) => f.length), 1);\n const wgsl =\n `struct ${name} {\\n${fields.map(([f, t]) => ` ${f.padEnd(width)} : ${t},`).join(\"\\n\")}\\n}\\n`;\n\n const def: StructDef<F> = {\n name, fields, size, slots, wgsl,\n alloc(count = 1) {\n const bytes = new ArrayBuffer(size * count);\n const f = new Float32Array(bytes);\n const i = new Int32Array(bytes);\n const u = new Uint32Array(bytes);\n return {\n def, count, bytes,\n set(values, index = 0) {\n if (index < 0 || index >= count) throw new Error(`struct ${name}: element ${index} outside 0..${count - 1}`);\n const base = (index * size) / 4;\n for (const key in values) {\n const slot = slots[key as F];\n if (!slot) throw new Error(`struct ${name}: no field \"${key}\"`);\n const v = values[key as F] as FieldValue;\n const at = base + slot.byte / 4;\n if (slot.n === 1) {\n const num = typeof v === \"boolean\" ? (v ? 1 : 0) : (v as number);\n if (typeof num !== \"number\") throw new Error(`struct ${name}: \"${key}\" wants a number`);\n const s = (typeInfo(slot.type) as TypeInfo).scalar;\n if (s === \"f\") f[at] = num; else if (s === \"i\") i[at] = num | 0; else u[at] = num >>> 0;\n } else {\n const arr = v as ArrayLike<number>;\n if (!arr || typeof arr.length !== \"number\" || arr.length !== slot.n) {\n throw new Error(`struct ${name}: \"${key}\" wants ${slot.n} components`);\n }\n for (let k = 0; k < slot.n; k++) f[at + k] = arr[k] as number;\n }\n }\n },\n view(elements = count) {\n return new Uint8Array(bytes, 0, Math.min(elements, count) * size);\n },\n };\n },\n };\n return def;\n}\n"],"mappings":";AAOA,IAAM,YAAY,CAAC,MACjB,MAAM,WAAW,eAAe,SAAS,MAAM,aAAa,eAAe,WAAW,eAAe;AAGvG,IAAM,WAAW,CAAC,UAA+B,UAAU,SAAY,CAAC,IAAI,EAAE,MAAM;AAU7E,SAAS,WAAW,QAAmB,SAA+B,OAAoC;AAC/G,SAAO,OAAO,sBAAsB;AAAA,IAClC,GAAG,SAAS,KAAK;AAAA,IACjB,SAAS,QAAQ,IAAI,CAAC,MAAM;AAC1B,YAAM,aAAa,EAAE,OAAO,OAAO,CAAC,GAAG,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC;AAChE,UAAI,YAAY,EAAG,QAAO,EAAE,SAAS,EAAE,SAAS,YAAY,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;AACvF,UAAI,aAAa,EAAG,QAAO,EAAE,SAAS,EAAE,SAAS,YAAY,SAAS,EAAE,YAAY,EAAE,SAAS,GAAI,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,IAAI,CAAC,EAAG,EAAE;AACxJ,aAAO,EAAE,SAAS,EAAE,SAAS,YAAY,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;AAAA,IACxE,CAAC;AAAA,EACH,CAAC;AACH;AAEO,SAAS,UACd,QACA,QACA,WACA,OACc;AACd,SAAO,OAAO,gBAAgB;AAAA,IAC5B,GAAG,SAAS,KAAK;AAAA,IACjB;AAAA;AAAA;AAAA,IAGA,SAAS,UAAU,IAAI,CAAC,GAAG,aAAa;AAAA,MACtC;AAAA,MACA,UAAU,OAAQ,EAAgB,mBAAmB,aAAa,EAAE,QAAQ,EAAe,IAAK;AAAA,IAClG,EAAE;AAAA,EACJ,CAAC;AACH;AAGO,IAAM,aAA4B;AAAA,EACvC,OAAO,EAAE,WAAW,aAAa,WAAW,uBAAuB,WAAW,MAAM;AAAA,EACpF,OAAO,EAAE,WAAW,OAAO,WAAW,uBAAuB,WAAW,MAAM;AAChF;AAeO,SAAS,eAAe,QAAmB,GAAsD;AACtG,QAAM,YAAY,EAAE,aAAa,CAAC;AAClC,SAAO,OAAO,0BAA0B;AAAA,IACtC,GAAG,SAAS,EAAE,KAAK;AAAA,IACnB,QAAQ,EAAE;AAAA,IACV,QAAQ,EAAE,QAAQ,EAAE,QAAQ,YAAY,EAAE,UAAU,MAAM,UAAU;AAAA,IACpE,UAAU;AAAA,MACR,QAAQ,EAAE;AAAA,MAAQ,YAAY,EAAE,YAAY;AAAA,MAAM;AAAA,MAClD,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,OAAO,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;AAAA,IACjF;AAAA,IACA,WAAW,EAAE,UAAU,EAAE,YAAY,gBAAgB;AAAA,EACvD,CAAC;AACH;AAEO,SAAS,cAAc,QAAmB,MAAc,OAA2B;AACxF,SAAO,OAAO,aAAa,EAAE,GAAG,SAAS,KAAK,GAAG,MAAM,OAAO,eAAe,UAAU,eAAe,SAAS,CAAC;AAClH;AAEO,SAAS,cAAc,QAAmB,MAAc,OAA2B;AACxF,SAAO,OAAO,aAAa,EAAE,GAAG,SAAS,KAAK,GAAG,MAAM,OAAO,eAAe,UAAU,eAAe,SAAS,CAAC;AAClH;;;ACtEA,IAAM,QAAyE;AAAA,EAC7E,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI;AAAA,EAC5C,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI;AAAA,EAC5C,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI;AAAA,EAC5C,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI;AAAA,EAC9C,OAAO,EAAE,OAAO,IAAI,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI;AAAA,EAChD,OAAO,EAAE,OAAO,IAAI,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI;AAAA;AAAA,EAEhD,SAAS,EAAE,OAAO,IAAI,MAAM,IAAI,GAAG,IAAI,QAAQ,IAAI;AACrD;AAGO,SAAS,SAAS,MAAuC;AAC9D,MAAI,QAAQ,MAAO,QAAO,MAAM,IAA0B;AAC1D,QAAM,IAAI,wBAAwB,KAAK,IAAI;AAC3C,QAAM,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,IAAI;AAC7B,SAAO,IAAI,IAAI,EAAE,OAAO,IAAI,MAAM,KAAK,GAAG,GAAG,IAAI,GAAG,QAAQ,IAAI,IAAI;AACtE;AAiCO,SAAS,aACd,MACA,QACc;AACd,MAAI,SAAS;AACb,MAAI,WAAW;AACf,QAAM,QAAQ,CAAC;AACf,QAAM,OAAO,oBAAI,IAAY;AAC7B,aAAW,CAAC,OAAO,IAAI,KAAK,QAAQ;AAClC,QAAI,KAAK,IAAI,KAAK,EAAG,OAAM,IAAI,MAAM,UAAU,IAAI,sBAAsB,KAAK,GAAG;AACjF,SAAK,IAAI,KAAK;AACd,UAAM,IAAI,SAAS,IAAI;AACvB,QAAI,CAAC,EAAG,OAAM,IAAI,MAAM,UAAU,IAAI,kBAAkB,OAAO,IAAI,CAAC,SAAS,KAAK,GAAG;AACrF,aAAS,KAAK,KAAK,SAAS,EAAE,KAAK,IAAI,EAAE;AACzC,UAAM,KAAK,IAAI,EAAE,MAAM,QAAQ,MAAM,GAAG,EAAE,EAAE;AAC5C,cAAU,EAAE;AACZ,eAAW,KAAK,IAAI,UAAU,EAAE,KAAK;AAAA,EACvC;AACA,QAAM,OAAO,KAAK,KAAK,SAAS,EAAE,IAAI;AACtC,QAAM,QAAQ,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC;AAC1D,QAAM,OACJ,UAAU,IAAI;AAAA,EAAO,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAExF,QAAM,MAAoB;AAAA,IACxB;AAAA,IAAM;AAAA,IAAQ;AAAA,IAAM;AAAA,IAAO;AAAA,IAC3B,MAAM,QAAQ,GAAG;AACf,YAAM,QAAQ,IAAI,YAAY,OAAO,KAAK;AAC1C,YAAM,IAAI,IAAI,aAAa,KAAK;AAChC,YAAM,IAAI,IAAI,WAAW,KAAK;AAC9B,YAAM,IAAI,IAAI,YAAY,KAAK;AAC/B,aAAO;AAAA,QACL;AAAA,QAAK;AAAA,QAAO;AAAA,QACZ,IAAI,QAAQ,QAAQ,GAAG;AACrB,cAAI,QAAQ,KAAK,SAAS,MAAO,OAAM,IAAI,MAAM,UAAU,IAAI,aAAa,KAAK,eAAe,QAAQ,CAAC,EAAE;AAC3G,gBAAM,OAAQ,QAAQ,OAAQ;AAC9B,qBAAW,OAAO,QAAQ;AACxB,kBAAM,OAAO,MAAM,GAAQ;AAC3B,gBAAI,CAAC,KAAM,OAAM,IAAI,MAAM,UAAU,IAAI,eAAe,GAAG,GAAG;AAC9D,kBAAM,IAAI,OAAO,GAAQ;AACzB,kBAAM,KAAK,OAAO,KAAK,OAAO;AAC9B,gBAAI,KAAK,MAAM,GAAG;AAChB,oBAAM,MAAM,OAAO,MAAM,YAAa,IAAI,IAAI,IAAM;AACpD,kBAAI,OAAO,QAAQ,SAAU,OAAM,IAAI,MAAM,UAAU,IAAI,MAAM,GAAG,kBAAkB;AACtF,oBAAM,IAAK,SAAS,KAAK,IAAI,EAAe;AAC5C,kBAAI,MAAM,IAAK,GAAE,EAAE,IAAI;AAAA,uBAAc,MAAM,IAAK,GAAE,EAAE,IAAI,MAAM;AAAA,kBAAQ,GAAE,EAAE,IAAI,QAAQ;AAAA,YACxF,OAAO;AACL,oBAAM,MAAM;AACZ,kBAAI,CAAC,OAAO,OAAO,IAAI,WAAW,YAAY,IAAI,WAAW,KAAK,GAAG;AACnE,sBAAM,IAAI,MAAM,UAAU,IAAI,MAAM,GAAG,WAAW,KAAK,CAAC,aAAa;AAAA,cACvE;AACA,uBAAS,IAAI,GAAG,IAAI,KAAK,GAAG,IAAK,GAAE,KAAK,CAAC,IAAI,IAAI,CAAC;AAAA,YACpD;AAAA,UACF;AAAA,QACF;AAAA,QACA,KAAK,WAAW,OAAO;AACrB,iBAAO,IAAI,WAAW,OAAO,GAAG,KAAK,IAAI,UAAU,KAAK,IAAI,IAAI;AAAA,QAClE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|