@vibecook/ice 0.11.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -50
- package/dist/chunk-BA7XJC27.js +2429 -0
- package/dist/chunk-BA7XJC27.js.map +1 -0
- package/dist/chunk-BKV4ZEU3.js +1 -0
- package/dist/chunk-BKV4ZEU3.js.map +1 -0
- package/dist/{chunk-VGVDJZSP.js → chunk-DYK6KNLG.js} +13206 -7387
- package/dist/chunk-DYK6KNLG.js.map +1 -0
- package/dist/chunk-ENIFIUEP.js +155 -0
- package/dist/chunk-ENIFIUEP.js.map +1 -0
- package/dist/chunk-IBWWLA6D.js +634 -0
- package/dist/chunk-IBWWLA6D.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-QXOCF56A.js +148 -0
- package/dist/chunk-QXOCF56A.js.map +1 -0
- package/dist/chunk-ZPUPBULB.js +7399 -0
- package/dist/chunk-ZPUPBULB.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 +12728 -0
- package/dist/desk-objects.js.map +1 -0
- package/dist/desk.js +469 -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 +1045 -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 +30 -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 +71 -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 +37 -1
- package/dist/types/packages/core/src/systems/l2-arbitrate.d.ts +18 -4
- 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-wheel.d.ts +11 -0
- package/dist/types/packages/core/src/systems/tray.d.ts +108 -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 +285 -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 +126 -0
- package/dist/types/packages/desk/src/compose/pick.d.ts +5 -0
- package/dist/types/packages/desk/src/compose/reflector.d.ts +111 -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 +38 -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/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 +388 -0
- package/dist/types/packages/desk/src/hold/focus.d.ts +53 -0
- package/dist/types/packages/desk/src/hold/pose.d.ts +132 -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 +430 -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 +13 -0
- package/dist/types/packages/desk/src/kind.d.ts +187 -0
- package/dist/types/packages/desk/src/kinds/world.d.ts +429 -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 +103 -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/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 +16 -0
- package/dist/types/packages/desk/src/submit-instrument.d.ts +36 -0
- package/dist/types/packages/desk/src/theme.d.ts +475 -0
- package/dist/types/packages/desk/src/tray/carry.d.ts +99 -0
- package/dist/types/packages/desk/src/tray/drawer.d.ts +113 -0
- package/dist/types/packages/desk/src/tray/flux.d.ts +46 -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 +96 -0
- package/dist/types/packages/desk/src/tray/shaders.d.ts +10 -0
- package/dist/types/packages/desk/src/tray/specimens.d.ts +199 -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 +91 -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 +5 -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 +171 -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
package/dist/devtools.js
CHANGED
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
WheelPan,
|
|
15
15
|
WheelZoom,
|
|
16
16
|
Wire
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-DYK6KNLG.js";
|
|
18
|
+
import "./chunk-JS6PG6YD.js";
|
|
19
19
|
|
|
20
20
|
// ../devtools/src/attach.ts
|
|
21
21
|
import {
|
|
@@ -29,7 +29,7 @@ var LS_KEY = "ice-dock:layout";
|
|
|
29
29
|
var STYLE_ID = "ice-dock-style";
|
|
30
30
|
var MARGIN = 8;
|
|
31
31
|
var KEEP = 90;
|
|
32
|
-
var SLOT_ORDER = ["profiler", "
|
|
32
|
+
var SLOT_ORDER = ["profiler", "gpu", "observer"];
|
|
33
33
|
function loadLayout() {
|
|
34
34
|
try {
|
|
35
35
|
return JSON.parse(localStorage.getItem(LS_KEY) ?? "{}");
|
|
@@ -64,12 +64,13 @@ var CSS = `
|
|
|
64
64
|
.ice-dock-slot:empty { display: none; }
|
|
65
65
|
|
|
66
66
|
/* De-window the hosted tools \u2014 the dock is the window now. */
|
|
67
|
-
.ice-dock .strata-obs, .ice-dock .strata-prof
|
|
67
|
+
.ice-dock .strata-obs, .ice-dock .strata-prof {
|
|
68
68
|
position: static !important; width: auto !important; min-width: 0 !important;
|
|
69
69
|
border: none !important; border-radius: 0 !important; box-shadow: none !important; }
|
|
70
70
|
.ice-dock .strata-obs { resize: vertical !important; }
|
|
71
71
|
.ice-dock .strata-obs-head { cursor: default; }
|
|
72
|
-
.ice-dock .strata-prof-body
|
|
72
|
+
.ice-dock .strata-prof-body { min-width: 0; }
|
|
73
|
+
.ice-dock .ice-gpu { border: none; border-radius: 0; box-shadow: none; }
|
|
73
74
|
`;
|
|
74
75
|
function injectStyle(doc) {
|
|
75
76
|
if (doc.getElementById(STYLE_ID) !== null) return;
|
|
@@ -193,46 +194,37 @@ function createDock(opts = {}) {
|
|
|
193
194
|
};
|
|
194
195
|
}
|
|
195
196
|
|
|
196
|
-
// ../devtools/src/
|
|
197
|
-
var STYLE_ID2 = "ice-
|
|
197
|
+
// ../devtools/src/gpu-panel.ts
|
|
198
|
+
var STYLE_ID2 = "ice-gpu-style";
|
|
198
199
|
var CSS2 = `
|
|
199
|
-
.ice-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
.ice-
|
|
204
|
-
.ice-
|
|
205
|
-
.ice-
|
|
206
|
-
.ice-
|
|
207
|
-
.ice-
|
|
208
|
-
.ice-
|
|
209
|
-
.ice-
|
|
210
|
-
.ice-
|
|
211
|
-
.ice-
|
|
212
|
-
.ice-
|
|
213
|
-
.ice-
|
|
214
|
-
.ice-
|
|
215
|
-
.ice-
|
|
216
|
-
.ice-
|
|
217
|
-
.ice-
|
|
218
|
-
.ice-
|
|
219
|
-
.ice-
|
|
220
|
-
.ice-
|
|
221
|
-
.ice-
|
|
222
|
-
.ice-
|
|
223
|
-
.ice-
|
|
224
|
-
.ice-gl-seg > i { display: block; height: 100%; }
|
|
225
|
-
.ice-gl-legend { color: #8b949e; padding-bottom: 2px; }
|
|
200
|
+
.ice-gpu { background: rgba(13,17,23,.96); color: #e6edf3; font: 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; user-select: none; }
|
|
201
|
+
.ice-gpu * { box-sizing: border-box; }
|
|
202
|
+
.ice-gpu-head { display: flex; align-items: center; gap: 8px; padding: 6px 9px; cursor: pointer; }
|
|
203
|
+
.ice-gpu-name { font-weight: 700; color: #56d4dd; }
|
|
204
|
+
.ice-gpu-span { font-weight: 700; color: #a371f7; min-width: 64px; }
|
|
205
|
+
.ice-gpu-tail { color: #8b949e; min-width: 118px; }
|
|
206
|
+
.ice-gpu-caret { color: #8b949e; margin-left: auto; }
|
|
207
|
+
.ice-gpu-body { display: none; border-top: 1px solid #21262d; padding: 5px 9px 8px; }
|
|
208
|
+
.ice-gpu.open .ice-gpu-body { display: block; }
|
|
209
|
+
.ice-gpu-warn { display: none; color: #ffa657; padding: 4px 0 2px; white-space: normal; }
|
|
210
|
+
.ice-gpu-warn.on { display: block; }
|
|
211
|
+
.ice-gpu-sect { color: #8b949e; font-weight: 700; padding: 5px 0 2px; }
|
|
212
|
+
.ice-gpu-row { display: flex; align-items: center; gap: 7px; padding: 1px 0; white-space: nowrap; }
|
|
213
|
+
.ice-gpu-label { min-width: 84px; max-width: 120px; overflow: hidden; text-overflow: ellipsis; color: #8b949e; }
|
|
214
|
+
.ice-gpu-bar { position: relative; flex: 1; height: 5px; border-radius: 3px; background: #21262d; overflow: hidden; }
|
|
215
|
+
.ice-gpu-bar > i { position: absolute; top: 0; bottom: 0; left: 0; display: block; background: #58a6ff; border-radius: 3px; }
|
|
216
|
+
.ice-gpu-stat { color: #e6edf3; margin-left: auto; min-width: 64px; text-align: right; }
|
|
217
|
+
.ice-gpu-dim { color: #8b949e; }
|
|
218
|
+
.ice-gpu-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px 10px; padding: 2px 0; }
|
|
219
|
+
.ice-gpu-cell b { display: block; color: #e6edf3; font-weight: 700; }
|
|
220
|
+
.ice-gpu-cell span { color: #8b949e; }
|
|
221
|
+
.ice-gpu-foot { display: flex; align-items: center; gap: 8px; padding-top: 6px; color: #8b949e; }
|
|
222
|
+
.ice-gpu-btn { background: #21262d; border: 1px solid #30363d; border-radius: 6px; color: #e6edf3; cursor: pointer; font: inherit; padding: 2px 8px; }
|
|
223
|
+
.ice-gpu-btn:hover { border-color: #58a6ff; }
|
|
224
|
+
.ice-gpu-btn:disabled { color: #8b949e; cursor: default; }
|
|
226
225
|
`;
|
|
227
|
-
var
|
|
228
|
-
|
|
229
|
-
waking: "#58a6ff",
|
|
230
|
-
warm: "#3fb950",
|
|
231
|
-
cold: "#8b949e",
|
|
232
|
-
dormant: "#484f58"
|
|
233
|
-
};
|
|
234
|
-
var SPARK_W = 132;
|
|
235
|
-
var SPARK_H = 26;
|
|
226
|
+
var SPARK_W = 120;
|
|
227
|
+
var SPARK_H = 22;
|
|
236
228
|
var SPARK_SAMPLES = SPARK_W / 2;
|
|
237
229
|
function injectStyle2(doc) {
|
|
238
230
|
if (doc.getElementById(STYLE_ID2) !== null) return;
|
|
@@ -241,114 +233,132 @@ function injectStyle2(doc) {
|
|
|
241
233
|
el.textContent = CSS2;
|
|
242
234
|
doc.head.appendChild(el);
|
|
243
235
|
}
|
|
244
|
-
var
|
|
245
|
-
var
|
|
246
|
-
var
|
|
247
|
-
|
|
248
|
-
function createGlPanel(opts = {}) {
|
|
236
|
+
var fmtMs = (ms) => ms === null || ms === void 0 ? "\u2013" : ms >= 10 ? `${ms.toFixed(1)} ms` : `${ms.toFixed(2)} ms`;
|
|
237
|
+
var fmtBytes = (b) => b >= 1048576 ? `${(b / 1048576).toFixed(1)} MB` : b >= 1024 ? `${(b / 1024).toFixed(1)} KB` : `${b} B`;
|
|
238
|
+
var fmtK = (n) => n >= 1e6 ? `${(n / 1e6).toFixed(2)}M` : n >= 1e4 ? `${(n / 1e3).toFixed(1)}k` : String(n);
|
|
239
|
+
function createGpuPanel(opts = {}) {
|
|
249
240
|
const container = opts.container ?? document.body;
|
|
250
241
|
const doc = container.ownerDocument;
|
|
251
242
|
const budgetMs = opts.budgetMs ?? 16.7;
|
|
252
243
|
injectStyle2(doc);
|
|
253
244
|
const root = doc.createElement("div");
|
|
254
|
-
root.className = `ice-
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
const
|
|
263
|
-
|
|
245
|
+
root.className = `ice-gpu${opts.expanded === false ? "" : " open"}`;
|
|
246
|
+
const make = (tag, cls, text) => {
|
|
247
|
+
const el = doc.createElement(tag);
|
|
248
|
+
el.className = cls;
|
|
249
|
+
if (text !== void 0) el.textContent = text;
|
|
250
|
+
return el;
|
|
251
|
+
};
|
|
252
|
+
const head = make("div", "ice-gpu-head");
|
|
253
|
+
const spanEl = make("span", "ice-gpu-span", "\u2013");
|
|
254
|
+
const tailEl = make("span", "ice-gpu-tail", "no frame yet");
|
|
264
255
|
const spark = doc.createElement("canvas");
|
|
265
256
|
spark.width = SPARK_W;
|
|
266
257
|
spark.height = SPARK_H;
|
|
267
258
|
spark.style.display = "block";
|
|
268
|
-
|
|
269
|
-
caret.className = "ice-gl-caret";
|
|
270
|
-
caret.textContent = "\u25BE";
|
|
271
|
-
head.append(name, fpsEl, gpuEl, spark, caret);
|
|
259
|
+
head.append(make("span", "ice-gpu-name", "gpu"), spanEl, tailEl, spark, make("span", "ice-gpu-caret", "\u25BE"));
|
|
272
260
|
head.addEventListener("click", () => root.classList.toggle("open"));
|
|
273
|
-
const body =
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
261
|
+
const body = make("div", "ice-gpu-body");
|
|
262
|
+
const hint = make("div", "ice-gpu-row ice-gpu-dim", "waiting for a frame \u2014 at rest the desk draws nothing (idle-zero); move the camera");
|
|
263
|
+
const warn = make("div", "ice-gpu-warn");
|
|
264
|
+
body.append(hint, warn);
|
|
277
265
|
const sect = (label) => {
|
|
278
|
-
const s =
|
|
279
|
-
s.className = "ice-gl-sect";
|
|
280
|
-
s.textContent = label;
|
|
266
|
+
const s = make("div", "ice-gpu-sect", label);
|
|
281
267
|
body.appendChild(s);
|
|
268
|
+
return s;
|
|
282
269
|
};
|
|
283
|
-
const bar = (label) => {
|
|
284
|
-
const row =
|
|
285
|
-
|
|
286
|
-
const
|
|
287
|
-
n.className = "ice-gl-name2";
|
|
288
|
-
n.textContent = label;
|
|
289
|
-
const b = doc.createElement("div");
|
|
290
|
-
b.className = "ice-gl-bar";
|
|
270
|
+
const bar = (label, into = body) => {
|
|
271
|
+
const row = make("div", "ice-gpu-row");
|
|
272
|
+
const l = make("span", "ice-gpu-label", label);
|
|
273
|
+
const b = make("div", "ice-gpu-bar");
|
|
291
274
|
const fill = doc.createElement("i");
|
|
292
275
|
b.appendChild(fill);
|
|
293
|
-
const stat =
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
return { fill, stat };
|
|
276
|
+
const stat = make("span", "ice-gpu-stat");
|
|
277
|
+
row.append(l, b, stat);
|
|
278
|
+
into.appendChild(row);
|
|
279
|
+
return { fill, stat, label: l };
|
|
298
280
|
};
|
|
299
|
-
const
|
|
300
|
-
const
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
return row;
|
|
281
|
+
const list = () => {
|
|
282
|
+
const el = doc.createElement("div");
|
|
283
|
+
body.appendChild(el);
|
|
284
|
+
return el;
|
|
304
285
|
};
|
|
305
286
|
sect("frame");
|
|
306
|
-
const
|
|
307
|
-
const
|
|
308
|
-
|
|
309
|
-
const
|
|
310
|
-
|
|
287
|
+
const spanBar = bar("gpu span");
|
|
288
|
+
const busyBar = bar("gpu busy");
|
|
289
|
+
const encodeBar = bar("encode");
|
|
290
|
+
const flushBar = bar("desk flush");
|
|
291
|
+
const passesHead = sect("passes");
|
|
292
|
+
const passesEl = list();
|
|
293
|
+
sect("calls");
|
|
294
|
+
const grid = make("div", "ice-gpu-grid");
|
|
311
295
|
body.appendChild(grid);
|
|
312
296
|
const cell = (label) => {
|
|
313
|
-
const c =
|
|
314
|
-
c.className = "ice-gl-cell";
|
|
297
|
+
const c = make("div", "ice-gpu-cell");
|
|
315
298
|
const v = doc.createElement("b");
|
|
316
|
-
|
|
317
|
-
l.textContent = label;
|
|
318
|
-
c.append(v, l);
|
|
299
|
+
c.append(v, make("span", "", label));
|
|
319
300
|
grid.appendChild(c);
|
|
320
301
|
return v;
|
|
321
302
|
};
|
|
322
|
-
const
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
const
|
|
338
|
-
|
|
339
|
-
const
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
303
|
+
const cells = {
|
|
304
|
+
draws: cell("draws"),
|
|
305
|
+
instances: cell("instances"),
|
|
306
|
+
pipelines: cell("pipelines"),
|
|
307
|
+
bindGroups: cell("bind groups"),
|
|
308
|
+
passes: cell("passes"),
|
|
309
|
+
submits: cell("submits"),
|
|
310
|
+
writes: cell("writes"),
|
|
311
|
+
uploadBytes: cell("uploaded")
|
|
312
|
+
};
|
|
313
|
+
sect("by kind");
|
|
314
|
+
const kindsEl = list();
|
|
315
|
+
sect("uploads");
|
|
316
|
+
const uploadsEl = list();
|
|
317
|
+
const memoryHead = sect("memory");
|
|
318
|
+
const memoryEl = list();
|
|
319
|
+
const foot = make("div", "ice-gpu-foot");
|
|
320
|
+
const footText = make("span", "ice-gpu-dim");
|
|
321
|
+
foot.appendChild(footText);
|
|
322
|
+
body.appendChild(foot);
|
|
323
|
+
if (opts.capture !== void 0) {
|
|
324
|
+
const n = opts.captureFrames ?? 120;
|
|
325
|
+
const capture = opts.capture;
|
|
326
|
+
const btn = make("button", "ice-gpu-btn", `capture ${n} frames`);
|
|
327
|
+
btn.type = "button";
|
|
328
|
+
btn.addEventListener("click", () => {
|
|
329
|
+
btn.disabled = true;
|
|
330
|
+
btn.textContent = "capturing\u2026";
|
|
331
|
+
capture(n).then(
|
|
332
|
+
(trace) => {
|
|
333
|
+
save(doc, trace);
|
|
334
|
+
btn.textContent = `saved \u2014 capture ${n} frames`;
|
|
335
|
+
},
|
|
336
|
+
(e) => {
|
|
337
|
+
btn.textContent = `capture failed: ${e instanceof Error ? e.message : String(e)}`;
|
|
338
|
+
}
|
|
339
|
+
).finally(() => {
|
|
340
|
+
btn.disabled = false;
|
|
341
|
+
});
|
|
342
|
+
});
|
|
343
|
+
foot.prepend(btn);
|
|
344
|
+
}
|
|
345
|
+
root.append(head, body);
|
|
346
|
+
container.appendChild(root);
|
|
343
347
|
const samples = [];
|
|
344
348
|
let latest;
|
|
345
|
-
let
|
|
346
|
-
let
|
|
347
|
-
let
|
|
348
|
-
let
|
|
349
|
+
let timed;
|
|
350
|
+
let stats;
|
|
351
|
+
let lastRender = Number.NEGATIVE_INFINITY;
|
|
352
|
+
let trailing;
|
|
349
353
|
let disposed = false;
|
|
354
|
+
const setBar = (b, ms, text, over = budgetMs) => {
|
|
355
|
+
b.fill.style.width = `${ms === null || ms === void 0 ? 0 : Math.min(100, ms / budgetMs * 100)}%`;
|
|
356
|
+
b.fill.style.background = ms !== null && ms !== void 0 && ms > over ? "#ff7b72" : "#58a6ff";
|
|
357
|
+
b.stat.textContent = text;
|
|
358
|
+
};
|
|
359
|
+
const rolling = (r) => r === null || r === void 0 ? "\u2013" : `${fmtMs(r.p50)} \xB7 p95 ${fmtMs(r.p95)} \xB7 max ${fmtMs(r.max)}`;
|
|
350
360
|
const drawSpark = () => {
|
|
351
|
-
const ctx = spark.getContext("2d");
|
|
361
|
+
const ctx = spark.getContext?.("2d") ?? null;
|
|
352
362
|
if (ctx === null) return;
|
|
353
363
|
ctx.clearRect(0, 0, SPARK_W, SPARK_H);
|
|
354
364
|
const top = budgetMs * 2;
|
|
@@ -361,78 +371,108 @@ function createGlPanel(opts = {}) {
|
|
|
361
371
|
ctx.fillStyle = "rgba(139,148,158,.55)";
|
|
362
372
|
ctx.fillRect(0, SPARK_H / 2, SPARK_W, 1);
|
|
363
373
|
};
|
|
374
|
+
const rows = (into, items) => {
|
|
375
|
+
into.textContent = "";
|
|
376
|
+
for (const [label, text, share] of items) {
|
|
377
|
+
const b = bar(label, into);
|
|
378
|
+
b.fill.style.width = `${Math.max(0, Math.min(100, share * 100))}%`;
|
|
379
|
+
b.stat.textContent = text;
|
|
380
|
+
b.label.title = label;
|
|
381
|
+
}
|
|
382
|
+
if (items.length === 0) into.appendChild(make("div", "ice-gpu-row ice-gpu-dim", "none"));
|
|
383
|
+
};
|
|
364
384
|
const render = () => {
|
|
365
|
-
const
|
|
366
|
-
if (
|
|
367
|
-
|
|
368
|
-
|
|
385
|
+
const f = latest;
|
|
386
|
+
if (f === void 0) return;
|
|
387
|
+
hint.remove();
|
|
388
|
+
const st = stats;
|
|
389
|
+
spanEl.textContent = st?.span ? fmtMs(st.span.p50) : fmtMs(f.span);
|
|
390
|
+
tailEl.textContent = st?.span ? `p95 ${fmtMs(st.span.p95)} \xB7 max ${fmtMs(st.span.max)}` : f.span === null ? "untimed" : "";
|
|
369
391
|
drawSpark();
|
|
392
|
+
const q = st?.quantised ?? f.quantised;
|
|
393
|
+
warn.classList.toggle("on", q === true);
|
|
394
|
+
warn.textContent = q === true ? `\u26A0 timestamps quantised to 100 \xB5s \u2014 launch Chrome with ${st?.unquantise ?? "--disable-dawn-features=timestamp_quantization"}` : "";
|
|
370
395
|
if (!root.classList.contains("open")) return;
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
const phases = [
|
|
388
|
-
["hot", s.islands.hot],
|
|
389
|
-
["waking", s.islands.waking],
|
|
390
|
-
["warm", s.islands.warm],
|
|
391
|
-
["cold", s.islands.cold],
|
|
392
|
-
["dormant", s.islands.dormant]
|
|
393
|
-
];
|
|
394
|
-
const denom = Math.max(1, s.islands.total);
|
|
395
|
-
const legendParts = [];
|
|
396
|
-
for (const [phase, count] of phases) {
|
|
397
|
-
if (count === 0) continue;
|
|
398
|
-
const i = doc.createElement("i");
|
|
399
|
-
i.style.width = `${count / denom * 100}%`;
|
|
400
|
-
i.style.background = PHASE_COLORS[phase] ?? "#8b949e";
|
|
401
|
-
seg.appendChild(i);
|
|
402
|
-
legendParts.push(`${count} ${phase}`);
|
|
396
|
+
setBar(spanBar, st?.span?.p50 ?? f.span, rolling(st?.span));
|
|
397
|
+
setBar(busyBar, st?.busy?.p50 ?? f.busy, rolling(st?.busy));
|
|
398
|
+
setBar(encodeBar, st?.encode?.p50 ?? f.cpu.encode, rolling(st?.encode));
|
|
399
|
+
setBar(flushBar, st?.flush?.p50 ?? f.cpu.flush, rolling(st?.flush));
|
|
400
|
+
const t = timed;
|
|
401
|
+
const span = t?.span ?? null;
|
|
402
|
+
passesHead.textContent = t === void 0 || span === null ? "passes \u2014 untimed (no timestamp-query, or the readback ring was full)" : `passes \xB7 frame ${t.frame} \xB7 span ${fmtMs(span)} \xB7 busy ${fmtMs(t.busy)} \xB7 sum ${fmtMs(t.sum)}`;
|
|
403
|
+
passesEl.textContent = "";
|
|
404
|
+
if (t !== void 0 && span !== null && span > 0) {
|
|
405
|
+
for (const p of t.passes) {
|
|
406
|
+
const b = bar(p.label, passesEl);
|
|
407
|
+
b.fill.style.left = `${p.begin / span * 100}%`;
|
|
408
|
+
b.fill.style.width = `${Math.max(0.5, (p.end - p.begin) / span * 100)}%`;
|
|
409
|
+
b.stat.textContent = fmtMs(p.end - p.begin);
|
|
410
|
+
b.label.title = `${p.label}: ${p.begin.toFixed(3)} \u2192 ${p.end.toFixed(3)} ms`;
|
|
411
|
+
}
|
|
403
412
|
}
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
+
const c = f.counts;
|
|
414
|
+
cells.draws.textContent = fmtK(c.draws);
|
|
415
|
+
cells.instances.textContent = fmtK(c.instances);
|
|
416
|
+
cells.pipelines.textContent = fmtK(c.pipelines);
|
|
417
|
+
cells.bindGroups.textContent = fmtK(c.bindGroups);
|
|
418
|
+
cells.passes.textContent = fmtK(c.passes);
|
|
419
|
+
cells.submits.textContent = fmtK(c.submits);
|
|
420
|
+
cells.writes.textContent = fmtK(c.writes);
|
|
421
|
+
cells.uploadBytes.textContent = fmtBytes(c.uploadBytes);
|
|
422
|
+
const kinds = Object.entries(f.byKind).sort((a, b) => b[1].draws - a[1].draws);
|
|
423
|
+
const most = Math.max(1, ...kinds.map(([, k]) => k.draws));
|
|
424
|
+
rows(kindsEl, kinds.map(([name, k]) => [name, `${k.draws} draw${k.draws === 1 ? "" : "s"} \xB7 ${fmtK(k.instances)} inst`, k.draws / most]));
|
|
425
|
+
const ups = Object.entries(f.uploads).sort((a, b) => b[1].bytes - a[1].bytes).slice(0, 6);
|
|
426
|
+
const upTotal = Math.max(1, c.uploadBytes);
|
|
427
|
+
rows(uploadsEl, ups.map(([name, u]) => [name, `${fmtBytes(u.bytes)} \xB7 ${u.writes}\xD7`, u.bytes / upTotal]));
|
|
428
|
+
const m = f.memory;
|
|
429
|
+
memoryHead.textContent = m === null ? "memory \u2014 no ledger (the host keeps none)" : `memory \xB7 ${fmtBytes(m.total)} live \xB7 textures ${fmtBytes(m.textures)} \xB7 buffers ${fmtBytes(m.buffers)}`;
|
|
430
|
+
rows(memoryEl, m === null ? [] : Object.entries(m.byLabel).sort((a, b) => b[1].bytes - a[1].bytes).slice(0, 8).map(([name, r]) => [name, fmtBytes(r.bytes), r.bytes / Math.max(1, m.total)]));
|
|
431
|
+
footText.textContent = `${st?.frames ?? 1} frames in the window${st !== void 0 && st.dropped > 0 ? ` \xB7 ${st.dropped} dropped (the readback ring was full)` : ""}`;
|
|
413
432
|
};
|
|
414
433
|
return {
|
|
415
|
-
|
|
434
|
+
el: root,
|
|
435
|
+
push(frame, s) {
|
|
416
436
|
if (disposed) return;
|
|
417
|
-
latest =
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
437
|
+
latest = frame;
|
|
438
|
+
if (frame.span !== null) {
|
|
439
|
+
timed = frame;
|
|
440
|
+
samples.push(frame.span);
|
|
441
|
+
if (samples.length > SPARK_SAMPLES) samples.splice(0, samples.length - SPARK_SAMPLES);
|
|
442
|
+
}
|
|
443
|
+
if (s !== void 0) stats = s;
|
|
423
444
|
const now = performance.now();
|
|
424
445
|
if (now - lastRender >= 120) {
|
|
425
446
|
lastRender = now;
|
|
426
447
|
render();
|
|
448
|
+
} else if (trailing === void 0) {
|
|
449
|
+
trailing = setTimeout(() => {
|
|
450
|
+
trailing = void 0;
|
|
451
|
+
lastRender = performance.now();
|
|
452
|
+
if (!disposed) render();
|
|
453
|
+
}, 120 - (now - lastRender));
|
|
427
454
|
}
|
|
428
455
|
},
|
|
429
456
|
dispose() {
|
|
430
457
|
if (disposed) return;
|
|
431
458
|
disposed = true;
|
|
459
|
+
if (trailing !== void 0) clearTimeout(trailing);
|
|
432
460
|
root.remove();
|
|
433
461
|
}
|
|
434
462
|
};
|
|
435
463
|
}
|
|
464
|
+
function save(doc, trace) {
|
|
465
|
+
const view = doc.defaultView;
|
|
466
|
+
if (view === null || typeof view.URL?.createObjectURL !== "function") return;
|
|
467
|
+
const url = view.URL.createObjectURL(new view.Blob([JSON.stringify(trace)], { type: "application/json" }));
|
|
468
|
+
const a = doc.createElement("a");
|
|
469
|
+
a.href = url;
|
|
470
|
+
a.download = `desk-gpu-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}.json`;
|
|
471
|
+
doc.body.appendChild(a);
|
|
472
|
+
a.click();
|
|
473
|
+
a.remove();
|
|
474
|
+
view.setTimeout(() => view.URL.revokeObjectURL(url), 1e3);
|
|
475
|
+
}
|
|
436
476
|
|
|
437
477
|
// ../devtools/src/attach.ts
|
|
438
478
|
var COLOR = {
|
|
@@ -512,23 +552,25 @@ function attachDevtools(engine, opts = {}) {
|
|
|
512
552
|
}
|
|
513
553
|
});
|
|
514
554
|
}
|
|
515
|
-
let glPanel = null;
|
|
516
555
|
let detached = false;
|
|
556
|
+
let gpu = null;
|
|
557
|
+
const mountGpu = () => {
|
|
558
|
+
gpu ??= createGpuPanel({ ...typeof opts.gpu === "object" ? opts.gpu : {}, ...mountIn("gpu") });
|
|
559
|
+
return gpu;
|
|
560
|
+
};
|
|
561
|
+
if (typeof opts.gpu === "object") mountGpu();
|
|
517
562
|
return {
|
|
518
563
|
observer,
|
|
519
564
|
profiler,
|
|
520
565
|
lane(name, ms) {
|
|
521
566
|
profiler?.lane(name, ms);
|
|
522
567
|
},
|
|
523
|
-
|
|
524
|
-
if (detached || opts.
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
});
|
|
530
|
-
}
|
|
531
|
-
glPanel.push(stats);
|
|
568
|
+
gpuFrame(frame, stats) {
|
|
569
|
+
if (detached || opts.gpu === false) return;
|
|
570
|
+
mountGpu().push(frame, stats);
|
|
571
|
+
if (frame.cpu.flush !== null) profiler?.lane("desk flush", frame.cpu.flush);
|
|
572
|
+
profiler?.lane("encode", frame.cpu.encode);
|
|
573
|
+
if (frame.span !== null) profiler?.lane("gpu", frame.span);
|
|
532
574
|
},
|
|
533
575
|
detach() {
|
|
534
576
|
if (detached) return;
|
|
@@ -536,8 +578,8 @@ function attachDevtools(engine, opts = {}) {
|
|
|
536
578
|
removePublish?.();
|
|
537
579
|
observer?.dispose();
|
|
538
580
|
profiler?.dispose();
|
|
539
|
-
|
|
540
|
-
|
|
581
|
+
gpu?.dispose();
|
|
582
|
+
gpu = null;
|
|
541
583
|
dock?.dispose();
|
|
542
584
|
dock = null;
|
|
543
585
|
}
|
|
@@ -550,7 +592,9 @@ export {
|
|
|
550
592
|
DEVTOOLS_VERSION,
|
|
551
593
|
attachDevtools,
|
|
552
594
|
createDock,
|
|
553
|
-
|
|
554
|
-
engineDescribe
|
|
595
|
+
createGpuPanel,
|
|
596
|
+
engineDescribe,
|
|
597
|
+
fmtBytes,
|
|
598
|
+
fmtMs
|
|
555
599
|
};
|
|
556
600
|
//# sourceMappingURL=devtools.js.map
|