@vibecook/ice 0.10.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.
Files changed (380) hide show
  1. package/README.md +79 -50
  2. package/dist/chunk-BA7XJC27.js +2429 -0
  3. package/dist/chunk-BA7XJC27.js.map +1 -0
  4. package/dist/chunk-BKV4ZEU3.js +1 -0
  5. package/dist/chunk-BKV4ZEU3.js.map +1 -0
  6. package/dist/{chunk-5FQS7V2C.js → chunk-DYK6KNLG.js} +13303 -7485
  7. package/dist/chunk-DYK6KNLG.js.map +1 -0
  8. package/dist/chunk-ENIFIUEP.js +155 -0
  9. package/dist/chunk-ENIFIUEP.js.map +1 -0
  10. package/dist/chunk-IBWWLA6D.js +634 -0
  11. package/dist/chunk-IBWWLA6D.js.map +1 -0
  12. package/dist/{chunk-OR5FNVUE.js → chunk-JS6PG6YD.js} +398 -167
  13. package/dist/chunk-JS6PG6YD.js.map +1 -0
  14. package/dist/chunk-QXOCF56A.js +148 -0
  15. package/dist/chunk-QXOCF56A.js.map +1 -0
  16. package/dist/chunk-ZPUPBULB.js +7399 -0
  17. package/dist/chunk-ZPUPBULB.js.map +1 -0
  18. package/dist/desk-engine.js +36 -0
  19. package/dist/desk-engine.js.map +1 -0
  20. package/dist/desk-kit.js +244 -0
  21. package/dist/desk-kit.js.map +1 -0
  22. package/dist/desk-objects.js +12728 -0
  23. package/dist/desk-objects.js.map +1 -0
  24. package/dist/desk.js +469 -0
  25. package/dist/desk.js.map +1 -0
  26. package/dist/devtools.js +233 -189
  27. package/dist/devtools.js.map +1 -1
  28. package/dist/dom.js +7 -19
  29. package/dist/index.js +232 -20
  30. package/dist/kernel.js +53 -25
  31. package/dist/react.js +1045 -38
  32. package/dist/react.js.map +1 -1
  33. package/dist/types/packages/core/src/behavior/define-behavior.d.ts +11 -0
  34. package/dist/types/packages/core/src/behavior/runtime.d.ts +4 -0
  35. package/dist/types/packages/core/src/canvas/define-canvas-type.d.ts +86 -0
  36. package/dist/types/packages/core/src/canvas/define-container.d.ts +17 -0
  37. package/dist/types/packages/core/src/canvas/diagnostics.d.ts +27 -0
  38. package/dist/types/packages/core/src/canvas/engine-catalog.d.ts +70 -0
  39. package/dist/types/packages/core/src/canvas/extensions.d.ts +125 -0
  40. package/dist/types/packages/core/src/canvas/frame-behavior-host.d.ts +16 -0
  41. package/dist/types/packages/core/src/canvas/frame-preview.d.ts +79 -0
  42. package/dist/types/packages/core/src/canvas/frame-projection.d.ts +38 -0
  43. package/dist/types/packages/core/src/canvas/frame-view.d.ts +36 -0
  44. package/dist/types/packages/core/src/canvas/migrate.d.ts +14 -0
  45. package/dist/types/packages/core/src/canvas/placement.d.ts +30 -0
  46. package/dist/types/packages/core/src/canvas/presentation-transition.d.ts +100 -0
  47. package/dist/types/packages/core/src/canvas/runtime-extension-host.d.ts +16 -0
  48. package/dist/types/packages/core/src/canvas/session.d.ts +47 -0
  49. package/dist/types/packages/core/src/catalog/camera-derived.d.ts +16 -27
  50. package/dist/types/packages/core/src/catalog/desk.d.ts +326 -0
  51. package/dist/types/packages/core/src/catalog/gesture.d.ts +51 -0
  52. package/dist/types/packages/core/src/catalog/graph.d.ts +2 -2
  53. package/dist/types/packages/core/src/catalog/index.d.ts +2 -0
  54. package/dist/types/packages/core/src/catalog/pointer.d.ts +42 -0
  55. package/dist/types/packages/core/src/catalog/selection-presence.d.ts +7 -0
  56. package/dist/types/packages/core/src/catalog/settings-resources.d.ts +28 -2
  57. package/dist/types/packages/core/src/catalog/surface.d.ts +1 -0
  58. package/dist/types/packages/core/src/doc/doc-commit-sink.d.ts +18 -2
  59. package/dist/types/packages/core/src/doc/doc-kit.d.ts +21 -2
  60. package/dist/types/packages/core/src/doc/envelope.d.ts +5 -2
  61. package/dist/types/packages/core/src/doc/schema-migrate.d.ts +1 -1
  62. package/dist/types/packages/core/src/doc/version-gate.d.ts +21 -3
  63. package/dist/types/packages/core/src/engine/commit-sink.d.ts +10 -1
  64. package/dist/types/packages/core/src/engine/engine.d.ts +6 -0
  65. package/dist/types/packages/core/src/engine/frame-control.d.ts +74 -0
  66. package/dist/types/packages/core/src/engine/guests.d.ts +4 -1
  67. package/dist/types/packages/core/src/engine/world-doors.d.ts +12 -0
  68. package/dist/types/packages/core/src/facade/create-canvas-engine.d.ts +146 -13
  69. package/dist/types/packages/core/src/index.d.ts +34 -13
  70. package/dist/types/packages/core/src/input/queue.d.ts +3 -1
  71. package/dist/types/packages/core/src/interaction/install.d.ts +30 -0
  72. package/dist/types/packages/core/src/interaction/wakes.d.ts +24 -0
  73. package/dist/types/packages/core/src/nav/nav-geometry.d.ts +100 -0
  74. package/dist/types/packages/core/src/nav/nested-canvas.d.ts +47 -4
  75. package/dist/types/packages/core/src/ops/cascade.d.ts +2 -1
  76. package/dist/types/packages/core/src/ops/claims.d.ts +6 -0
  77. package/dist/types/packages/core/src/ops/insert.d.ts +4 -0
  78. package/dist/types/packages/core/src/ops/point-pick.d.ts +4 -1
  79. package/dist/types/packages/core/src/ops/sibling-order.d.ts +14 -4
  80. package/dist/types/packages/core/src/ops/tray.d.ts +48 -0
  81. package/dist/types/packages/core/src/presence/presence-kit.d.ts +5 -0
  82. package/dist/types/packages/core/src/schema/meta.d.ts +10 -0
  83. package/dist/types/packages/core/src/schema/prefab.d.ts +8 -0
  84. package/dist/types/packages/core/src/settings/defaults.d.ts +25 -6
  85. package/dist/types/packages/core/src/surface/gpu-device.d.ts +55 -0
  86. package/dist/types/packages/core/src/systems/camera-sim.d.ts +29 -0
  87. package/dist/types/packages/core/src/systems/chrome.d.ts +15 -23
  88. package/dist/types/packages/core/src/systems/drag-mods.d.ts +34 -0
  89. package/dist/types/packages/core/src/systems/held.d.ts +71 -0
  90. package/dist/types/packages/core/src/systems/insert-ghost.d.ts +2 -0
  91. package/dist/types/packages/core/src/systems/l0-input.d.ts +14 -0
  92. package/dist/types/packages/core/src/systems/l1-pick.d.ts +37 -1
  93. package/dist/types/packages/core/src/systems/l2-arbitrate.d.ts +18 -4
  94. package/dist/types/packages/core/src/systems/l3-behave.d.ts +4 -1
  95. package/dist/types/packages/core/src/systems/l3-claim.d.ts +7 -0
  96. package/dist/types/packages/core/src/systems/l3-connect.d.ts +1 -1
  97. package/dist/types/packages/core/src/systems/l3-drop.d.ts +30 -1
  98. package/dist/types/packages/core/src/systems/l3-marquee.d.ts +2 -1
  99. package/dist/types/packages/core/src/systems/l3-ports.d.ts +1 -1
  100. package/dist/types/packages/core/src/systems/l4-cursor.d.ts +5 -0
  101. package/dist/types/packages/core/src/systems/nav-flight.d.ts +85 -3
  102. package/dist/types/packages/core/src/systems/nav-tap.d.ts +44 -0
  103. package/dist/types/packages/core/src/systems/press-wheel.d.ts +11 -0
  104. package/dist/types/packages/core/src/systems/tray.d.ts +108 -0
  105. package/dist/types/packages/core/src/systems/zoom-through.d.ts +30 -0
  106. package/dist/types/packages/core/src/tools/define-tool.d.ts +10 -0
  107. package/dist/types/packages/core/src/widget/define-widget.d.ts +166 -63
  108. package/dist/types/packages/core/src/widget/equip.d.ts +14 -2
  109. package/dist/types/packages/core/src/widget/held-tools.d.ts +83 -0
  110. package/dist/types/packages/core/src/widget/menu-actions.d.ts +44 -0
  111. package/dist/types/packages/core/src/widget/mount-store.d.ts +21 -46
  112. package/dist/types/packages/core/src/widget/spawn.d.ts +1 -1
  113. package/dist/types/packages/desk/src/assets/blue-noise.gen.d.ts +10 -0
  114. package/dist/types/packages/desk/src/card/card.d.ts +103 -0
  115. package/dist/types/packages/desk/src/compose/ambient.d.ts +59 -0
  116. package/dist/types/packages/desk/src/compose/builder.d.ts +285 -0
  117. package/dist/types/packages/desk/src/compose/children.d.ts +3 -0
  118. package/dist/types/packages/desk/src/compose/index.d.ts +14 -0
  119. package/dist/types/packages/desk/src/compose/marks.d.ts +126 -0
  120. package/dist/types/packages/desk/src/compose/pick.d.ts +5 -0
  121. package/dist/types/packages/desk/src/compose/reflector.d.ts +111 -0
  122. package/dist/types/packages/desk/src/compose/tap.d.ts +5 -0
  123. package/dist/types/packages/desk/src/docs.d.ts +23 -0
  124. package/dist/types/packages/desk/src/engine/budget.d.ts +38 -0
  125. package/dist/types/packages/desk/src/engine/device.d.ts +54 -0
  126. package/dist/types/packages/desk/src/engine/index.d.ts +5 -0
  127. package/dist/types/packages/desk/src/engine/pipeline.d.ts +36 -0
  128. package/dist/types/packages/desk/src/engine/rasters.d.ts +66 -0
  129. package/dist/types/packages/desk/src/engine/records.d.ts +56 -0
  130. package/dist/types/packages/desk/src/engine/shader.d.ts +22 -0
  131. package/dist/types/packages/desk/src/engine/struct.d.ts +39 -0
  132. package/dist/types/packages/desk/src/engine/target.d.ts +26 -0
  133. package/dist/types/packages/desk/src/gpu-ablation.d.ts +61 -0
  134. package/dist/types/packages/desk/src/gpu-memory.d.ts +54 -0
  135. package/dist/types/packages/desk/src/gpu-profiler.d.ts +141 -0
  136. package/dist/types/packages/desk/src/gpu-wrap.d.ts +8 -0
  137. package/dist/types/packages/desk/src/ground.d.ts +388 -0
  138. package/dist/types/packages/desk/src/hold/focus.d.ts +53 -0
  139. package/dist/types/packages/desk/src/hold/pose.d.ts +132 -0
  140. package/dist/types/packages/desk/src/hold/shaders.d.ts +9 -0
  141. package/dist/types/packages/desk/src/host/editor.d.ts +18 -0
  142. package/dist/types/packages/desk/src/host/index.d.ts +9 -0
  143. package/dist/types/packages/desk/src/host/ink.d.ts +18 -0
  144. package/dist/types/packages/desk/src/host/layer.d.ts +430 -0
  145. package/dist/types/packages/desk/src/host/picture.d.ts +2 -0
  146. package/dist/types/packages/desk/src/host/surface.d.ts +5 -0
  147. package/dist/types/packages/desk/src/index.d.ts +13 -0
  148. package/dist/types/packages/desk/src/kind.d.ts +187 -0
  149. package/dist/types/packages/desk/src/kinds/world.d.ts +429 -0
  150. package/dist/types/packages/desk/src/kit/arrays.d.ts +88 -0
  151. package/dist/types/packages/desk/src/kit/blobs.d.ts +40 -0
  152. package/dist/types/packages/desk/src/kit/book.d.ts +2 -0
  153. package/dist/types/packages/desk/src/kit/editor.d.ts +103 -0
  154. package/dist/types/packages/desk/src/kit/eye.d.ts +37 -0
  155. package/dist/types/packages/desk/src/kit/hold.d.ts +1 -0
  156. package/dist/types/packages/desk/src/kit/index.d.ts +26 -0
  157. package/dist/types/packages/desk/src/kit/inside.d.ts +116 -0
  158. package/dist/types/packages/desk/src/kit/layer.d.ts +159 -0
  159. package/dist/types/packages/desk/src/kit/light.d.ts +3 -0
  160. package/dist/types/packages/desk/src/kit/mesh.d.ts +29 -0
  161. package/dist/types/packages/desk/src/kit/mips.d.ts +2 -0
  162. package/dist/types/packages/desk/src/kit/nav.d.ts +2 -0
  163. package/dist/types/packages/desk/src/kit/paper-tex.d.ts +5 -0
  164. package/dist/types/packages/desk/src/kit/physics.d.ts +44 -0
  165. package/dist/types/packages/desk/src/kit/place.d.ts +44 -0
  166. package/dist/types/packages/desk/src/kit/print.d.ts +30 -0
  167. package/dist/types/packages/desk/src/kit/raster.d.ts +34 -0
  168. package/dist/types/packages/desk/src/kit/sdf.d.ts +1 -0
  169. package/dist/types/packages/desk/src/kit/seeds.d.ts +11 -0
  170. package/dist/types/packages/desk/src/kit/services.d.ts +34 -0
  171. package/dist/types/packages/desk/src/kit/springs.d.ts +12 -0
  172. package/dist/types/packages/desk/src/kit/strokes.d.ts +93 -0
  173. package/dist/types/packages/desk/src/kit/text.d.ts +142 -0
  174. package/dist/types/packages/desk/src/kit/uniform.d.ts +8 -0
  175. package/dist/types/packages/desk/src/kit/view.d.ts +39 -0
  176. package/dist/types/packages/desk/src/kit/wgsl.d.ts +15 -0
  177. package/dist/types/packages/desk/src/lattice/line.d.ts +15 -0
  178. package/dist/types/packages/desk/src/lattice/lod.d.ts +52 -0
  179. package/dist/types/packages/desk/src/lattice/ruler.d.ts +88 -0
  180. package/dist/types/packages/desk/src/marks/assemble.d.ts +65 -0
  181. package/dist/types/packages/desk/src/marks/ease.d.ts +4 -0
  182. package/dist/types/packages/desk/src/marks/laser.d.ts +41 -0
  183. package/dist/types/packages/desk/src/marks/layout.d.ts +167 -0
  184. package/dist/types/packages/desk/src/marks/pass.d.ts +59 -0
  185. package/dist/types/packages/desk/src/marks/shaders.d.ts +12 -0
  186. package/dist/types/packages/desk/src/mat/grid.d.ts +50 -0
  187. package/dist/types/packages/desk/src/mat/lamp.d.ts +14 -0
  188. package/dist/types/packages/desk/src/mat/layout.d.ts +144 -0
  189. package/dist/types/packages/desk/src/mat/mat-pass.d.ts +83 -0
  190. package/dist/types/packages/desk/src/mat/night.d.ts +95 -0
  191. package/dist/types/packages/desk/src/mat/projector.d.ts +39 -0
  192. package/dist/types/packages/desk/src/mat/shaders.d.ts +17 -0
  193. package/dist/types/packages/desk/src/mat/tilt.d.ts +14 -0
  194. package/dist/types/packages/desk/src/nav/flight.d.ts +186 -0
  195. package/dist/types/packages/desk/src/nav/portal.d.ts +95 -0
  196. package/dist/types/packages/desk/src/object.d.ts +46 -0
  197. package/dist/types/packages/desk/src/pass-instrument.d.ts +89 -0
  198. package/dist/types/packages/desk/src/shaders.d.ts +12 -0
  199. package/dist/types/packages/desk/src/shaders.gen.d.ts +16 -0
  200. package/dist/types/packages/desk/src/submit-instrument.d.ts +36 -0
  201. package/dist/types/packages/desk/src/theme.d.ts +475 -0
  202. package/dist/types/packages/desk/src/tray/carry.d.ts +99 -0
  203. package/dist/types/packages/desk/src/tray/drawer.d.ts +113 -0
  204. package/dist/types/packages/desk/src/tray/flux.d.ts +46 -0
  205. package/dist/types/packages/desk/src/tray/index.d.ts +4 -0
  206. package/dist/types/packages/desk/src/tray/lattice.d.ts +71 -0
  207. package/dist/types/packages/desk/src/tray/layout.d.ts +7 -0
  208. package/dist/types/packages/desk/src/tray/look.d.ts +29 -0
  209. package/dist/types/packages/desk/src/tray/pass.d.ts +96 -0
  210. package/dist/types/packages/desk/src/tray/shaders.d.ts +10 -0
  211. package/dist/types/packages/desk/src/tray/specimens.d.ts +199 -0
  212. package/dist/types/packages/devtools/src/attach.d.ts +22 -8
  213. package/dist/types/packages/devtools/src/dock.d.ts +18 -14
  214. package/dist/types/packages/devtools/src/gpu-panel.d.ts +105 -0
  215. package/dist/types/packages/devtools/src/index.d.ts +5 -4
  216. package/dist/types/packages/dom/src/desk-host.d.ts +91 -0
  217. package/dist/types/packages/dom/src/host.d.ts +13 -14
  218. package/dist/types/packages/dom/src/index.d.ts +12 -10
  219. package/dist/types/packages/dom/src/loop.d.ts +18 -1
  220. package/dist/types/packages/dom/src/pointer-adapter.d.ts +5 -29
  221. package/dist/types/packages/dom/src/widget-focus.d.ts +17 -13
  222. package/dist/types/packages/ice/src/desk-engine.d.ts +2 -0
  223. package/dist/types/packages/ice/src/desk-kit.d.ts +6 -0
  224. package/dist/types/packages/ice/src/desk-objects.d.ts +5 -0
  225. package/dist/types/packages/ice/src/desk.d.ts +5 -0
  226. package/dist/types/packages/kernel/src/atlas-pack.d.ts +157 -0
  227. package/dist/types/packages/kernel/src/bezier.d.ts +0 -15
  228. package/dist/types/packages/kernel/src/coords.d.ts +0 -39
  229. package/dist/types/packages/kernel/src/index.d.ts +2 -2
  230. package/dist/types/packages/kernel/src/nav-flight.d.ts +6 -0
  231. package/dist/types/packages/kernel/src/tray.d.ts +155 -0
  232. package/dist/types/packages/objects/src/board/board-pass.d.ts +180 -0
  233. package/dist/types/packages/objects/src/board/board-pen.d.ts +36 -0
  234. package/dist/types/packages/objects/src/board/board.d.ts +104 -0
  235. package/dist/types/packages/objects/src/board/data.d.ts +31 -0
  236. package/dist/types/packages/objects/src/board/history.d.ts +33 -0
  237. package/dist/types/packages/objects/src/board/kind.d.ts +208 -0
  238. package/dist/types/packages/objects/src/board/layout.d.ts +102 -0
  239. package/dist/types/packages/objects/src/board/object.d.ts +7 -0
  240. package/dist/types/packages/objects/src/board/pen.d.ts +71 -0
  241. package/dist/types/packages/objects/src/board/shaders.d.ts +36 -0
  242. package/dist/types/packages/objects/src/board/stroke.d.ts +99 -0
  243. package/dist/types/packages/objects/src/board/theme.d.ts +150 -0
  244. package/dist/types/packages/objects/src/calendar/data.d.ts +97 -0
  245. package/dist/types/packages/objects/src/calendar/events.d.ts +58 -0
  246. package/dist/types/packages/objects/src/calendar/hand.d.ts +53 -0
  247. package/dist/types/packages/objects/src/calendar/host/input.d.ts +67 -0
  248. package/dist/types/packages/objects/src/calendar/host/print.d.ts +9 -0
  249. package/dist/types/packages/objects/src/calendar/kind.d.ts +297 -0
  250. package/dist/types/packages/objects/src/calendar/law.d.ts +151 -0
  251. package/dist/types/packages/objects/src/calendar/layout.d.ts +47 -0
  252. package/dist/types/packages/objects/src/calendar/month.d.ts +75 -0
  253. package/dist/types/packages/objects/src/calendar/object.d.ts +45 -0
  254. package/dist/types/packages/objects/src/calendar/pad.d.ts +42 -0
  255. package/dist/types/packages/objects/src/calendar/pass.d.ts +229 -0
  256. package/dist/types/packages/objects/src/calendar/print.d.ts +87 -0
  257. package/dist/types/packages/objects/src/calendar/printing.d.ts +80 -0
  258. package/dist/types/packages/objects/src/calendar/roll.d.ts +45 -0
  259. package/dist/types/packages/objects/src/calendar/shaders.d.ts +12 -0
  260. package/dist/types/packages/objects/src/calendar/sheet.d.ts +43 -0
  261. package/dist/types/packages/objects/src/calendar/tiles.d.ts +67 -0
  262. package/dist/types/packages/objects/src/calendar/turn.d.ts +73 -0
  263. package/dist/types/packages/objects/src/calendar/writing.d.ts +42 -0
  264. package/dist/types/packages/objects/src/index.d.ts +22 -0
  265. package/dist/types/packages/objects/src/kinds.d.ts +24 -0
  266. package/dist/types/packages/objects/src/minimat/inside.d.ts +17 -0
  267. package/dist/types/packages/objects/src/minimat/kind.d.ts +51 -0
  268. package/dist/types/packages/objects/src/minimat/layout.d.ts +83 -0
  269. package/dist/types/packages/objects/src/minimat/minimat.d.ts +179 -0
  270. package/dist/types/packages/objects/src/minimat/object.d.ts +8 -0
  271. package/dist/types/packages/objects/src/minimat/pass.d.ts +61 -0
  272. package/dist/types/packages/objects/src/minimat/shaders.d.ts +10 -0
  273. package/dist/types/packages/objects/src/minimat/theme.d.ts +98 -0
  274. package/dist/types/packages/objects/src/notebook/ink.d.ts +70 -0
  275. package/dist/types/packages/objects/src/notebook/kind.d.ts +236 -0
  276. package/dist/types/packages/objects/src/notebook/law.d.ts +129 -0
  277. package/dist/types/packages/objects/src/notebook/layout.d.ts +46 -0
  278. package/dist/types/packages/objects/src/notebook/leaf.d.ts +44 -0
  279. package/dist/types/packages/objects/src/notebook/mesh.d.ts +20 -0
  280. package/dist/types/packages/objects/src/notebook/motion.d.ts +107 -0
  281. package/dist/types/packages/objects/src/notebook/object.d.ts +8 -0
  282. package/dist/types/packages/objects/src/notebook/pages.d.ts +56 -0
  283. package/dist/types/packages/objects/src/notebook/pass.d.ts +197 -0
  284. package/dist/types/packages/objects/src/notebook/pick.d.ts +30 -0
  285. package/dist/types/packages/objects/src/notebook/raster.d.ts +28 -0
  286. package/dist/types/packages/objects/src/notebook/shaders.d.ts +11 -0
  287. package/dist/types/packages/objects/src/notebook/shape.d.ts +155 -0
  288. package/dist/types/packages/objects/src/notebook/theme.d.ts +76 -0
  289. package/dist/types/packages/objects/src/palette.d.ts +577 -0
  290. package/dist/types/packages/objects/src/paper/host/body.d.ts +30 -0
  291. package/dist/types/packages/objects/src/paper/kind.d.ts +81 -0
  292. package/dist/types/packages/objects/src/paper/layout.d.ts +73 -0
  293. package/dist/types/packages/objects/src/paper/object.d.ts +31 -0
  294. package/dist/types/packages/objects/src/paper/pages.d.ts +43 -0
  295. package/dist/types/packages/objects/src/paper/paper-pass.d.ts +86 -0
  296. package/dist/types/packages/objects/src/paper/paper.d.ts +117 -0
  297. package/dist/types/packages/objects/src/paper/shaders.d.ts +18 -0
  298. package/dist/types/packages/objects/src/paper/theme.d.ts +58 -0
  299. package/dist/types/packages/objects/src/paper/typing.d.ts +51 -0
  300. package/dist/types/packages/objects/src/paper/writing.d.ts +161 -0
  301. package/dist/types/packages/objects/src/photo/carry.d.ts +33 -0
  302. package/dist/types/packages/objects/src/photo/kind.d.ts +136 -0
  303. package/dist/types/packages/objects/src/photo/layout.d.ts +39 -0
  304. package/dist/types/packages/objects/src/photo/object.d.ts +5 -0
  305. package/dist/types/packages/objects/src/photo/photo-pass.d.ts +104 -0
  306. package/dist/types/packages/objects/src/photo/photo.d.ts +262 -0
  307. package/dist/types/packages/objects/src/photo/pictures.d.ts +152 -0
  308. package/dist/types/packages/objects/src/photo/sample.d.ts +9 -0
  309. package/dist/types/packages/objects/src/photo/shaders.d.ts +18 -0
  310. package/dist/types/packages/objects/src/preset.d.ts +44 -0
  311. package/dist/types/packages/objects/src/shaders.d.ts +3 -0
  312. package/dist/types/packages/objects/src/shaders.gen.d.ts +21 -0
  313. package/dist/types/packages/react/src/canvas-hooks.d.ts +12 -0
  314. package/dist/types/packages/react/src/desk.d.ts +56 -0
  315. package/dist/types/packages/react/src/engine-context.d.ts +2 -2
  316. package/dist/types/packages/react/src/frame-preview-boundary.d.ts +19 -0
  317. package/dist/types/packages/react/src/hooks.d.ts +9 -14
  318. package/dist/types/packages/react/src/index.d.ts +16 -9
  319. package/dist/types/packages/react/src/keymap.d.ts +21 -2
  320. package/dist/types/packages/react/src/selection-menu.d.ts +171 -0
  321. package/dist/types/packages/react/src/tray-bar.d.ts +124 -0
  322. package/package.json +64 -31
  323. package/dist/chunk-5FQS7V2C.js.map +0 -1
  324. package/dist/chunk-JWRHAM7L.js +0 -1163
  325. package/dist/chunk-JWRHAM7L.js.map +0 -1
  326. package/dist/chunk-MFTMPJUF.js +0 -681
  327. package/dist/chunk-MFTMPJUF.js.map +0 -1
  328. package/dist/chunk-OR5FNVUE.js.map +0 -1
  329. package/dist/ground.js +0 -1213
  330. package/dist/ground.js.map +0 -1
  331. package/dist/r3f.js +0 -1644
  332. package/dist/r3f.js.map +0 -1
  333. package/dist/types/packages/core/src/input/measure-queue.d.ts +0 -30
  334. package/dist/types/packages/core/src/settings/ground-config.d.ts +0 -103
  335. package/dist/types/packages/core/src/systems/measure-ingest.d.ts +0 -26
  336. package/dist/types/packages/devtools/src/gl-panel.d.ts +0 -69
  337. package/dist/types/packages/dom/src/measure-adapter.d.ts +0 -31
  338. package/dist/types/packages/dom/src/measure-wiring.d.ts +0 -49
  339. package/dist/types/packages/dom/src/planes.d.ts +0 -33
  340. package/dist/types/packages/dom/src/reflectors/chrome.d.ts +0 -33
  341. package/dist/types/packages/dom/src/reflectors/dom-widgets.d.ts +0 -59
  342. package/dist/types/packages/dom/src/reflectors/graybox.d.ts +0 -31
  343. package/dist/types/packages/dom/src/reflectors/plane-transform.d.ts +0 -38
  344. package/dist/types/packages/ground/src/index.d.ts +0 -69
  345. package/dist/types/packages/ground/src/layer.d.ts +0 -40
  346. package/dist/types/packages/ground/src/pass.d.ts +0 -41
  347. package/dist/types/packages/ground/src/passes/grid-classic.d.ts +0 -30
  348. package/dist/types/packages/ground/src/passes/grid-magnet.d.ts +0 -31
  349. package/dist/types/packages/ground/src/passes/grid.d.ts +0 -28
  350. package/dist/types/packages/ground/src/passes/guides-collect.d.ts +0 -14
  351. package/dist/types/packages/ground/src/passes/guides.d.ts +0 -3
  352. package/dist/types/packages/ground/src/passes/magnet-collect.d.ts +0 -63
  353. package/dist/types/packages/ground/src/passes/soup-collect.d.ts +0 -35
  354. package/dist/types/packages/ground/src/passes/soup-mesh.d.ts +0 -8
  355. package/dist/types/packages/ground/src/passes/wires-collect.d.ts +0 -35
  356. package/dist/types/packages/ground/src/passes/wires.d.ts +0 -10
  357. package/dist/types/packages/ground/src/poles.d.ts +0 -47
  358. package/dist/types/packages/ground/src/renderer.d.ts +0 -15
  359. package/dist/types/packages/ice/src/ground.d.ts +0 -1
  360. package/dist/types/packages/ice/src/r3f.d.ts +0 -1
  361. package/dist/types/packages/kernel/src/eviction.d.ts +0 -23
  362. package/dist/types/packages/kernel/src/zoom-bands.d.ts +0 -19
  363. package/dist/types/packages/r3f/src/bridge.d.ts +0 -129
  364. package/dist/types/packages/r3f/src/composite-material.d.ts +0 -26
  365. package/dist/types/packages/r3f/src/compositor-pass.d.ts +0 -105
  366. package/dist/types/packages/r3f/src/dev-write-trap.d.ts +0 -30
  367. package/dist/types/packages/r3f/src/gl-root.d.ts +0 -96
  368. package/dist/types/packages/r3f/src/gl-router.d.ts +0 -70
  369. package/dist/types/packages/r3f/src/index.d.ts +0 -17
  370. package/dist/types/packages/r3f/src/island-state.d.ts +0 -112
  371. package/dist/types/packages/r3f/src/island.d.ts +0 -13
  372. package/dist/types/packages/r3f/src/pool.d.ts +0 -56
  373. package/dist/types/packages/r3f/src/preview-capture.d.ts +0 -19
  374. package/dist/types/packages/r3f/src/resource-registry.d.ts +0 -30
  375. package/dist/types/packages/r3f/src/self-sustain.d.ts +0 -39
  376. package/dist/types/packages/r3f/src/use-island-frame.d.ts +0 -39
  377. package/dist/types/packages/react/src/infinite-canvas.d.ts +0 -140
  378. package/dist/types/packages/react/src/preview-snapshots.d.ts +0 -17
  379. package/dist/types/packages/react/src/widget-preview.d.ts +0 -14
  380. package/dist/types/packages/react/src/widget-root.d.ts +0 -33
@@ -0,0 +1,326 @@
1
+ /** A desk stratum an object can declare (design-015 §4.2). The mat, the held set and the marks are the renderer's, never declared. */
2
+ export type DeskStratum = "pads" | "sheets" | "things";
3
+ /**
4
+ * `Stratum.band` per declared stratum — ascending = paint order: pads lie under
5
+ * everything on a desk (the calendar pad), sheets lie flat on the mat and hold a
6
+ * desk (the mini mats), things are every other object.
7
+ */
8
+ export declare const STRATUM_BANDS: Readonly<Record<DeskStratum, number>>;
9
+ /**
10
+ * The band an entity WITHOUT a `Stratum` sorts in: things. Every pre-desk widget
11
+ * is one, so an all-dom board stays in one band and its order is exactly its
12
+ * sibling order, as before (design-015 §4.2: "things … every future kind").
13
+ */
14
+ export declare const DEFAULT_STRATUM_BAND: number;
15
+ /** Runtime: the object's desk stratum (equip, from the type's `stratum`). Read by `compareStackOrder`. */
16
+ export declare const Stratum: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
17
+ readonly band: import("@vibecook/strata-ecs").FieldSpec<"u8", true>;
18
+ }>, {
19
+ readonly band: import("@vibecook/strata-ecs").FieldSpec<"u8", true>;
20
+ }>;
21
+ /** Durable: taped down (design-015 §5.1, Q-e). One writer: `ops.setLocked`. */
22
+ export declare const Locked: import("@vibecook/strata-ecs").Tag;
23
+ /**
24
+ * Runtime: the ONE focused editor is on this object (design-015 §5.1, §6.1 — D2c): a note being
25
+ * written. One writer, the desk's typing session (`@ice/desk` objects/typing.ts); a runtime rider,
26
+ * never in the document (a peer's editor is its own). While present it is a GESTURE CLAIM on the
27
+ * object's cells — `makeDefaultMayDiverge` grants the divergence — so the session writes the note's
28
+ * text LIVE through the guarded live writer and commits it ONCE when the session ends (design-001
29
+ * §3's gesture protocol with the keyboard as the gesture: ⌘Z undoes a typing session, never a key).
30
+ */
31
+ export declare const Editing: import("@vibecook/strata-ecs").Tag;
32
+ /**
33
+ * Runtime: this object is IN HAND (design-015 §8 — "`Held` is the fact"). ONE writer, the open
34
+ * op: `ops.open(entity)` adds it (with a fresh `HeldView`) and `ops.putDown()` removes it; at most
35
+ * one object on a desk carries it. The pickup's clock, the flight home, the blur amount and the
36
+ * cover spring are the renderer's FLUX, never facts — the tag says only "in hand"; an object whose
37
+ * tag just left is flying home in the renderer alone. While an object is held every pointer is
38
+ * the held object's and the desk behind is inert (systems/held.ts). Never in the document.
39
+ */
40
+ export declare const Held: import("@vibecook/strata-ecs").Tag;
41
+ /**
42
+ * Runtime: the user's facts about the object in hand — how close it was brought (`zoom`, 1 = the
43
+ * reading size, 0.72 … 3) and where it was moved under the eye (`panX`/`panY`, CSS px from the
44
+ * reading pose's centre). Written by the held input system from the wheel, a pinch and a pan; put
45
+ * on with `Held` at the open and taken off with it. The renderer reads it to pose the object.
46
+ */
47
+ export declare const HeldView: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
48
+ readonly zoom: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
49
+ readonly panX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
50
+ readonly panY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
51
+ }>, {
52
+ readonly zoom: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
53
+ readonly panX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
54
+ readonly panY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
55
+ }>;
56
+ /**
57
+ * Runtime, on the object in hand: its ACTIVE tool (design-015 §8; D3t-a — widget/held-tools.ts) — the
58
+ * id of the held bar's `mode` in hand (the board's marker in blue, its eraser), and `prev` the one
59
+ * before it (a `toggle` mode chosen again hands that one back). The USER's fact, never in the document.
60
+ * Put on with `Held` by `ops.open` (the type's `heldTool` of its props, else its first mode; "" = none)
61
+ * and taken off with it; `ops.useHeldTool` its only other writer. The kind's held behaviours read it.
62
+ */
63
+ export declare const HeldTool: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
64
+ readonly id: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
65
+ readonly prev: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
66
+ }>, {
67
+ readonly id: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
68
+ readonly prev: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
69
+ }>;
70
+ /**
71
+ * A system's IN-TICK request to pick an object up or put it down (D2b's `NavIntent`, applied the
72
+ * same way): the double-tap on an openable object asks to `open`; the ways back that are
73
+ * gestures — a click on the soft desk, a pinch or ⌘-wheel in past 0.72×, a double-tap on the
74
+ * held object's case — ask to `putDown`. The ops are structural (a tag and a component come and
75
+ * go) and run outside the tick: the facade applies the request once `engine.step` returns.
76
+ * `epoch` bumps per request; `target` is the object to open (unused on a put-down).
77
+ */
78
+ export declare const HeldIntent: import("@vibecook/strata-ecs").Resource<import("@vibecook/strata-ecs").ValueOf<{
79
+ readonly kind: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"open" | "putDown">, true>;
80
+ readonly target: import("@vibecook/strata-ecs").FieldSpec<"eid", true>;
81
+ readonly epoch: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
82
+ }>, {
83
+ readonly kind: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"open" | "putDown">, true>;
84
+ readonly target: import("@vibecook/strata-ecs").FieldSpec<"eid", true>;
85
+ readonly epoch: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
86
+ }>;
87
+ /**
88
+ * A zoom-out put the object down and the REST OF THAT GESTURE is muted (design-015 §8 — "the v2
89
+ * lesson"): until `until` (the frame clock, ms) every wheel fact is swallowed before the camera
90
+ * can read it, and each swallowed event pushes the mute 250 ms further. One writer: the held
91
+ * input system.
92
+ */
93
+ export declare const HeldMute: import("@vibecook/strata-ecs").Resource<import("@vibecook/strata-ecs").ValueOf<{
94
+ readonly until: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
95
+ }>, {
96
+ readonly until: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
97
+ }>;
98
+ /**
99
+ * Runtime, on a LOCAL pointer while an object is held: where the pointer is in the held object's
100
+ * OWN frame — its open extent's units, centred, mapped through the same pose the renderer drew
101
+ * (`HeldPoseSource`) — and whether it is over the object at all. Change-only. What a kind's held
102
+ * behaviours (its parts, its pen — D3t) read; absent when nothing is held or before the first frame.
103
+ * `part` (D3t-a): the kind's part under it as the renderer drew it (the pose seam's `part` — the
104
+ * board's melamine `content`, its aluminium `frame`), "" over nothing.
105
+ */
106
+ export declare const HeldPointer: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
107
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
108
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
109
+ readonly inside: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
110
+ readonly part: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
111
+ }>, {
112
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
113
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
114
+ readonly inside: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
115
+ readonly part: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
116
+ }>;
117
+ /**
118
+ * Runtime, on a local pointer: a press that began while an object was held — on the soft desk
119
+ * (`desk`: released unmoved, it puts the object down; dragged with the object brought close, it
120
+ * pans), as a pan (`pan`: a middle button or Space, the object brought close), on the object's
121
+ * drawing surface with a mode in hand (`tool`, D3t-a: the TOOL's press — the board's stroke; never
122
+ * a tap that puts it down), on one of the kind's named PARTS (`part`, D3t-b: the kind's own — a
123
+ * notebook's turn, its click and its drag; never a tap that puts it down) or elsewhere on the object
124
+ * itself (`object`: two instant taps put it down). `part`: the part it began on ("" — none); `x`/`y`
125
+ * where it began (CSS px), the pan it began from, and whether it has moved past the slop.
126
+ */
127
+ export declare const HeldPress: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
128
+ readonly kind: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"object" | "pan" | "part" | "desk" | "tool">, true>;
129
+ readonly part: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
130
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
131
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
132
+ readonly panX0: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
133
+ readonly panY0: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
134
+ readonly moved: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
135
+ }>, {
136
+ readonly kind: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"object" | "pan" | "part" | "desk" | "tool">, true>;
137
+ readonly part: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
138
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
139
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
140
+ readonly panX0: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
141
+ readonly panY0: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
142
+ readonly moved: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
143
+ }>;
144
+ /** The last instant tap on the held object: where and when — a second within the window puts it down (the notebook's case, generalised). */
145
+ export declare const HeldTapMemo: import("@vibecook/strata-ecs").Resource<import("@vibecook/strata-ecs").ValueOf<{
146
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
147
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
148
+ readonly at: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
149
+ readonly seq: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
150
+ }>, {
151
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
152
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
153
+ readonly at: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
154
+ readonly seq: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
155
+ }>;
156
+ /**
157
+ * Runtime, ONE per view: THE TRAY (design-016 §7, K-L6; design-017 §2 — K3) — the pegboard drawer's facts. `open`; `scroll`, CSS px
158
+ * of board past its top, within `[0, max]` (the renderer's word on `max` rides the tray pose seam, systems/tray.ts); `stretch`, the
159
+ * rubber band's pull past an end (raw px, signed; 0 at rest); `wheelAt`, the frame clock (ms) of the last scroll input (every wheel
160
+ * the drawer takes while out, a drag on its board) — the band lets go once it is quiet, and a drawer shut before then keeps the wheel
161
+ * until it is (K9). Never in the document, never synced:
162
+ * a peer's tray is its own. Writers: the tray ops (ops/tray.ts) and `trayInput` — and `trayLay`, which clamps `scroll` when a lay
163
+ * or the drawer's face moves its range (K9, D-K9-c.2); the renderer reads it, and owns the motion (the
164
+ * slide, the band's settle — flux). The entity is ensured at install and after every reset (a document switch
165
+ * closes the tray); it roots the tray's runtime canvas (K5's specimens will be its children). design-018 §5 (R2): the lip's hover
166
+ * fact retired with its handle — a closed drawer takes no pointer; its handle is the app's DOM bar (`<TrayBar>`, @ice/react).
167
+ */
168
+ export declare const Tray: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
169
+ readonly open: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
170
+ readonly scroll: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
171
+ readonly stretch: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
172
+ readonly wheelAt: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
173
+ /**
174
+ * K9 (S11, D-K9-c.3): the last wheel `dy` the drawer scrolled by, and how many deltas in a row have SHRUNK while pushing the band
175
+ * further — a fading tail (the OS's momentum decays; a push does not, steadily). At `TRAY_INPUT.fadeDeltas` the band lets go and
176
+ * the rest of that tail is spent — swallowed, scroll and band untouched — until a reversal, a growing delta or quiet.
177
+ */
178
+ readonly wheelDy: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
179
+ readonly fade: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
180
+ /** K5a: the type of the specimen under the mouse while the drawer is out ("" — none): the hover that lifts it (flux). */
181
+ readonly hover: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
182
+ /**
183
+ * K5b — TAKING ONE (design-017 §9): the type whose copy a pointer has lifted off the board ("" — none): pressed on its specimen and
184
+ * moved past the slop, still inside the drawer. `takeU`/`takeV` the grab point (0 … 1 across the object as the board draws it — the
185
+ * spot under the finger stays that spot of the object), `takeX`/`takeY` the pointer as last seen (CSS px) — the copy follows it
186
+ * (flux). `handed` counts the takes handed to the desk: it bumps on the tick the copy leaves the drawer's open rect (the drawer slides
187
+ * away, `TrayIntent` spawns the insert ghost after the step); a take that ends without the bump was put back.
188
+ */
189
+ readonly take: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
190
+ readonly takeU: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
191
+ readonly takeV: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
192
+ readonly takeX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
193
+ readonly takeY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
194
+ readonly handed: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
195
+ /**
196
+ * design-018 §6 (R2) — THE FILTER: the tray category the drawer shows ("" — all), a tray entry's `category` string (`defineObject({
197
+ * tray: { category } })`). A fact of the view beside `open` — never durable, never synced (each tab its own). Writers: the op
198
+ * `setTrayCategory` (the bar's chips, the desk handle's door) and `trayLay` — which lays only that category's entries, zeroes the
199
+ * scroll and the band when it moves, and falls back to all ("") when the frame hangs none of it.
200
+ */
201
+ readonly category: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
202
+ }>, {
203
+ readonly open: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
204
+ readonly scroll: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
205
+ readonly stretch: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
206
+ readonly wheelAt: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
207
+ /**
208
+ * K9 (S11, D-K9-c.3): the last wheel `dy` the drawer scrolled by, and how many deltas in a row have SHRUNK while pushing the band
209
+ * further — a fading tail (the OS's momentum decays; a push does not, steadily). At `TRAY_INPUT.fadeDeltas` the band lets go and
210
+ * the rest of that tail is spent — swallowed, scroll and band untouched — until a reversal, a growing delta or quiet.
211
+ */
212
+ readonly wheelDy: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
213
+ readonly fade: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
214
+ /** K5a: the type of the specimen under the mouse while the drawer is out ("" — none): the hover that lifts it (flux). */
215
+ readonly hover: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
216
+ /**
217
+ * K5b — TAKING ONE (design-017 §9): the type whose copy a pointer has lifted off the board ("" — none): pressed on its specimen and
218
+ * moved past the slop, still inside the drawer. `takeU`/`takeV` the grab point (0 … 1 across the object as the board draws it — the
219
+ * spot under the finger stays that spot of the object), `takeX`/`takeY` the pointer as last seen (CSS px) — the copy follows it
220
+ * (flux). `handed` counts the takes handed to the desk: it bumps on the tick the copy leaves the drawer's open rect (the drawer slides
221
+ * away, `TrayIntent` spawns the insert ghost after the step); a take that ends without the bump was put back.
222
+ */
223
+ readonly take: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
224
+ readonly takeU: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
225
+ readonly takeV: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
226
+ readonly takeX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
227
+ readonly takeY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
228
+ readonly handed: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
229
+ /**
230
+ * design-018 §6 (R2) — THE FILTER: the tray category the drawer shows ("" — all), a tray entry's `category` string (`defineObject({
231
+ * tray: { category } })`). A fact of the view beside `open` — never durable, never synced (each tab its own). Writers: the op
232
+ * `setTrayCategory` (the bar's chips, the desk handle's door) and `trayLay` — which lays only that category's entries, zeroes the
233
+ * scroll and the band when it moves, and falls back to all ("") when the frame hangs none of it.
234
+ */
235
+ readonly category: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
236
+ }>;
237
+ /**
238
+ * K5b — the tray's IN-TICK request to hand a taken copy to the desk (design-017 §9; `HeldIntent`'s shape): the copy left the drawer, so
239
+ * the facade calls `ops.insertByDrag` once the step returns — the op spawns and enqueues, which no system does mid-tick. `type` the
240
+ * object type; `x`/`y` the pointer (CSS px) and `pointerId`/`device`/`buttons` its press, which the insert ghost's synthetic down takes
241
+ * over; `u`/`v` the grab point (the insert's `anchor` — no centre-snap); `homeX`/`homeY` the specimen's spot on screen (the insert's
242
+ * `home`, where a cancel flies the ghost back). `epoch` bumps per request.
243
+ */
244
+ export declare const TrayIntent: import("@vibecook/strata-ecs").Resource<import("@vibecook/strata-ecs").ValueOf<{
245
+ readonly type: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
246
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
247
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
248
+ readonly pointerId: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
249
+ readonly device: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"mouse" | "touch" | "pen">, true>;
250
+ readonly buttons: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
251
+ readonly u: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
252
+ readonly v: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
253
+ readonly homeX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
254
+ readonly homeY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
255
+ readonly epoch: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
256
+ }>, {
257
+ readonly type: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
258
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
259
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
260
+ readonly pointerId: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
261
+ readonly device: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"mouse" | "touch" | "pen">, true>;
262
+ readonly buttons: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
263
+ readonly u: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
264
+ readonly v: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
265
+ readonly homeX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
266
+ readonly homeY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
267
+ readonly epoch: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
268
+ }>;
269
+ /**
270
+ * Runtime, on the TRAY entity (design-017 §8; K5a): what the lattice law last laid (systems/tray.ts `createTrayLay`) — the drawer's
271
+ * width it laid for (CSS px, the renderer's word through the pose seam), the content's foot (board px — the scroll's range is that
272
+ * plus a pitch less the face, the renderer's to say) and how many lays so far (a renderer re-reads the specimens when it moves).
273
+ * design-018 §6 (R2): `present`, what the frame could hang before the category's filter — its entries' categories in the lay's
274
+ * order with their counts, JSON `[id, count][]` ("" for an entry that names none); `trayCategories` reads it.
275
+ */
276
+ export declare const TrayContent: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
277
+ readonly width: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
278
+ readonly bottom: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
279
+ readonly laid: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
280
+ readonly present: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
281
+ }>, {
282
+ readonly width: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
283
+ readonly bottom: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
284
+ readonly laid: import("@vibecook/strata-ecs").FieldSpec<"u32", true>;
285
+ readonly present: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
286
+ }>;
287
+ /**
288
+ * Runtime tag: a SPECIMEN (design-017 §8; K5a) — a kind hung on the pegboard tray: `ChildOf` the tray entity (which roots its
289
+ * runtime canvas), `PrefabId` the kind's widget type, `Position` board px (x from the drawer's left edge, y down from the board's
290
+ * top at scroll 0), `Size` its hang's, its entry's props over the widget's defaults. Spawned equipped (no capability tag, no
291
+ * rider, no behaviour — nothing acts on it) and under a canvas that is no frame, so never `Active`: the desk's stack never picks,
292
+ * selects, culls or saves one; never durable, never synced. A host that walks "the document's widgets" by `[Position, Size, PrefabId]`
293
+ * excludes it (`Not(Specimen)`) — a durable transaction over a runtime entity is refused ("op references an entity not in this store").
294
+ */
295
+ export declare const Specimen: import("@vibecook/strata-ecs").Tag;
296
+ /**
297
+ * Runtime, on a local pointer: a press the TRAY took (design-017 §4) — on the open drawer (`board`: a drag scrolls it), on the dimmed
298
+ * desk (`desk`: released unmoved, it closes the drawer); a closed drawer takes none (design-018 §5: the lip's `lip` press retired).
299
+ * Where it began (CSS px), the scroll it began from, whether it moved past the slop. K5b (§9): on a SPECIMEN (`specimen`: past the
300
+ * slop its copy lifts; out of the drawer it is handed to the desk) — its `type`, the grab point `u`/`v` across the object as drawn,
301
+ * the specimen's centre on screen `homeX`/`homeY`; and, once handed, the take CARRIED (`carry`: the insert ghost's drag is this
302
+ * pointer's — released back over the drawer as drawn, still sliding away, it is cancelled and the ghost flies home).
303
+ */
304
+ export declare const TrayPress: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
305
+ readonly kind: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"desk" | "board" | "specimen" | "carry">, true>;
306
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
307
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
308
+ readonly scroll0: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
309
+ readonly moved: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
310
+ readonly type: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
311
+ readonly u: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
312
+ readonly v: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
313
+ readonly homeX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
314
+ readonly homeY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
315
+ }>, {
316
+ readonly kind: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"desk" | "board" | "specimen" | "carry">, true>;
317
+ readonly x: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
318
+ readonly y: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
319
+ readonly scroll0: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
320
+ readonly moved: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
321
+ readonly type: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
322
+ readonly u: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
323
+ readonly v: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
324
+ readonly homeX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
325
+ readonly homeY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
326
+ }>;
@@ -145,6 +145,12 @@ export declare const RoutedResize: import("@vibecook/strata-ecs").Tag;
145
145
  export declare const RoutedConnect: import("@vibecook/strata-ecs").Tag;
146
146
  export declare const RoutedMarquee: import("@vibecook/strata-ecs").Tag;
147
147
  export declare const RoutedPan: import("@vibecook/strata-ecs").Tag;
148
+ /**
149
+ * A move drag that STARTED with ⌥ held (latched by moveClaim, like a route): its release leaves a copy of every
150
+ * widget it carried where that widget lay, just under it, in the move's one transaction (*Marks on the Mat*'s
151
+ * keys — "⌥ as the drag starts leaves a copy behind"; design-015 D4a). Runtime, on the recognizer.
152
+ */
153
+ export declare const LeavesCopy: import("@vibecook/strata-ecs").Tag;
148
154
  /** Draw-tool drag: the release rect creates a widget (design-005 §3, M10). */
149
155
  export declare const RoutedDraw: import("@vibecook/strata-ecs").Tag;
150
156
  /**
@@ -230,6 +236,39 @@ export declare const SnapState: import("@vibecook/strata-ecs").Component<import(
230
236
  readonly dx: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
231
237
  readonly dy: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
232
238
  }>;
239
+ /**
240
+ * The dragged set's POST-MOVE UNION BOUNDS, on the Drag RECOGNIZER — the heat's
241
+ * one world fact (design-013 §5 rev 6; `draft/ground` GLOW.md §3).
242
+ *
243
+ * The overlap glow is CAST LIGHT: the lifted card's own SDF lights the target
244
+ * beneath it, so the compose reflector needs to know where the lifted set IS.
245
+ * That is not a new computation — `dropSystem` already unions the dragged
246
+ * widgets' post-move `Position + Size` every frame to run its spatial query,
247
+ * and then throws the number away. It writes it here instead, change-only over
248
+ * all four fields, and the heat gets its geometry for free.
249
+ *
250
+ * The rest of the heat needs no component at all: the tier is the tags
251
+ * `dropSystem` already writes (`OverlapCandidate` accept / `OverlapRejected`
252
+ * reject), the target is the `DropTarget` relation, and the presence spring and
253
+ * the held source are FLUX in the compose reflector's per-entity motion cache
254
+ * (§3) — never in the world.
255
+ *
256
+ * In the Drag prefab's essential set beside {@link SnapState}: present from
257
+ * spawn, zeroed, so writers never race an attach. Nothing clears it — the
258
+ * recognizer is reaped at terminal + 1 (`systems/cleanup.ts`), and the
259
+ * component dies with the entity.
260
+ */
261
+ export declare const DragBounds: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
262
+ readonly minX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
263
+ readonly minY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
264
+ readonly maxX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
265
+ readonly maxY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
266
+ }>, {
267
+ readonly minX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
268
+ readonly minY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
269
+ readonly maxX: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
270
+ readonly maxY: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
271
+ }>;
233
272
  /**
234
273
  * The down point + timestamp latched on the recognizer at spawn (design-003 §4.1). Bare: it must
235
274
  * carry the real down sample.
@@ -243,6 +282,18 @@ export declare const Down: import("@vibecook/strata-ecs").Component<import("@vib
243
282
  readonly y: "f64";
244
283
  readonly ms: "f64";
245
284
  }>;
285
+ /**
286
+ * The card program's PART the pointer was on at the down (design-014, B3b) —
287
+ * attached at recognizer spawn from the pointer's `PointerPart` when it names
288
+ * one. Arbitration withholds the move route from a recognizer that carries
289
+ * it (a press on a control never lifts the card); the tap behaviour hands the
290
+ * tap to the app as a `PartTap` instead of selecting.
291
+ */
292
+ export declare const DownPart: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
293
+ readonly part: "string";
294
+ }>, {
295
+ readonly part: "string";
296
+ }>;
246
297
  /** On widgets, toggled O(1) when the drop candidate changes (design-001 §5.5). */
247
298
  export declare const OverlapCandidate: import("@vibecook/strata-ecs").Tag;
248
299
  /**
@@ -15,11 +15,11 @@ export declare const WirePorts: import("@vibecook/strata-ecs").Component<import(
15
15
  /** A widget port descriptor — spawned only for interaction (connect tool / hover proximity). */
16
16
  export declare const Port: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
17
17
  readonly id: "string";
18
- readonly side: import("@vibecook/strata-ecs").EnumType<"s" | "w" | "n" | "e">;
18
+ readonly side: import("@vibecook/strata-ecs").EnumType<"w" | "n" | "e" | "s">;
19
19
  readonly index: import("@vibecook/strata-ecs").FieldSpec<"u8", true>;
20
20
  }>, {
21
21
  readonly id: "string";
22
- readonly side: import("@vibecook/strata-ecs").EnumType<"s" | "w" | "n" | "e">;
22
+ readonly side: import("@vibecook/strata-ecs").EnumType<"w" | "n" | "e" | "s">;
23
23
  readonly index: import("@vibecook/strata-ecs").FieldSpec<"u8", true>;
24
24
  }>;
25
25
  /** port → widget. */
@@ -31,3 +31,5 @@ export * from "./insert";
31
31
  export * from "./selection-presence";
32
32
  export * from "./camera-derived";
33
33
  export * from "./settings-resources";
34
+ export * from "./surface";
35
+ export * from "./desk";
@@ -52,6 +52,18 @@ export declare const PointerWheel: import("@vibecook/strata-ecs").Component<impo
52
52
  readonly dy: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
53
53
  readonly pinch: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
54
54
  }>;
55
+ /**
56
+ * Runtime, on a local pointer whose press holds a `WheelTurns` widget (D3t-a — systems/press-wheel.ts): the wheel's deltas
57
+ * since the press, summed (never zeroed while the press lasts — a reflector reads it after the tick, when `PointerWheel` is
58
+ * gone); taken off when the press ends.
59
+ */
60
+ export declare const PressWheel: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
61
+ readonly dx: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
62
+ readonly dy: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
63
+ }>, {
64
+ readonly dx: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
65
+ readonly dy: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
66
+ }>;
55
67
  /** Touch-forgiveness radius, screen px (0 = exact, for mouse/pen). */
56
68
  export declare const PointerRadius: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
57
69
  readonly r: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
@@ -66,6 +78,36 @@ export declare const WentUp: import("@vibecook/strata-ecs").Tag;
66
78
  export declare const WentCancelled: import("@vibecook/strata-ecs").Tag;
67
79
  /** The down was consumed by a widget's own DOM handler — recognizers skip it. */
68
80
  export declare const HandledByWidget: import("@vibecook/strata-ecs").Tag;
81
+ /**
82
+ * The PART of a card program under the pointer's exact hit (design-014, B3b):
83
+ * a control the ground draws — `close`, `lock`, whatever the registered
84
+ * program names — or `""` for the content, the frame band, the canvas. Written
85
+ * change-only by `picking` from the interaction stack's frame pick source (the
86
+ * ground's `pick()` over its last-drawn geometry); absent while no source is
87
+ * registered. A press that lands on a part is a CLICK on a control, never a
88
+ * move — the recognizer copies it into `DownPart` at spawn.
89
+ */
90
+ export declare const PointerPart: import("@vibecook/strata-ecs").Component<import("@vibecook/strata-ecs").ValueOf<{
91
+ readonly part: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
92
+ }>, {
93
+ readonly part: import("@vibecook/strata-ecs").FieldSpec<"string", true>;
94
+ }>;
95
+ /**
96
+ * A tap that landed on a card program's PART (design-014, B3b): the select
97
+ * behaviour writes this instead of selecting — `seq` advances per tap, so a
98
+ * reflector (the ground's) observing it hands `(target, part)` to the app's
99
+ * `onPart`. One record: two part taps in one frame keep the last (a
100
+ * frame-rate event, accepted).
101
+ */
102
+ export declare const PartTap: import("@vibecook/strata-ecs").Resource<import("@vibecook/strata-ecs").ValueOf<{
103
+ readonly seq: "u32";
104
+ readonly target: "eid";
105
+ readonly part: "string";
106
+ }>, {
107
+ readonly seq: "u32";
108
+ readonly target: "eid";
109
+ readonly part: "string";
110
+ }>;
69
111
  /**
70
112
  * ONE-TICK: this tick's wheel deltas were ceded to scrollable widget content
71
113
  * (design-007 §3.5, petition I4) — the adapter let native scroll proceed and
@@ -12,6 +12,13 @@ export declare const SnapTarget: import("@vibecook/strata-ecs").Tag;
12
12
  * path). Drag a member out and it simply stops being inside.
13
13
  */
14
14
  export declare const SweepsContained: import("@vibecook/strata-ecs").Tag;
15
+ /**
16
+ * `interaction.wheelTurns` (design-015 §6's photo — PHOTO.md "wheel while holding turns the print about the finger";
17
+ * D3t-a): while a press holds this widget, the wheel on that pointer is the WIDGET's — neither the camera nor the
18
+ * recognizers hear it (`WheelHandled`) — and its deltas add up in the pointer's `PressWheel` for the widget's own
19
+ * behaviour to read (systems/press-wheel.ts).
20
+ */
21
+ export declare const WheelTurns: import("@vibecook/strata-ecs").Tag;
15
22
  /**
16
23
  * `interaction.keyboard: "exclusive"` (design-007 §3.1, petitions I1/I4): while
17
24
  * a node inside this widget holds browser focus, the engine's keyboard surfaces
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Selection-chrome live mirror (2026-07-17): `liftScale` = the app's visual
3
3
  * drag-lift scale factor; `selectionChrome` inflates a Grab-bed member's rect
4
- * by it (about the rect center) so the union box always wraps the card the
5
- * user SEES, not just its ECS footprint.
4
+ * by it (about the rect center) so the resize handles wrap the card the user
5
+ * SEES, not just its ECS footprint (the union box it also inflated left at D7).
6
6
  */
7
7
  export declare const ChromeSettings: import("@vibecook/strata-ecs").Resource<import("@vibecook/strata-ecs").ValueOf<{
8
8
  readonly liftScale: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
@@ -24,6 +24,10 @@ export declare const GestureSettings: import("@vibecook/strata-ecs").Resource<im
24
24
  readonly multiTapSlopPx: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
25
25
  readonly wheelZoomSensitivity: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
26
26
  readonly wheelZoomMaxStep: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
27
+ /** A plain wheel's job (design-015 §9, D-D11): "pan" (default, today) or the desk's "zoom" about the pointer. */
28
+ readonly wheel: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"pan" | "zoom">, true>;
29
+ /** "zoom" mode's law: `zoom · exp(−Δ · wheelZoomRate)` for a plain wheel and a pinch. f64: the prototype's 0.0016, exactly. */
30
+ readonly wheelZoomRate: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
27
31
  }>, {
28
32
  readonly tapMaxMs: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
29
33
  readonly tapSlopPx: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
@@ -38,6 +42,10 @@ export declare const GestureSettings: import("@vibecook/strata-ecs").Resource<im
38
42
  readonly multiTapSlopPx: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
39
43
  readonly wheelZoomSensitivity: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
40
44
  readonly wheelZoomMaxStep: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
45
+ /** A plain wheel's job (design-015 §9, D-D11): "pan" (default, today) or the desk's "zoom" about the pointer. */
46
+ readonly wheel: import("@vibecook/strata-ecs").FieldSpec<import("@vibecook/strata-ecs").EnumType<"pan" | "zoom">, true>;
47
+ /** "zoom" mode's law: `zoom · exp(−Δ · wheelZoomRate)` for a plain wheel and a pinch. f64: the prototype's 0.0016, exactly. */
48
+ readonly wheelZoomRate: import("@vibecook/strata-ecs").FieldSpec<"f64", true>;
41
49
  }>;
42
50
  /** Pick radii + retarget dead-band live mirror (design-003 §3 L1 targeting). */
43
51
  export declare const PointerSettings: import("@vibecook/strata-ecs").Resource<import("@vibecook/strata-ecs").ValueOf<{
@@ -65,3 +73,21 @@ export declare const NavTransitionSettings: import("@vibecook/strata-ecs").Resou
65
73
  }>, {
66
74
  readonly responseMs: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
67
75
  }>;
76
+ /**
77
+ * The zoom-through's live mirror (design-015 §9 — D2b; `settings.nav.zoomThrough`): `enabled`
78
+ * (off unless the app says), the dead band `in`/`out` (CSS px) and the gate `gate0` → `gate1`
79
+ * (the face's short side, CSS px). The `zoomThrough` system consumes it.
80
+ */
81
+ export declare const ZoomThroughSettings: import("@vibecook/strata-ecs").Resource<import("@vibecook/strata-ecs").ValueOf<{
82
+ readonly enabled: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
83
+ readonly in: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
84
+ readonly out: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
85
+ readonly gate0: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
86
+ readonly gate1: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
87
+ }>, {
88
+ readonly enabled: import("@vibecook/strata-ecs").FieldSpec<"bool", true>;
89
+ readonly in: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
90
+ readonly out: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
91
+ readonly gate0: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
92
+ readonly gate1: import("@vibecook/strata-ecs").FieldSpec<"f32", true>;
93
+ }>;
@@ -0,0 +1 @@
1
+ export declare const Retained: import("@vibecook/strata-ecs").Tag;
@@ -16,8 +16,24 @@
16
16
  */
17
17
  import type { DurableStore } from "@vibecook/strata-ecs/durable";
18
18
  import type { Entity, World } from "@vibecook/strata-ecs";
19
- import type { CommitSink } from "../engine/commit-sink";
19
+ import type { CommitIntent, CommitSink } from "../engine/commit-sink";
20
+ import { type GuardedTx } from "../guards/guarded-tx";
20
21
  export declare function drainCreatedSelections(world: World): Entity[];
21
- export declare function createDocCommitSink(store: DurableStore, world: World): CommitSink;
22
+ /**
23
+ * A layer's word on a gesture's LANDING (design-001 §3 step 3a, widened 2026-09-26 by the desk's D7 #2): called inside the
24
+ * intent's transaction, after the intent's own writes, with the intent that made them — so what the layer adds (the desk's
25
+ * pin when a note is let go on a calendar's day, and the note at the day's slot) is the gesture's own undo step: one gesture,
26
+ * one transaction, one ⌘Z. A cancelled gesture never reaches a sink, so it never reaches an extender either. A throwing
27
+ * extender is reported and what it wrote before the throw stays in the step — the user's gesture never rolls back for a
28
+ * layer's fault.
29
+ */
30
+ export type CommitExtender = (intent: CommitIntent, tx: GuardedTx) => void;
31
+ export interface DocCommitSinkOpts {
32
+ /** Whole-intent final authority; undefined means reject without a transaction. */
33
+ readonly guard?: (intent: CommitIntent) => CommitIntent | undefined;
34
+ /** The layers' word on the landing, inside the same transaction (see {@link CommitExtender}). */
35
+ readonly extend?: CommitExtender;
36
+ }
37
+ export declare function createDocCommitSink(store: DurableStore, world: World, opts?: DocCommitSinkOpts): CommitSink;
22
38
  /** The version-gate's read-only posture: gestures run, nothing commits. */
23
39
  export declare function createReadOnlyCommitSink(): CommitSink;