@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.
Files changed (381) 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-VGVDJZSP.js → chunk-DYK6KNLG.js} +13206 -7387
  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 +33 -12
  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-2TNVB2ON.js +0 -1163
  324. package/dist/chunk-2TNVB2ON.js.map +0 -1
  325. package/dist/chunk-OR5FNVUE.js.map +0 -1
  326. package/dist/chunk-Q665T4L7.js +0 -681
  327. package/dist/chunk-Q665T4L7.js.map +0 -1
  328. package/dist/chunk-VGVDJZSP.js.map +0 -1
  329. package/dist/ground.js +0 -1108
  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 -101
  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-contract.d.ts +0 -28
  348. package/dist/types/packages/ground/src/passes/grid-magnet-pass.d.ts +0 -2
  349. package/dist/types/packages/ground/src/passes/grid-magnet.d.ts +0 -31
  350. package/dist/types/packages/ground/src/passes/grid.d.ts +0 -10
  351. package/dist/types/packages/ground/src/passes/guides-collect.d.ts +0 -14
  352. package/dist/types/packages/ground/src/passes/guides.d.ts +0 -3
  353. package/dist/types/packages/ground/src/passes/magnet-collect.d.ts +0 -63
  354. package/dist/types/packages/ground/src/passes/soup-collect.d.ts +0 -35
  355. package/dist/types/packages/ground/src/passes/soup-mesh.d.ts +0 -8
  356. package/dist/types/packages/ground/src/passes/wires-collect.d.ts +0 -35
  357. package/dist/types/packages/ground/src/passes/wires.d.ts +0 -10
  358. package/dist/types/packages/ground/src/poles.d.ts +0 -47
  359. package/dist/types/packages/ground/src/renderer.d.ts +0 -15
  360. package/dist/types/packages/ice/src/ground.d.ts +0 -1
  361. package/dist/types/packages/ice/src/r3f.d.ts +0 -1
  362. package/dist/types/packages/kernel/src/eviction.d.ts +0 -23
  363. package/dist/types/packages/kernel/src/zoom-bands.d.ts +0 -19
  364. package/dist/types/packages/r3f/src/bridge.d.ts +0 -129
  365. package/dist/types/packages/r3f/src/composite-material.d.ts +0 -26
  366. package/dist/types/packages/r3f/src/compositor-pass.d.ts +0 -105
  367. package/dist/types/packages/r3f/src/dev-write-trap.d.ts +0 -30
  368. package/dist/types/packages/r3f/src/gl-root.d.ts +0 -96
  369. package/dist/types/packages/r3f/src/gl-router.d.ts +0 -70
  370. package/dist/types/packages/r3f/src/index.d.ts +0 -17
  371. package/dist/types/packages/r3f/src/island-state.d.ts +0 -112
  372. package/dist/types/packages/r3f/src/island.d.ts +0 -13
  373. package/dist/types/packages/r3f/src/pool.d.ts +0 -56
  374. package/dist/types/packages/r3f/src/preview-capture.d.ts +0 -19
  375. package/dist/types/packages/r3f/src/resource-registry.d.ts +0 -30
  376. package/dist/types/packages/r3f/src/self-sustain.d.ts +0 -39
  377. package/dist/types/packages/r3f/src/use-island-frame.d.ts +0 -39
  378. package/dist/types/packages/react/src/infinite-canvas.d.ts +0 -140
  379. package/dist/types/packages/react/src/preview-snapshots.d.ts +0 -17
  380. package/dist/types/packages/react/src/widget-preview.d.ts +0 -14
  381. package/dist/types/packages/react/src/widget-root.d.ts +0 -33
@@ -0,0 +1,297 @@
1
+ import type { Entity } from "../../../core/src/index";
2
+ import type { CalEvent } from "./events";
3
+ import { type CalendarLaw } from "./law";
4
+ import { type CalendarDraw, CalendarPass, type SheetDraw } from "./pass";
5
+ import { type EventLine, type PrintLook, type SheetPrint } from "./print";
6
+ import { type PinnedSheet } from "./printing";
7
+ import { type RollState } from "./roll";
8
+ import { rollSheets } from "./turn";
9
+ import { type TileGrid } from "./tiles";
10
+ import { type HandLaw, type MatPass, type MarkFrame, type DeskEye, type Rigid, type ShaderText, LayeredKind } from "../../../desk/src/kit/index";
11
+ import { type KindPass, type KindProgram, type SlotContext, type Palette, type RGB, type TokenRef, type KindHost, type KindLocal, type ObjectContext, type ObjectKind } from "../../../desk/src/index";
12
+ /** The desk calendar's kind name — its key in the registry and in every slot's `objects`. */
13
+ export declare const CALENDAR_KIND = "calendar";
14
+ /** The print's presences over the paper: the day rules, the heading rule, the weekend's wash, a neighbour month's wash. */
15
+ export interface CalendarAlpha {
16
+ readonly rule: number;
17
+ readonly head: number;
18
+ readonly weekend: number;
19
+ readonly outside: number;
20
+ }
21
+ export declare class CalendarKind extends LayeredKind<CalendarDraw, CalendarPass> {
22
+ /** The calendar's law — the pad's size, its roll, its eye, its shadow: the host's; `CALENDAR` until one says. */
23
+ law: CalendarLaw;
24
+ /** The print's presences — the PRODUCT's look (CALENDAR.md §4): a host sets them before a pad draws. */
25
+ alpha: CalendarAlpha | null;
26
+ /** The tile grid of the law's sheet (tiles.ts) — the page tables' shape, the host's `writeTable` names the same. */
27
+ private tiles;
28
+ /** The tile grid the pass's page tables have for the law in force — the one a host hands `kind.pass.writeTable`. */
29
+ get grid(): TileGrid;
30
+ /** Root only (D-D18): a spawned slot's pass — a mini mat's inside, a flight's departed desk — holds nothing and draws nothing. */
31
+ spawn(_mat: MatPass): CalendarKind;
32
+ /**
33
+ * A slot's own pass of this kind takes the ROOT's host-set state before it prepares (its law and the print's presences): a spawned pass draws nothing, but a
34
+ * slot that made its own from the program — the tray's specimen (design-017 §8, K5a) — draws with the desk's, and reads the desk's PRINT (K5b).
35
+ */
36
+ tune(root: KindPass<unknown>): void;
37
+ /** The pass's own `prepare`, as the prototype's lab called it: the slot's camera, grid, clocks and light, the desk eye over the slot's view, the law, the tile grid, the colours. */
38
+ protected prepareOwn(pass: CalendarPass, s: SlotContext, records: readonly CalendarDraw[]): number;
39
+ }
40
+ /** The desk calendar's program for a host's shader text: its pass made on the root's mat; its pads one composite run, the first stratum. */
41
+ export declare function calendarProgram(text: ShaderText): KindProgram<CalendarDraw>;
42
+ /**
43
+ * What the calendar's kind takes from the host's palette (CALENDAR.md §4): the paper and the print's inks, the
44
+ * chipboard, the tapes by name (cloth and foil), the print's presences; the pens a caret is drawn in are the note's
45
+ * (`pens`, kinds/paper.ts `PaperPalette`).
46
+ */
47
+ export interface CalendarPalette extends Palette {
48
+ readonly calendars?: {
49
+ readonly paper: TokenRef;
50
+ readonly ink: TokenRef;
51
+ readonly muted: TokenRef;
52
+ readonly weekend: TokenRef;
53
+ readonly hot: TokenRef;
54
+ readonly chipboard: TokenRef;
55
+ readonly tapes: Readonly<Record<string, {
56
+ readonly cloth: TokenRef;
57
+ readonly foil: TokenRef;
58
+ }>>;
59
+ /** The presences; `faint` (a neighbour month's date) and `highlight` (a highlighter's dye) are the PRINT's (D3t-c). */
60
+ readonly alpha: CalendarAlpha & {
61
+ readonly faint?: number;
62
+ readonly highlight?: number;
63
+ };
64
+ /** The PRINT's inks (D3t-c): the pencil a past day is ticked in, the highlighters a run of days is banded in. */
65
+ readonly pencil?: TokenRef;
66
+ readonly highlighters?: Readonly<Record<string, TokenRef>>;
67
+ };
68
+ readonly pens?: Readonly<Record<string, TokenRef>>;
69
+ }
70
+ /** The calendar's look for a theme, parsed. */
71
+ export interface CalendarObjectLook {
72
+ readonly paper: RGB;
73
+ readonly ink: RGB;
74
+ readonly muted: RGB;
75
+ readonly weekend: RGB;
76
+ readonly hot: RGB;
77
+ readonly chipboard: RGB;
78
+ readonly tapes: Readonly<Record<string, {
79
+ readonly cloth: RGB;
80
+ readonly foil: RGB;
81
+ }>>;
82
+ readonly pens: Readonly<Record<string, RGB>>;
83
+ readonly alpha: CalendarAlpha;
84
+ /** The PRINT's inks as the raster takes them (D3t-c) — absent when the palette names no pencil or highlighters. */
85
+ readonly print?: PrintLook;
86
+ }
87
+ /** A pad's still, pinned on the kind's own state (a FLUX pin): a month rolling (`dir` +1 up, −1 down, `p` of the way, the roll's tilt) or the corner's peek. */
88
+ export interface PadPose {
89
+ readonly roll?: {
90
+ readonly dir: 1 | -1;
91
+ readonly p: number;
92
+ readonly tilt?: number;
93
+ };
94
+ readonly peek?: number;
95
+ }
96
+ /** A pad as the builder resolved it: what its record draws and its hit reads (the same eye the pass draws with). */
97
+ export interface CalendarGeometry {
98
+ readonly shown: number;
99
+ readonly weekStart: 0 | 1;
100
+ readonly base: number;
101
+ readonly moving: number | null;
102
+ readonly roll: RollState | null;
103
+ readonly marksOn: 0 | 1;
104
+ readonly rigid: Rigid;
105
+ readonly lamp: readonly [number, number, number];
106
+ readonly lift: number;
107
+ readonly ring: number;
108
+ readonly eye: DeskEye;
109
+ readonly cx: number;
110
+ readonly cy: number;
111
+ /** In hand (D4b's `ctx.held`): the whole sheet is the pen's surface (`content`), never a miss (D3t-c). */
112
+ readonly held: boolean;
113
+ /** A month in motion (a turn — not the corner's peek): the sheet in motion is what a press takes. */
114
+ readonly turning: boolean;
115
+ }
116
+ /** The parts of a pad (the prototype's `CalendarHit`): where a point lands on its sheet, the day and the line there. */
117
+ export type CalendarPartName = "tape" | "roll" | "moving" | "corner" | "foot" | "day" | "entry" | "sheet";
118
+ export interface CalendarPart {
119
+ readonly part: CalendarPartName;
120
+ /** The sheet point: x from its left edge, y from its head (world units). */
121
+ readonly sx: number;
122
+ readonly sy: number;
123
+ /** The day under it (a neighbour month's day in the first or last row counts) — on `day` and `entry`. */
124
+ readonly day?: number;
125
+ /** The line there, as the print laid it — on `entry`. */
126
+ readonly line?: EventLine;
127
+ }
128
+ /**
129
+ * What a desk point lands on, on a pad as resolved (the prototype's `hit`, through the SAME desk eye the pass draws with, at the
130
+ * face's height): the tape; mid-turn the sheet in motion (within the roll's reach of its tangent line) or the sheet beneath; at
131
+ * rest the roll under the tape, the corner, the foot, a line of writing (the print's own boxes — a band a little taller), a day,
132
+ * or the sheet's paper. Null off the pad. The print is the month shown's (`lines` — none in Node: no lines are hit).
133
+ */
134
+ export declare function partAt(G: CalendarGeometry, wx: number, wy: number, lines?: readonly EventLine[], law?: CalendarLaw): CalendarPart | null;
135
+ /** The sheet point (x from its left edge, y from its head) under a desk point, at the pad's face through the eye — unclamped (a finger may leave the pad). */
136
+ export declare function sheetPoint(G: CalendarGeometry, wx: number, wy: number, law?: CalendarLaw): {
137
+ readonly sx: number;
138
+ readonly sy: number;
139
+ };
140
+ /** A pad's sheet point (x from its left, y from its head, `z` up) on the screen, CSS px — through the eye the pad was drawn with. */
141
+ export declare function sheetOnScreen(G: CalendarGeometry, sx: number, sy: number, z?: number, law?: CalendarLaw): readonly [number, number];
142
+ /** A day's cell on the month a pad shows (sheet units) — a neighbour month's day in the first or last row counts — or null. */
143
+ export declare function sheetDayBox(G: CalendarGeometry, day: number, law?: CalendarLaw): {
144
+ readonly x: number;
145
+ readonly y: number;
146
+ readonly w: number;
147
+ readonly h: number;
148
+ } | null;
149
+ /** A run of days, an entry, a caret: what the calendar's hand says is marked on a pad (the driver's — objects/calendar-hand.ts). */
150
+ export interface PadMarks {
151
+ /** The days selected, first to last (day numbers). */
152
+ readonly days?: readonly [number, number];
153
+ /** The entry selected — an event entity's id, or the draft's (−1). */
154
+ readonly entry?: number;
155
+ /** The day a note held over the pad would stick to. */
156
+ readonly drop?: number;
157
+ /** The entry being WRITTEN (the editor on it): printed whole, its time not set apart, the caret at `index` (`on`: the blink). */
158
+ readonly writing?: {
159
+ readonly entry: number;
160
+ readonly index: number;
161
+ readonly on: boolean;
162
+ };
163
+ /** The newest glyph being written and how far the pen's wipe has come over it (0 … 1 — the hand's clock). */
164
+ readonly wipe?: {
165
+ readonly entry: number;
166
+ readonly index: number;
167
+ readonly t: number;
168
+ };
169
+ }
170
+ /** An entry being written that the world does not hold yet (a new line: it is spawned when its session ends — D-D3t-c.4). */
171
+ export interface PadDraft {
172
+ readonly start: number;
173
+ readonly end: number;
174
+ readonly text: string;
175
+ readonly seeds: readonly number[];
176
+ readonly ink: string;
177
+ }
178
+ /** The draft's id in a print (never an entity's). */
179
+ export declare const DRAFT_ID = -1;
180
+ /** The calendar's own state on one desk: each pad's id and page-table slots, its pinned still, its print and marks; the print's presences on the root pass. */
181
+ export interface Pads extends KindLocal {
182
+ /** When the kind is next live (K7a — `KindLocal.due`, declared: the six built-ins all say). */
183
+ due(now: number): number;
184
+ pin(e: Entity, pose: PadPose | undefined): void;
185
+ /** The world half's: the pad's id, its slot pair (its base sheet's table is 2k, its moving sheet's 2k + 1) and its pin. */
186
+ state(e: Entity): {
187
+ readonly id: number;
188
+ readonly slot: number;
189
+ readonly pose: PadPose | undefined;
190
+ };
191
+ /** The world half's: the print's presences on the root pass (the product's look). */
192
+ alpha(a: CalendarAlpha): void;
193
+ /** A pad's events as its data children hold them. */
194
+ events(e: Entity): readonly {
195
+ readonly start: string | null;
196
+ readonly end: string | null;
197
+ readonly text: string | null;
198
+ readonly ink: string | null;
199
+ }[];
200
+ /** The day the print calls today: the pinned one (a still's), else the clock's. */
201
+ today(): number;
202
+ /** Pin today (a day key) for stills and rigs — null gives it back to the clock. */
203
+ pinToday(key: string | null): void;
204
+ /**
205
+ * Pin the ZONE a day is reckoned in (an IANA name) — today's, and the Moon's phases' local days on the print — for stills and rigs:
206
+ * the committed prints were drawn in one zone, and a scene that holds a live print to them pins it (D7). Null: the pad's own.
207
+ */
208
+ pinZone(zone: string | null): void;
209
+ /** The past days ticked off in pencil (CALENDAR.md Q-4; on by default). */
210
+ ticks(on?: boolean): boolean;
211
+ /** A pad's entries as the print takes them — its events by entity, and the draft being written. */
212
+ entries(e: Entity): readonly CalEvent[];
213
+ /** Month `month`'s print on pad `e` as the last frame laid it (its lines: where each entry landed), or undefined — no raster, or not laid. */
214
+ printOf(e: Entity, month: number): SheetPrint | undefined;
215
+ /** A month's COMMITTED tiles on pad `e` (a still's, a rig's pin): drawn instead of the live print; null takes them back. */
216
+ pinPrint(e: Entity, month: number, sheet: PinnedSheet | null): void;
217
+ /** What the calendar's hand marks on pad `e` this frame (undefined: nothing). */
218
+ mark(e: Entity, marks: PadMarks | undefined): void;
219
+ marksOf(e: Entity): PadMarks | undefined;
220
+ /** The entry being written that the world does not hold yet (null: none). */
221
+ draft(e: Entity, d: PadDraft | null): void;
222
+ draftOf(e: Entity): PadDraft | null;
223
+ /** The print's tiles: resident, still to draw, drawn since the desk began. */
224
+ tiles(): {
225
+ readonly resident: number;
226
+ readonly pending: number;
227
+ readonly drawn: number;
228
+ readonly starved: number;
229
+ };
230
+ /** The desk's raster reads a live sheet back as a fixture would hold it (level `level`'s tiles, RGBA) — a rig's door; undefined without a raster. */
231
+ readSheet(e: Entity, month: number, level: number): {
232
+ readonly tiles: ReadonlyMap<string, Uint8Array<ArrayBuffer>>;
233
+ readonly empty: ReadonlySet<string>;
234
+ } | undefined;
235
+ /** The sheets in play for pad `e` whose document month is `durable` (the kind's `resolve`): the month laid bare, the one in motion. */
236
+ sheets(e: Entity, durable: number): ReturnType<typeof rollSheets>;
237
+ /** A pad's turning as it stands (a witness): the month laid bare, the turn in flight, the corner's lift, a hand's roll pending. */
238
+ rollOf(e: Entity): {
239
+ readonly shown: number | null;
240
+ readonly turn: {
241
+ readonly dir: 1 | -1;
242
+ readonly p: number;
243
+ readonly target: 0 | 1;
244
+ readonly held: boolean;
245
+ readonly hand: boolean;
246
+ } | null;
247
+ readonly peek: number;
248
+ readonly pending: number | null;
249
+ } | undefined;
250
+ /** The corner lifts while the pointer is near the foot or the corner (the next month shows under it). */
251
+ peek(e: Entity, on: boolean): void;
252
+ /** A hand takes a sheet by `part` (the foot or the corner: up; the roll: down; the sheet in motion) at sheet point (sx, s from under the tape). False when it cannot. */
253
+ grab(e: Entity, part: "foot" | "corner" | "roll" | "moving", sx: number, s: number, now: number): boolean;
254
+ /** The finger at `s`: the moving sheet follows it. */
255
+ dragTo(e: Entity, s: number, now: number, moved: boolean): void;
256
+ /** Let go (or the press was cancelled): the turn decides. */
257
+ letGo(e: Entity, now: number, cancel?: boolean): void;
258
+ /** The hands' finished rolls since the last drain — each a month the document should now hold (the hand commits it). */
259
+ rolled(): readonly {
260
+ readonly e: Entity;
261
+ readonly month: number;
262
+ }[];
263
+ /** A hand's finished roll waits for `rolled` to drain it (K7a): the hand is not idle, the kind is due, until it is committed. */
264
+ rollOwed(): boolean;
265
+ /** A hand's roll the document REFUSED (read-only, a pad gone): the pad rolls back to the document's month. A landed roll is released by the roll itself, once the document speaks (turn.ts, D7 #3). */
266
+ unroll(e: Entity): void;
267
+ /** A pad is on this desk (D7 #14): the hand's peek follows the pointer while one is — the hand is idle only while neither the pointer nor the camera moved (K7a). */
268
+ busy(): boolean;
269
+ /** The notes stuck to its pads that go with their months (D3t-c): not drawn, never picked (`KindLocal.veils`). */
270
+ veils(): ReadonlySet<Entity>;
271
+ /** Draw a pad's print and its marks for this frame (the kind's `record`): the sheets' tiles brought up, the marks' boxes. */
272
+ draw(e: Entity, G: CalendarGeometry, view: ObjectContext["view"], print: PrintLook | undefined): Pick<CalendarDraw, "sel" | "mark" | "drop" | "caret" | "wipe">;
273
+ }
274
+ /** The calendar's `local()`: ids from 1, slot pairs from the lowest free (the pass's tables hold `MAX_CALENDARS` pads); the print's driver. */
275
+ export declare function createPads(host: KindHost, opts?: {
276
+ readonly law?: CalendarLaw;
277
+ readonly now?: () => number;
278
+ readonly zone?: string;
279
+ readonly hand?: HandLaw;
280
+ }): Pads;
281
+ /** A sheet as the pass draws it (the oracle's `sheetDrawOf`): where its grid is printed, its rows, weekends and days, its table's slot. */
282
+ export declare function sheetDraw(month: number, weekStart: 0 | 1, slot: number, law?: CalendarLaw): SheetDraw;
283
+ /** How far a pad's drawing reaches past its sheet, world units: its lift through the eye and its shadow (the pad lies low), the ring's offset. */
284
+ export declare function calendarReach(law?: CalendarLaw): number;
285
+ /**
286
+ * A desk calendar's silhouette for the desk's marks (D4a — the brackets, a member's ticks, the tape): its sheet's footprint
287
+ * on the mat, square to it, about the pad's centre, with the sheet's corner. The height's parallax aside, as the print's;
288
+ * the oracle's marks read the same function (oracle/frame.mjs).
289
+ */
290
+ export declare function calendarFrame(cx: number, cy: number, law?: CalendarLaw): MarkFrame;
291
+ export interface CalendarKindOptions {
292
+ readonly text?: ShaderText;
293
+ /** The calendar's numbers (calendar/law.ts `CALENDAR`) — the engine's unless a host tweaks them. */
294
+ readonly law?: CalendarLaw;
295
+ }
296
+ /** The desk calendar's kind, whole (kinds/world.ts `ObjectKind`): the program, and the world half on the lab's own pad. */
297
+ export declare function calendarKind(opts?: CalendarKindOptions): ObjectKind<CalendarGeometry, CalendarDraw, CalendarObjectLook>;
@@ -0,0 +1,151 @@
1
+ export interface CalendarLaw {
2
+ /** The sheet's bands, head to foot, and its margins. */
3
+ readonly sheet: {
4
+ /** Left and right, beside the grid (the week numbers print in the left one). */
5
+ readonly margin: number;
6
+ /** The cloth tape across the head: the sheets are bound under it. */
7
+ readonly tape: number;
8
+ /** Blank paper under the tape: where the roll of the months before lies. */
9
+ readonly rollZone: number;
10
+ /** The month's name and the two small months. */
11
+ readonly title: number;
12
+ /** The weekdays' row. */
13
+ readonly weekdays: number;
14
+ readonly foot: number;
15
+ /** The pad's corners. */
16
+ readonly radius: number;
17
+ };
18
+ readonly grid: {
19
+ /** A day's width. */
20
+ readonly cw: number;
21
+ /** The grid's height: a month's rows share it (four, five or six). */
22
+ readonly height: number;
23
+ /** The rules between days, and the heavier one under the weekdays (world units). */
24
+ readonly rule: number;
25
+ readonly head: number;
26
+ };
27
+ /** The printed type (the product's stack, DESIGN.md §3: big is light, small is medium). */
28
+ readonly print: {
29
+ readonly numeral: {
30
+ readonly size: number;
31
+ readonly baseline: number;
32
+ readonly pad: number;
33
+ readonly weight: number;
34
+ };
35
+ readonly title: {
36
+ readonly size: number;
37
+ readonly baseline: number;
38
+ readonly weight: number;
39
+ readonly year: number;
40
+ };
41
+ readonly weekday: {
42
+ readonly size: number;
43
+ readonly tracking: number;
44
+ readonly weight: number;
45
+ };
46
+ readonly mini: {
47
+ readonly size: number;
48
+ readonly pitch: number;
49
+ readonly col: number;
50
+ readonly gap: number;
51
+ };
52
+ readonly small: {
53
+ readonly size: number;
54
+ readonly weight: number;
55
+ };
56
+ readonly moon: {
57
+ readonly r: number;
58
+ readonly inset: number;
59
+ };
60
+ };
61
+ /** The handwriting in the cells (paper/text.ts's hand, at a pen's size). */
62
+ readonly hand: {
63
+ readonly size: number;
64
+ /** A line's pitch. */
65
+ readonly pitch: number;
66
+ /** The first line's top, from the cell's top (under the date). */
67
+ readonly top: number;
68
+ readonly pad: number;
69
+ /** A timed line's time, × the pen's size. */
70
+ readonly time: number;
71
+ /** A band's height, and how far its ends rag. */
72
+ readonly band: number;
73
+ readonly rag: number;
74
+ };
75
+ /** A sticky note stuck to a day: the note's own side, and the gap it keeps from the cell's foot. */
76
+ readonly note: {
77
+ readonly size: number;
78
+ readonly gap: number;
79
+ };
80
+ /** The pad's build: the chipboard back, the sheets under the month (the months after), each sheet. */
81
+ readonly pad: {
82
+ readonly board: number;
83
+ readonly block: number;
84
+ readonly sheet: number;
85
+ };
86
+ /**
87
+ * The ROLL: a month rolled up goes into a roll of paper under the tape — an Archimedean spiral whose
88
+ * turns thicken by `tau` each (paper's thickness, made visible), wound on a core so its outer radius
89
+ * at rest is `rest`; `turns` of it are drawn (the rest is inside). The corner's tilt as a roll starts.
90
+ */
91
+ readonly roll: {
92
+ readonly rest: number;
93
+ readonly tau: number;
94
+ readonly turns: number;
95
+ readonly tilt: number;
96
+ readonly peek: number;
97
+ };
98
+ /** Carried, the pad rises this far. */
99
+ readonly lift: number;
100
+ /** Springs: [hz, damping]. */
101
+ readonly springs: {
102
+ readonly roll: readonly [number, number];
103
+ readonly lift: readonly [number, number];
104
+ readonly ring: readonly [number, number];
105
+ readonly peek: readonly [number, number];
106
+ };
107
+ /** The light: the sky's share, the lambert's cap, the dapple's share on paper and on cloth. */
108
+ readonly light: {
109
+ readonly ambient: number;
110
+ readonly cap: number;
111
+ readonly dapple: number;
112
+ readonly clothDapple: number;
113
+ };
114
+ /** The shadows: σ at contact, σ per unit of height, the cast's alpha, the contact's alpha and σ. */
115
+ readonly shadow: {
116
+ readonly sigma0: number;
117
+ readonly perUnit: number;
118
+ readonly alpha: number;
119
+ readonly contact: number;
120
+ readonly contactSigma: number;
121
+ readonly slopeMax: number;
122
+ };
123
+ /** The paper (the notebook's baked texture): fibre, mottle, tooth, cockle. */
124
+ readonly paper: {
125
+ readonly fibre: number;
126
+ readonly mottle: number;
127
+ readonly tooth: number;
128
+ readonly cockle: number;
129
+ };
130
+ readonly cloth: {
131
+ readonly pitch: number;
132
+ readonly relief: number;
133
+ readonly sheen: readonly [number, number];
134
+ };
135
+ /** The selection ring around the pad (CSS px). */
136
+ readonly ring: {
137
+ readonly offset: number;
138
+ readonly width: number;
139
+ };
140
+ /** The eye (the notebook's desk eye). */
141
+ readonly eye: {
142
+ readonly k: number;
143
+ readonly min: number;
144
+ };
145
+ }
146
+ export declare const CALENDAR: CalendarLaw;
147
+ /** The sheet's size under a law. */
148
+ export declare const sheetSize: (law: CalendarLaw) => {
149
+ readonly W: number;
150
+ readonly H: number;
151
+ };
@@ -0,0 +1,47 @@
1
+ import type { RGB } from "../../../desk/src/index";
2
+ import type { CalendarLaw } from "./law";
3
+ import { type TileGrid } from "./tiles";
4
+ export declare const CalUniforms: import("../../../desk/src/engine/index").StructDef<"view" | "eye" | "light" | "shadow" | "shadow2" | "paper" | "cloth" | "castCol" | "select" | "ring" | "alpha" | "tiles" | "tileNx" | "tileNy" | "tileOff">;
5
+ export declare const CalPad: import("../../../desk/src/engine/index").StructDef<"size" | "model" | "inv" | "lamp" | "recv" | "col0" | "col1" | "col2" | "col3" | "col4" | "col5" | "col6" | "col7" | "z" | "drop" | "sel" | "wipe" | "mark" | "caret" | "roll" | "roll2" | "gridA" | "gridB" | "gridC" | "gridD" | "slots" | "wipe2" | "col8">;
6
+ export declare const MAX_CALENDARS = 4;
7
+ /** Two sheets in play per calendar: its base's table and its moving sheet's. */
8
+ export declare const TABLE_SLOTS: number;
9
+ /** A calendar's colours, as the pass takes them (lab/theme.ts `calendarLook`). */
10
+ export interface CalendarColours {
11
+ readonly paper: RGB;
12
+ readonly ink: RGB;
13
+ readonly muted: RGB;
14
+ readonly weekend: RGB;
15
+ readonly hot: RGB;
16
+ readonly chipboard: RGB;
17
+ readonly cloth: RGB;
18
+ readonly foil: RGB;
19
+ /** The pen the caret is drawn in. */
20
+ readonly pen: RGB;
21
+ }
22
+ /** The pass's knobs by name. */
23
+ export declare function calUniformValues(law: CalendarLaw, eye: {
24
+ eye: number[];
25
+ view: number[];
26
+ }, dpr: number, cast: RGB, select: RGB, alpha: {
27
+ readonly rule: number;
28
+ readonly head: number;
29
+ readonly weekend: number;
30
+ readonly outside: number;
31
+ }, grid: TileGrid, debug: number): {
32
+ eye: number[];
33
+ view: number[];
34
+ light: number[];
35
+ shadow: number[];
36
+ shadow2: number[];
37
+ paper: number[];
38
+ cloth: number[];
39
+ castCol: number[];
40
+ select: number[];
41
+ ring: number[];
42
+ alpha: number[];
43
+ tiles: number[];
44
+ tileNx: number[];
45
+ tileNy: number[];
46
+ tileOff: number[];
47
+ };
@@ -0,0 +1,75 @@
1
+ /** A civil date: year, month 1–12, day 1–31. */
2
+ export interface Ymd {
3
+ readonly y: number;
4
+ readonly m: number;
5
+ readonly d: number;
6
+ }
7
+ /** Days since 1970-01-01 of a civil date (Hinnant's days_from_civil). */
8
+ export declare function dayNumber(y: number, m: number, d: number): number;
9
+ /** The civil date of a day number (Hinnant's civil_from_days). */
10
+ export declare function civil(n: number): Ymd;
11
+ /** 0 = Sunday … 6 = Saturday (1970-01-01 was a Thursday). */
12
+ export declare const weekday: (n: number) => number;
13
+ /** "2026-09-24". */
14
+ export declare const keyOf: (n: number) => string;
15
+ /** The day number of a "YYYY-MM-DD" key. */
16
+ export declare function dayOfKey(key: string): number;
17
+ export declare const isLeap: (y: number) => boolean;
18
+ export declare const daysIn: (y: number, m: number) => number;
19
+ /** A month as one integer (y·12 + m − 1): the pad counts months with it. */
20
+ export declare const monthIndex: (y: number, m: number) => number;
21
+ export declare const monthOf: (index: number) => {
22
+ readonly y: number;
23
+ readonly m: number;
24
+ };
25
+ /** The month a day falls in, as its index. */
26
+ export declare const monthOfDay: (n: number) => number;
27
+ export declare const MONTH_NAMES: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
28
+ /** Sunday first; a sheet rotates them by its week's start. */
29
+ export declare const WEEKDAY_NAMES: readonly ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
30
+ /** A month's grid as the sheet prints it: whole weeks, from the week holding the 1st to the week holding the last day. */
31
+ export interface MonthGrid {
32
+ readonly y: number;
33
+ readonly m: number;
34
+ readonly index: number;
35
+ /** The weekday a row starts on: 0 Sunday, 1 Monday. */
36
+ readonly weekStart: 0 | 1;
37
+ /** The day number of the first cell (a day of the month before, unless the 1st starts the week). */
38
+ readonly first: number;
39
+ /** Weeks the month spans: 4 (a February that starts the week), 5 or 6. */
40
+ readonly rows: number;
41
+ /** Cells before the 1st. */
42
+ readonly lead: number;
43
+ readonly days: number;
44
+ }
45
+ export declare function monthGrid(index: number, weekStart: 0 | 1): MonthGrid;
46
+ /** The day number in a grid's cell. */
47
+ export declare const cellDay: (g: MonthGrid, row: number, col: number) => number;
48
+ /** Does a day belong to the grid's own month (not a neighbour's day in its first or last row)? */
49
+ export declare const inMonth: (g: MonthGrid, n: number) => boolean;
50
+ /** The row and column of a day in a grid (either may fall outside it). */
51
+ export declare const cellOf: (g: MonthGrid, n: number) => {
52
+ readonly row: number;
53
+ readonly col: number;
54
+ };
55
+ /** Is a column a weekend (Saturday or Sunday) under this grid's week? */
56
+ export declare const isWeekendCol: (g: MonthGrid, col: number) => boolean;
57
+ /** ISO 8601 week number of a day (weeks start Monday; week 1 holds the year's first Thursday). */
58
+ export declare function isoWeek(n: number): number;
59
+ /** The local civil day of a moment (ms since the epoch) under the platform's time zone. */
60
+ export declare function localDay(ms: number): number;
61
+ /** The civil day of a moment in the IANA zone `zone` — the calendar's CLOCK SEAM (D7); absent, the platform's own (`localDay`). */
62
+ export declare function dayIn(ms: number, zone?: string): number;
63
+ /** Today — the platform's clock and time zone unless the caller hands its own (a pad's clock seam, D7). */
64
+ export declare const today: (ms?: number, zone?: string) => number;
65
+ /** 0 new · 1 first quarter · 2 full · 3 last quarter. */
66
+ export type MoonPhase = 0 | 1 | 2 | 3;
67
+ /** The Julian Ephemeris Day of the principal phase `k` (an integer + 0, .25, .5 or .75 — Meeus 49.1 with its periodic terms). */
68
+ export declare function phaseJde(k: number): number;
69
+ /** A Julian Day → ms since the epoch (ΔT, about a minute, is left in: it moves no phase across a midnight that matters here). */
70
+ export declare const jdToMs: (jd: number) => number;
71
+ /**
72
+ * The principal phases whose instant falls on a day of [n0, n1] (inclusive), each on the LOCAL day
73
+ * `dayOf` gives it (the platform's time zone unless a test pins one).
74
+ */
75
+ export declare function phasesBetween(n0: number, n1: number, dayOf?: (ms: number) => number): Map<number, MoonPhase>;
@@ -0,0 +1,45 @@
1
+ import { type Entity } from "../../../core/src/index";
2
+ import { type CalendarPart, type Pads } from "./kind";
3
+ import { type KindDriver } from "../../../desk/src/index";
4
+ import { type CalendarHand } from "./hand";
5
+ import { type CalendarWriting } from "./writing";
6
+ /** The tapes a pad is bound with (CALENDAR.md §4) — names; the cloths and foils are the host's. */
7
+ export declare const TAPES: readonly ["ink", "tobacco", "kraft"];
8
+ export type TapeName = (typeof TAPES)[number];
9
+ /** The desk calendar's durable type id. */
10
+ export declare const CALENDAR_TYPE = "desk.calendar";
11
+ /**
12
+ * What sticks to a day (D3t-c): an object that PROVIDES `PINNABLE` (K8a — the note does; a plugin kind may), asked of the host by that
13
+ * key (`KindDriverHost.provides`) — never by another kind's name: a desk where nothing provides it lends no predicate, and the pad
14
+ * pins nothing.
15
+ */
16
+ export { PINNABLE } from "../../../desk/src/index";
17
+ export declare const Calendar: import("../../../core/src/index").WidgetType;
18
+ /** The calendar's DOM half as its driver sees it (host/calendar-input.ts implements it): the caret on the line being written, the part under a client point, the selection's doors. */
19
+ export interface CalendarInputDoors {
20
+ caret(): {
21
+ readonly index: number;
22
+ readonly t0: number;
23
+ readonly wipe: {
24
+ readonly index: number;
25
+ readonly t0: number;
26
+ } | null;
27
+ } | null;
28
+ partAtClient(x: number, y: number): {
29
+ readonly pad: Entity;
30
+ readonly part: CalendarPart;
31
+ } | null;
32
+ selectDays(pad: Entity, anchor: number, focus: number): void;
33
+ selectEntry(pad: Entity, entry: Entity): void;
34
+ clear(): void;
35
+ dispose(): void;
36
+ }
37
+ /** The calendar's driver (`driversOf(Calendar)`): its writing, its hand, its pads, its membership — and the DOM half that joins it. */
38
+ export interface CalendarDriver extends KindDriver {
39
+ readonly writing: CalendarWriting;
40
+ readonly hand: CalendarHand;
41
+ readonly pads: () => Pads | undefined;
42
+ readonly isPad: (e: Entity) => boolean;
43
+ /** The DOM half, once the host has made it (the days and the pen at event time); the hand reads its caret. */
44
+ input: CalendarInputDoors | undefined;
45
+ }
@@ -0,0 +1,42 @@
1
+ import type { CalendarLaw } from "./law";
2
+ import { type BuiltMesh, type MeshWriter } from "../../../desk/src/kit/index";
3
+ /** The materials, by the number a vertex carries. */
4
+ export declare const CMAT: {
5
+ readonly base: 0;
6
+ readonly moving: 1;
7
+ readonly past: 2;
8
+ readonly edge: 3;
9
+ readonly board: 4;
10
+ readonly tape: 5;
11
+ };
12
+ export interface PadFrame {
13
+ readonly W: number;
14
+ readonly H: number;
15
+ /** The tape's depth down the head, and the sheet's free length below it. */
16
+ readonly T: number;
17
+ readonly L: number;
18
+ /** The board's top, the pad's face (the base sheet), the moving sheet's face, the tape's top. */
19
+ readonly zb: number;
20
+ readonly zt: number;
21
+ readonly zm: number;
22
+ readonly zTape: number;
23
+ /** The past roll's radius, and how much of its spiral is drawn (radians). */
24
+ readonly rest: number;
25
+ readonly turns: number;
26
+ }
27
+ export declare function padFrame(law: CalendarLaw): PadFrame;
28
+ /** A sheet point (x from the left edge, s down from the tape's edge) → pad coordinates. */
29
+ export declare const padOf: (F: PadFrame, sx: number, s: number, z: number) => readonly [number, number, number];
30
+ /**
31
+ * The pad's static mesh: the board's and the block's sides, the base sheet, the tape, the past roll.
32
+ * Rebuilt only when the law changes; the pad moves by its matrix.
33
+ */
34
+ export declare function buildPad(m: MeshWriter, F: PadFrame, law: CalendarLaw): BuiltMesh & {
35
+ readonly sheetFirst: number;
36
+ readonly rollFirst: number;
37
+ };
38
+ /** The moving sheet's grid: (u, v) in [0, 1]², `cols` × `rows` quads; the vertex shader lays it on the sheet and rolls it. */
39
+ export declare function movingGrid(cols: number, rows: number): {
40
+ readonly vertices: Float32Array<ArrayBuffer>;
41
+ readonly indices: Uint32Array<ArrayBuffer>;
42
+ };