aigpu 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +85 -0
  3. package/bin/aigpu.js +15 -0
  4. package/client.d.ts +15 -0
  5. package/dist/agent-tools.d.ts +61 -0
  6. package/dist/agent-tools.d.ts.map +1 -0
  7. package/dist/agent-tools.js +107 -0
  8. package/dist/agent-tools.js.map +1 -0
  9. package/dist/agent.d.ts +56 -0
  10. package/dist/agent.d.ts.map +1 -0
  11. package/dist/agent.js +243 -0
  12. package/dist/agent.js.map +1 -0
  13. package/dist/api-types.d.ts +56 -0
  14. package/dist/api-types.d.ts.map +1 -0
  15. package/dist/api-types.js +2 -0
  16. package/dist/api-types.js.map +1 -0
  17. package/dist/bind-cache.d.ts +19 -0
  18. package/dist/bind-cache.d.ts.map +1 -0
  19. package/dist/bind-cache.js +43 -0
  20. package/dist/bind-cache.js.map +1 -0
  21. package/dist/bundle.d.ts +30 -0
  22. package/dist/bundle.d.ts.map +1 -0
  23. package/dist/bundle.js +127 -0
  24. package/dist/bundle.js.map +1 -0
  25. package/dist/claim-validation-encode.d.ts +14 -0
  26. package/dist/claim-validation-encode.d.ts.map +1 -0
  27. package/dist/claim-validation-encode.js +28 -0
  28. package/dist/claim-validation-encode.js.map +1 -0
  29. package/dist/claim-validation.d.ts +73 -0
  30. package/dist/claim-validation.d.ts.map +1 -0
  31. package/dist/claim-validation.js +135 -0
  32. package/dist/claim-validation.js.map +1 -0
  33. package/dist/cli/bin/aigpu.js +101 -0
  34. package/dist/cli/lib/check/run.js +153 -0
  35. package/dist/cli/lib/docs/commands/cat.js +12 -0
  36. package/dist/cli/lib/docs/commands/find.js +180 -0
  37. package/dist/cli/lib/docs/commands/grep.js +49 -0
  38. package/dist/cli/lib/docs/commands/ls.js +41 -0
  39. package/dist/cli/lib/docs/commands/path.js +12 -0
  40. package/dist/cli/lib/docs/commands/resolve.js +41 -0
  41. package/dist/cli/lib/docs/commands/shared.js +13 -0
  42. package/dist/cli/lib/docs/commands/symbols.js +25 -0
  43. package/dist/cli/lib/docs/errors.js +8 -0
  44. package/dist/cli/lib/docs/generate/check-drift.js +61 -0
  45. package/dist/cli/lib/docs/generate/cli.js +12 -0
  46. package/dist/cli/lib/docs/generate/generate.js +113 -0
  47. package/dist/cli/lib/docs/generate/manifest.js +218 -0
  48. package/dist/cli/lib/docs/generate/skill.js +150 -0
  49. package/dist/cli/lib/docs/help.js +21 -0
  50. package/dist/cli/lib/docs/index.js +62 -0
  51. package/dist/cli/lib/docs/model.js +7 -0
  52. package/dist/cli/lib/docs/run.js +24 -0
  53. package/dist/cli/lib/docs/service.js +119 -0
  54. package/dist/cli/lib/doctor/run.js +236 -0
  55. package/dist/cli/lib/examples/errors.js +13 -0
  56. package/dist/cli/lib/examples/hashing.js +9 -0
  57. package/dist/cli/lib/examples/help.js +13 -0
  58. package/dist/cli/lib/examples/local-source.js +142 -0
  59. package/dist/cli/lib/examples/paths.js +12 -0
  60. package/dist/cli/lib/examples/pull.js +58 -0
  61. package/dist/cli/lib/examples/run.js +71 -0
  62. package/dist/cli/lib/examples/search.js +6 -0
  63. package/dist/cli/lib/examples/service.js +118 -0
  64. package/dist/cli/lib/generated/docs-manifest.generated.js +4758 -0
  65. package/dist/cli/lib/install-dawn/run.js +24 -0
  66. package/dist/cli/lib/install-software-renderer/run.js +17 -0
  67. package/dist/cli/lib/mcp/http.js +93 -0
  68. package/dist/cli/lib/mcp/server.js +258 -0
  69. package/dist/cli/lib/mcp/stdio.js +34 -0
  70. package/dist/cli/lib/snapshot/png.js +62 -0
  71. package/dist/cli/lib/snapshot/render.js +22 -0
  72. package/dist/cli/lib/snapshot/run.js +79 -0
  73. package/dist/cli/lib/snapshot/shaders.js +11 -0
  74. package/dist/cli/package.json +4 -0
  75. package/dist/client.d.ts +12 -0
  76. package/dist/client.d.ts.map +1 -0
  77. package/dist/client.js +2 -0
  78. package/dist/client.js.map +1 -0
  79. package/dist/clock.d.ts +26 -0
  80. package/dist/clock.d.ts.map +1 -0
  81. package/dist/clock.js +50 -0
  82. package/dist/clock.js.map +1 -0
  83. package/dist/compute.d.ts +41 -0
  84. package/dist/compute.d.ts.map +1 -0
  85. package/dist/compute.js +132 -0
  86. package/dist/compute.js.map +1 -0
  87. package/dist/core/render-bundle.d.ts +30 -0
  88. package/dist/core/render-bundle.d.ts.map +1 -0
  89. package/dist/core/render-bundle.js +39 -0
  90. package/dist/core/render-bundle.js.map +1 -0
  91. package/dist/core/storage-buffer.d.ts +81 -0
  92. package/dist/core/storage-buffer.d.ts.map +1 -0
  93. package/dist/core/storage-buffer.js +91 -0
  94. package/dist/core/storage-buffer.js.map +1 -0
  95. package/dist/core/structured-uniform.d.ts +33 -0
  96. package/dist/core/structured-uniform.d.ts.map +1 -0
  97. package/dist/core/structured-uniform.js +110 -0
  98. package/dist/core/structured-uniform.js.map +1 -0
  99. package/dist/core/uniform-pool-internals.d.ts +12 -0
  100. package/dist/core/uniform-pool-internals.d.ts.map +1 -0
  101. package/dist/core/uniform-pool-internals.js +24 -0
  102. package/dist/core/uniform-pool-internals.js.map +1 -0
  103. package/dist/core/uniform-pool-types.d.ts +22 -0
  104. package/dist/core/uniform-pool-types.d.ts.map +1 -0
  105. package/dist/core/uniform-pool-types.js +2 -0
  106. package/dist/core/uniform-pool-types.js.map +1 -0
  107. package/dist/core/uniform-pool.d.ts +22 -0
  108. package/dist/core/uniform-pool.d.ts.map +1 -0
  109. package/dist/core/uniform-pool.js +128 -0
  110. package/dist/core/uniform-pool.js.map +1 -0
  111. package/dist/core/uniform.d.ts +55 -0
  112. package/dist/core/uniform.d.ts.map +1 -0
  113. package/dist/core/uniform.js +64 -0
  114. package/dist/core/uniform.js.map +1 -0
  115. package/dist/core/wgsl-alignment.d.ts +24 -0
  116. package/dist/core/wgsl-alignment.d.ts.map +1 -0
  117. package/dist/core/wgsl-alignment.js +81 -0
  118. package/dist/core/wgsl-alignment.js.map +1 -0
  119. package/dist/core.d.ts +13 -0
  120. package/dist/core.d.ts.map +1 -0
  121. package/dist/core.js +7 -0
  122. package/dist/core.js.map +1 -0
  123. package/dist/dom.d.ts +37 -0
  124. package/dist/dom.d.ts.map +1 -0
  125. package/dist/dom.js +81 -0
  126. package/dist/dom.js.map +1 -0
  127. package/dist/draw-protocols.d.ts +36 -0
  128. package/dist/draw-protocols.d.ts.map +1 -0
  129. package/dist/draw-protocols.js +10 -0
  130. package/dist/draw-protocols.js.map +1 -0
  131. package/dist/draw.d.ts +248 -0
  132. package/dist/draw.d.ts.map +1 -0
  133. package/dist/draw.js +890 -0
  134. package/dist/draw.js.map +1 -0
  135. package/dist/effect.d.ts +53 -0
  136. package/dist/effect.d.ts.map +1 -0
  137. package/dist/effect.js +75 -0
  138. package/dist/effect.js.map +1 -0
  139. package/dist/entry-metadata.d.ts +16 -0
  140. package/dist/entry-metadata.d.ts.map +1 -0
  141. package/dist/entry-metadata.js +27 -0
  142. package/dist/entry-metadata.js.map +1 -0
  143. package/dist/errors.d.ts +96 -0
  144. package/dist/errors.d.ts.map +1 -0
  145. package/dist/errors.js +616 -0
  146. package/dist/errors.js.map +1 -0
  147. package/dist/frame-protocols.d.ts +107 -0
  148. package/dist/frame-protocols.d.ts.map +1 -0
  149. package/dist/frame-protocols.js +20 -0
  150. package/dist/frame-protocols.js.map +1 -0
  151. package/dist/frame-state.d.ts +32 -0
  152. package/dist/frame-state.d.ts.map +1 -0
  153. package/dist/frame-state.js +62 -0
  154. package/dist/frame-state.js.map +1 -0
  155. package/dist/frame.d.ts +127 -0
  156. package/dist/frame.d.ts.map +1 -0
  157. package/dist/frame.js +645 -0
  158. package/dist/frame.js.map +1 -0
  159. package/dist/group-claim.d.ts +9 -0
  160. package/dist/group-claim.d.ts.map +1 -0
  161. package/dist/group-claim.js +7 -0
  162. package/dist/group-claim.js.map +1 -0
  163. package/dist/index.d.ts +41 -0
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +27 -0
  166. package/dist/index.js.map +1 -0
  167. package/dist/indirect.d.ts +39 -0
  168. package/dist/indirect.d.ts.map +1 -0
  169. package/dist/indirect.js +61 -0
  170. package/dist/indirect.js.map +1 -0
  171. package/dist/init-from-device.d.ts +11 -0
  172. package/dist/init-from-device.d.ts.map +1 -0
  173. package/dist/init-from-device.js +56 -0
  174. package/dist/init-from-device.js.map +1 -0
  175. package/dist/init.d.ts +12 -0
  176. package/dist/init.d.ts.map +1 -0
  177. package/dist/init.js +7 -0
  178. package/dist/init.js.map +1 -0
  179. package/dist/kernel.d.ts +104 -0
  180. package/dist/kernel.d.ts.map +1 -0
  181. package/dist/kernel.js +151 -0
  182. package/dist/kernel.js.map +1 -0
  183. package/dist/lifecycle.d.ts +10 -0
  184. package/dist/lifecycle.d.ts.map +1 -0
  185. package/dist/lifecycle.js +21 -0
  186. package/dist/lifecycle.js.map +1 -0
  187. package/dist/live-kernel.d.ts +48 -0
  188. package/dist/live-kernel.d.ts.map +1 -0
  189. package/dist/live-kernel.js +67 -0
  190. package/dist/live-kernel.js.map +1 -0
  191. package/dist/mock.d.ts +42 -0
  192. package/dist/mock.d.ts.map +1 -0
  193. package/dist/mock.js +29 -0
  194. package/dist/mock.js.map +1 -0
  195. package/dist/node.d.ts +48 -0
  196. package/dist/node.d.ts.map +1 -0
  197. package/dist/node.js +36 -0
  198. package/dist/node.js.map +1 -0
  199. package/dist/ping-pong.d.ts +19 -0
  200. package/dist/ping-pong.d.ts.map +1 -0
  201. package/dist/ping-pong.js +67 -0
  202. package/dist/ping-pong.js.map +1 -0
  203. package/dist/pipeline-store.d.ts +89 -0
  204. package/dist/pipeline-store.d.ts.map +1 -0
  205. package/dist/pipeline-store.js +366 -0
  206. package/dist/pipeline-store.js.map +1 -0
  207. package/dist/query-ring.d.ts +91 -0
  208. package/dist/query-ring.d.ts.map +1 -0
  209. package/dist/query-ring.js +178 -0
  210. package/dist/query-ring.js.map +1 -0
  211. package/dist/render-service.d.ts +23 -0
  212. package/dist/render-service.d.ts.map +1 -0
  213. package/dist/render-service.js +37 -0
  214. package/dist/render-service.js.map +1 -0
  215. package/dist/sampler.d.ts +19 -0
  216. package/dist/sampler.d.ts.map +1 -0
  217. package/dist/sampler.js +46 -0
  218. package/dist/sampler.js.map +1 -0
  219. package/dist/scene/camera.d.ts +91 -0
  220. package/dist/scene/camera.d.ts.map +1 -0
  221. package/dist/scene/camera.js +221 -0
  222. package/dist/scene/camera.js.map +1 -0
  223. package/dist/scene/geometries.d.ts +26 -0
  224. package/dist/scene/geometries.d.ts.map +1 -0
  225. package/dist/scene/geometries.js +26 -0
  226. package/dist/scene/geometries.js.map +1 -0
  227. package/dist/scene/geometry-descriptor.d.ts +120 -0
  228. package/dist/scene/geometry-descriptor.d.ts.map +1 -0
  229. package/dist/scene/geometry-descriptor.js +378 -0
  230. package/dist/scene/geometry-descriptor.js.map +1 -0
  231. package/dist/scene/geometry-recipe.d.ts +41 -0
  232. package/dist/scene/geometry-recipe.d.ts.map +1 -0
  233. package/dist/scene/geometry-recipe.js +40 -0
  234. package/dist/scene/geometry-recipe.js.map +1 -0
  235. package/dist/scene/geometry-src/camera-math.d.ts +6 -0
  236. package/dist/scene/geometry-src/camera-math.d.ts.map +1 -0
  237. package/dist/scene/geometry-src/camera-math.js +47 -0
  238. package/dist/scene/geometry-src/camera-math.js.map +1 -0
  239. package/dist/scene/geometry-src/camera.d.ts +10 -0
  240. package/dist/scene/geometry-src/camera.d.ts.map +1 -0
  241. package/dist/scene/geometry-src/camera.js +2 -0
  242. package/dist/scene/geometry-src/camera.js.map +1 -0
  243. package/dist/scene/geometry-src/capsule-data.d.ts +10 -0
  244. package/dist/scene/geometry-src/capsule-data.d.ts.map +1 -0
  245. package/dist/scene/geometry-src/capsule-data.js +61 -0
  246. package/dist/scene/geometry-src/capsule-data.js.map +1 -0
  247. package/dist/scene/geometry-src/cone-data.d.ts +13 -0
  248. package/dist/scene/geometry-src/cone-data.d.ts.map +1 -0
  249. package/dist/scene/geometry-src/cone-data.js +52 -0
  250. package/dist/scene/geometry-src/cone-data.js.map +1 -0
  251. package/dist/scene/geometry-src/cylinder-data.d.ts +14 -0
  252. package/dist/scene/geometry-src/cylinder-data.d.ts.map +1 -0
  253. package/dist/scene/geometry-src/cylinder-data.js +58 -0
  254. package/dist/scene/geometry-src/cylinder-data.js.map +1 -0
  255. package/dist/scene/geometry-src/deg-to-rad.d.ts +2 -0
  256. package/dist/scene/geometry-src/deg-to-rad.d.ts.map +1 -0
  257. package/dist/scene/geometry-src/deg-to-rad.js +4 -0
  258. package/dist/scene/geometry-src/deg-to-rad.js.map +1 -0
  259. package/dist/scene/geometry-src/disk-data.d.ts +12 -0
  260. package/dist/scene/geometry-src/disk-data.d.ts.map +1 -0
  261. package/dist/scene/geometry-src/disk-data.js +21 -0
  262. package/dist/scene/geometry-src/disk-data.js.map +1 -0
  263. package/dist/scene/geometry-src/errors.d.ts +3 -0
  264. package/dist/scene/geometry-src/errors.d.ts.map +1 -0
  265. package/dist/scene/geometry-src/errors.js +5 -0
  266. package/dist/scene/geometry-src/errors.js.map +1 -0
  267. package/dist/scene/geometry-src/icosphere-data.d.ts +8 -0
  268. package/dist/scene/geometry-src/icosphere-data.d.ts.map +1 -0
  269. package/dist/scene/geometry-src/icosphere-data.js +58 -0
  270. package/dist/scene/geometry-src/icosphere-data.js.map +1 -0
  271. package/dist/scene/geometry-src/index.d.ts +36 -0
  272. package/dist/scene/geometry-src/index.d.ts.map +1 -0
  273. package/dist/scene/geometry-src/index.js +21 -0
  274. package/dist/scene/geometry-src/index.js.map +1 -0
  275. package/dist/scene/geometry-src/mesh-box.d.ts +8 -0
  276. package/dist/scene/geometry-src/mesh-box.d.ts.map +1 -0
  277. package/dist/scene/geometry-src/mesh-box.js +57 -0
  278. package/dist/scene/geometry-src/mesh-box.js.map +1 -0
  279. package/dist/scene/geometry-src/mesh-cache.d.ts +4 -0
  280. package/dist/scene/geometry-src/mesh-cache.d.ts.map +1 -0
  281. package/dist/scene/geometry-src/mesh-cache.js +14 -0
  282. package/dist/scene/geometry-src/mesh-cache.js.map +1 -0
  283. package/dist/scene/geometry-src/mesh-capsule.d.ts +14 -0
  284. package/dist/scene/geometry-src/mesh-capsule.d.ts.map +1 -0
  285. package/dist/scene/geometry-src/mesh-capsule.js +52 -0
  286. package/dist/scene/geometry-src/mesh-capsule.js.map +1 -0
  287. package/dist/scene/geometry-src/mesh-cone.d.ts +16 -0
  288. package/dist/scene/geometry-src/mesh-cone.d.ts.map +1 -0
  289. package/dist/scene/geometry-src/mesh-cone.js +54 -0
  290. package/dist/scene/geometry-src/mesh-cone.js.map +1 -0
  291. package/dist/scene/geometry-src/mesh-cylinder.d.ts +18 -0
  292. package/dist/scene/geometry-src/mesh-cylinder.d.ts.map +1 -0
  293. package/dist/scene/geometry-src/mesh-cylinder.js +67 -0
  294. package/dist/scene/geometry-src/mesh-cylinder.js.map +1 -0
  295. package/dist/scene/geometry-src/mesh-disk.d.ts +11 -0
  296. package/dist/scene/geometry-src/mesh-disk.d.ts.map +1 -0
  297. package/dist/scene/geometry-src/mesh-disk.js +45 -0
  298. package/dist/scene/geometry-src/mesh-disk.js.map +1 -0
  299. package/dist/scene/geometry-src/mesh-dodecahedron.d.ts +4 -0
  300. package/dist/scene/geometry-src/mesh-dodecahedron.d.ts.map +1 -0
  301. package/dist/scene/geometry-src/mesh-dodecahedron.js +10 -0
  302. package/dist/scene/geometry-src/mesh-dodecahedron.js.map +1 -0
  303. package/dist/scene/geometry-src/mesh-fullscreen-quad.d.ts +7 -0
  304. package/dist/scene/geometry-src/mesh-fullscreen-quad.d.ts.map +1 -0
  305. package/dist/scene/geometry-src/mesh-fullscreen-quad.js +39 -0
  306. package/dist/scene/geometry-src/mesh-fullscreen-quad.js.map +1 -0
  307. package/dist/scene/geometry-src/mesh-icosahedron.d.ts +4 -0
  308. package/dist/scene/geometry-src/mesh-icosahedron.d.ts.map +1 -0
  309. package/dist/scene/geometry-src/mesh-icosahedron.js +10 -0
  310. package/dist/scene/geometry-src/mesh-icosahedron.js.map +1 -0
  311. package/dist/scene/geometry-src/mesh-icosphere.d.ts +11 -0
  312. package/dist/scene/geometry-src/mesh-icosphere.d.ts.map +1 -0
  313. package/dist/scene/geometry-src/mesh-icosphere.js +47 -0
  314. package/dist/scene/geometry-src/mesh-icosphere.js.map +1 -0
  315. package/dist/scene/geometry-src/mesh-octahedron.d.ts +4 -0
  316. package/dist/scene/geometry-src/mesh-octahedron.d.ts.map +1 -0
  317. package/dist/scene/geometry-src/mesh-octahedron.js +10 -0
  318. package/dist/scene/geometry-src/mesh-octahedron.js.map +1 -0
  319. package/dist/scene/geometry-src/mesh-plane.d.ts +13 -0
  320. package/dist/scene/geometry-src/mesh-plane.d.ts.map +1 -0
  321. package/dist/scene/geometry-src/mesh-plane.js +51 -0
  322. package/dist/scene/geometry-src/mesh-plane.js.map +1 -0
  323. package/dist/scene/geometry-src/mesh-ring.d.ts +12 -0
  324. package/dist/scene/geometry-src/mesh-ring.d.ts.map +1 -0
  325. package/dist/scene/geometry-src/mesh-ring.js +47 -0
  326. package/dist/scene/geometry-src/mesh-ring.js.map +1 -0
  327. package/dist/scene/geometry-src/mesh-sphere.d.ts +10 -0
  328. package/dist/scene/geometry-src/mesh-sphere.d.ts.map +1 -0
  329. package/dist/scene/geometry-src/mesh-sphere.js +51 -0
  330. package/dist/scene/geometry-src/mesh-sphere.js.map +1 -0
  331. package/dist/scene/geometry-src/mesh-tetrahedron.d.ts +5 -0
  332. package/dist/scene/geometry-src/mesh-tetrahedron.d.ts.map +1 -0
  333. package/dist/scene/geometry-src/mesh-tetrahedron.js +10 -0
  334. package/dist/scene/geometry-src/mesh-tetrahedron.js.map +1 -0
  335. package/dist/scene/geometry-src/mesh-torus.d.ts +17 -0
  336. package/dist/scene/geometry-src/mesh-torus.d.ts.map +1 -0
  337. package/dist/scene/geometry-src/mesh-torus.js +56 -0
  338. package/dist/scene/geometry-src/mesh-torus.js.map +1 -0
  339. package/dist/scene/geometry-src/mesh-types.d.ts +38 -0
  340. package/dist/scene/geometry-src/mesh-types.d.ts.map +1 -0
  341. package/dist/scene/geometry-src/mesh-types.js +2 -0
  342. package/dist/scene/geometry-src/mesh-types.js.map +1 -0
  343. package/dist/scene/geometry-src/mesh.d.ts +61 -0
  344. package/dist/scene/geometry-src/mesh.d.ts.map +1 -0
  345. package/dist/scene/geometry-src/mesh.js +49 -0
  346. package/dist/scene/geometry-src/mesh.js.map +1 -0
  347. package/dist/scene/geometry-src/orthographic-camera.d.ts +14 -0
  348. package/dist/scene/geometry-src/orthographic-camera.d.ts.map +1 -0
  349. package/dist/scene/geometry-src/orthographic-camera.js +9 -0
  350. package/dist/scene/geometry-src/orthographic-camera.js.map +1 -0
  351. package/dist/scene/geometry-src/perspective-camera.d.ts +12 -0
  352. package/dist/scene/geometry-src/perspective-camera.d.ts.map +1 -0
  353. package/dist/scene/geometry-src/perspective-camera.js +9 -0
  354. package/dist/scene/geometry-src/perspective-camera.js.map +1 -0
  355. package/dist/scene/geometry-src/plane-data.d.ts +12 -0
  356. package/dist/scene/geometry-src/plane-data.d.ts.map +1 -0
  357. package/dist/scene/geometry-src/plane-data.js +25 -0
  358. package/dist/scene/geometry-src/plane-data.js.map +1 -0
  359. package/dist/scene/geometry-src/polyhedron-data.d.ts +7 -0
  360. package/dist/scene/geometry-src/polyhedron-data.d.ts.map +1 -0
  361. package/dist/scene/geometry-src/polyhedron-data.js +42 -0
  362. package/dist/scene/geometry-src/polyhedron-data.js.map +1 -0
  363. package/dist/scene/geometry-src/polyhedron-mesh.d.ts +10 -0
  364. package/dist/scene/geometry-src/polyhedron-mesh.d.ts.map +1 -0
  365. package/dist/scene/geometry-src/polyhedron-mesh.js +37 -0
  366. package/dist/scene/geometry-src/polyhedron-mesh.js.map +1 -0
  367. package/dist/scene/geometry-src/polyhedron-seeds.d.ts +6 -0
  368. package/dist/scene/geometry-src/polyhedron-seeds.d.ts.map +1 -0
  369. package/dist/scene/geometry-src/polyhedron-seeds.js +51 -0
  370. package/dist/scene/geometry-src/polyhedron-seeds.js.map +1 -0
  371. package/dist/scene/geometry-src/primitive-data-utils.d.ts +9 -0
  372. package/dist/scene/geometry-src/primitive-data-utils.d.ts.map +1 -0
  373. package/dist/scene/geometry-src/primitive-data-utils.js +36 -0
  374. package/dist/scene/geometry-src/primitive-data-utils.js.map +1 -0
  375. package/dist/scene/geometry-src/ring-data.d.ts +13 -0
  376. package/dist/scene/geometry-src/ring-data.d.ts.map +1 -0
  377. package/dist/scene/geometry-src/ring-data.js +24 -0
  378. package/dist/scene/geometry-src/ring-data.js.map +1 -0
  379. package/dist/scene/geometry-src/sphere-data.d.ts +11 -0
  380. package/dist/scene/geometry-src/sphere-data.d.ts.map +1 -0
  381. package/dist/scene/geometry-src/sphere-data.js +31 -0
  382. package/dist/scene/geometry-src/sphere-data.js.map +1 -0
  383. package/dist/scene/geometry-src/srgb.d.ts +5 -0
  384. package/dist/scene/geometry-src/srgb.d.ts.map +1 -0
  385. package/dist/scene/geometry-src/srgb.js +23 -0
  386. package/dist/scene/geometry-src/srgb.js.map +1 -0
  387. package/dist/scene/geometry-src/torus-data.d.ts +11 -0
  388. package/dist/scene/geometry-src/torus-data.d.ts.map +1 -0
  389. package/dist/scene/geometry-src/torus-data.js +38 -0
  390. package/dist/scene/geometry-src/torus-data.js.map +1 -0
  391. package/dist/scene/geometry-src/vertex-layout.d.ts +2 -0
  392. package/dist/scene/geometry-src/vertex-layout.d.ts.map +1 -0
  393. package/dist/scene/geometry-src/vertex-layout.js +2 -0
  394. package/dist/scene/geometry-src/vertex-layout.js.map +1 -0
  395. package/dist/scene/geometry.d.ts +70 -0
  396. package/dist/scene/geometry.d.ts.map +1 -0
  397. package/dist/scene/geometry.js +71 -0
  398. package/dist/scene/geometry.js.map +1 -0
  399. package/dist/scene/orbit.d.ts +9 -0
  400. package/dist/scene/orbit.d.ts.map +1 -0
  401. package/dist/scene/orbit.js +15 -0
  402. package/dist/scene/orbit.js.map +1 -0
  403. package/dist/scene/tree/errors.d.ts +4 -0
  404. package/dist/scene/tree/errors.d.ts.map +1 -0
  405. package/dist/scene/tree/errors.js +19 -0
  406. package/dist/scene/tree/errors.js.map +1 -0
  407. package/dist/scene/tree/light.d.ts +42 -0
  408. package/dist/scene/tree/light.d.ts.map +1 -0
  409. package/dist/scene/tree/light.js +102 -0
  410. package/dist/scene/tree/light.js.map +1 -0
  411. package/dist/scene/tree/material.d.ts +79 -0
  412. package/dist/scene/tree/material.d.ts.map +1 -0
  413. package/dist/scene/tree/material.js +117 -0
  414. package/dist/scene/tree/material.js.map +1 -0
  415. package/dist/scene/tree/math.d.ts +26 -0
  416. package/dist/scene/tree/math.d.ts.map +1 -0
  417. package/dist/scene/tree/math.js +217 -0
  418. package/dist/scene/tree/math.js.map +1 -0
  419. package/dist/scene/tree/mesh-node.d.ts +17 -0
  420. package/dist/scene/tree/mesh-node.d.ts.map +1 -0
  421. package/dist/scene/tree/mesh-node.js +24 -0
  422. package/dist/scene/tree/mesh-node.js.map +1 -0
  423. package/dist/scene/tree/node.d.ts +70 -0
  424. package/dist/scene/tree/node.d.ts.map +1 -0
  425. package/dist/scene/tree/node.js +220 -0
  426. package/dist/scene/tree/node.js.map +1 -0
  427. package/dist/scene/tree/orbit-controls.d.ts +69 -0
  428. package/dist/scene/tree/orbit-controls.d.ts.map +1 -0
  429. package/dist/scene/tree/orbit-controls.js +226 -0
  430. package/dist/scene/tree/orbit-controls.js.map +1 -0
  431. package/dist/scene.d.ts +21 -0
  432. package/dist/scene.d.ts.map +1 -0
  433. package/dist/scene.js +11 -0
  434. package/dist/scene.js.map +1 -0
  435. package/dist/set-core.d.ts +50 -0
  436. package/dist/set-core.d.ts.map +1 -0
  437. package/dist/set-core.js +268 -0
  438. package/dist/set-core.js.map +1 -0
  439. package/dist/set-layouts.d.ts +20 -0
  440. package/dist/set-layouts.d.ts.map +1 -0
  441. package/dist/set-layouts.js +103 -0
  442. package/dist/set-layouts.js.map +1 -0
  443. package/dist/set-packing.d.ts +4 -0
  444. package/dist/set-packing.d.ts.map +1 -0
  445. package/dist/set-packing.js +82 -0
  446. package/dist/set-packing.js.map +1 -0
  447. package/dist/set-resources.d.ts +20 -0
  448. package/dist/set-resources.d.ts.map +1 -0
  449. package/dist/set-resources.js +140 -0
  450. package/dist/set-resources.js.map +1 -0
  451. package/dist/shader-source.d.ts +4 -0
  452. package/dist/shader-source.d.ts.map +1 -0
  453. package/dist/shader-source.js +21 -0
  454. package/dist/shader-source.js.map +1 -0
  455. package/dist/storage.d.ts +38 -0
  456. package/dist/storage.d.ts.map +1 -0
  457. package/dist/storage.js +76 -0
  458. package/dist/storage.js.map +1 -0
  459. package/dist/surface.d.ts +89 -0
  460. package/dist/surface.d.ts.map +1 -0
  461. package/dist/surface.js +243 -0
  462. package/dist/surface.js.map +1 -0
  463. package/dist/target-offscreen.d.ts +41 -0
  464. package/dist/target-offscreen.d.ts.map +1 -0
  465. package/dist/target-offscreen.js +115 -0
  466. package/dist/target-offscreen.js.map +1 -0
  467. package/dist/target-utils.d.ts +37 -0
  468. package/dist/target-utils.d.ts.map +1 -0
  469. package/dist/target-utils.js +103 -0
  470. package/dist/target-utils.js.map +1 -0
  471. package/dist/target.d.ts +65 -0
  472. package/dist/target.d.ts.map +1 -0
  473. package/dist/target.js +2 -0
  474. package/dist/target.js.map +1 -0
  475. package/dist/timer.d.ts +78 -0
  476. package/dist/timer.d.ts.map +1 -0
  477. package/dist/timer.js +261 -0
  478. package/dist/timer.js.map +1 -0
  479. package/dist/uniforms-layout.d.ts +8 -0
  480. package/dist/uniforms-layout.d.ts.map +1 -0
  481. package/dist/uniforms-layout.js +84 -0
  482. package/dist/uniforms-layout.js.map +1 -0
  483. package/dist/uniforms.d.ts +43 -0
  484. package/dist/uniforms.d.ts.map +1 -0
  485. package/dist/uniforms.js +176 -0
  486. package/dist/uniforms.js.map +1 -0
  487. package/dist/visibility.d.ts +118 -0
  488. package/dist/visibility.d.ts.map +1 -0
  489. package/dist/visibility.js +290 -0
  490. package/dist/visibility.js.map +1 -0
  491. package/package.json +131 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACnI,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACjG,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/core.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "@aigpu/core";
2
+ export { createRenderBundle, RenderBundleRecorder } from "./core/render-bundle.js";
3
+ export { StorageBuffer } from "./core/storage-buffer.js";
4
+ export { StructuredUniform } from "./core/structured-uniform.js";
5
+ export { Uniform } from "./core/uniform.js";
6
+ export { UniformPool } from "./core/uniform-pool.js";
7
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/dom.d.ts ADDED
@@ -0,0 +1,37 @@
1
+ import { type InitOptions } from "./init.ts";
2
+ import { type AgentAnimation, type AgentAnimationOptions, type AgentAnimationPatch } from "./agent.ts";
3
+ import { type Surface, type SurfaceCanvas, type SurfaceOptions } from "./surface.ts";
4
+ import type { Gpu } from "./kernel.ts";
5
+ export interface AgentCanvasOptions extends AgentAnimationOptions {
6
+ /** Reuse an existing AIGpu context instead of creating and owning one. */
7
+ readonly gpu?: Gpu;
8
+ /** Browser initialization options used when `gpu` is omitted. */
9
+ readonly init?: InitOptions;
10
+ /** Canvas configuration, including DPR and automatic layout resize. */
11
+ readonly surface?: SurfaceOptions;
12
+ }
13
+ export interface MountedAgentCanvas {
14
+ readonly gpu: Gpu;
15
+ readonly surface: Surface;
16
+ readonly animation: AgentAnimation;
17
+ }
18
+ export interface AgentCanvasController {
19
+ /** Resolves after GPU context, surface, animation, and frame loop are ready. */
20
+ readonly ready: Promise<MountedAgentCanvas>;
21
+ /** The mounted resources, or undefined while asynchronous setup is pending. */
22
+ readonly mounted: MountedAgentCanvas | undefined;
23
+ /** Apply a state patch now or queue it until setup completes. */
24
+ set(patch: AgentAnimationPatch): this;
25
+ /** Resize a manually-sized surface. Layout-backed canvases resize automatically. */
26
+ resize(size: readonly [number, number]): this;
27
+ /** Stop rendering and release the surface; an internally-created GPU is also disposed. */
28
+ destroy(): void;
29
+ }
30
+ /**
31
+ * Mounts an AIGpu agent animation without React, Vue, Svelte, or a DOM helper library.
32
+ * Framework adapters in `@aigpu/integrations` are thin lifecycle wrappers around this function.
33
+ */
34
+ export declare function mountAgentCanvas(canvas: SurfaceCanvas, options?: AgentCanvasOptions): AgentCanvasController;
35
+ /** Mounts into a selector, useful for framework-free HTML and small demos. */
36
+ export declare function mountAgentCanvasSelector(selector: string, options?: AgentCanvasOptions): AgentCanvasController;
37
+ //# sourceMappingURL=dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGvH,OAAO,EAAW,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,iEAAiE;IACjE,GAAG,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtC,oFAAoF;IACpF,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9C,0FAA0F;IAC1F,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,kBAAuB,GAAG,qBAAqB,CAwD/G;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,qBAAqB,CAIlH"}
package/dist/dom.js ADDED
@@ -0,0 +1,81 @@
1
+ import { createGpu } from "./init.js";
2
+ import { agentAnimation } from "./agent.js";
3
+ import { clock } from "./clock.js";
4
+ import { frameLoop } from "./frame.js";
5
+ import { surface } from "./surface.js";
6
+ /**
7
+ * Mounts an AIGpu agent animation without React, Vue, Svelte, or a DOM helper library.
8
+ * Framework adapters in `@aigpu/integrations` are thin lifecycle wrappers around this function.
9
+ */
10
+ export function mountAgentCanvas(canvas, options = {}) {
11
+ let mounted;
12
+ let destroyed = false;
13
+ let frameHandle;
14
+ let pending = [];
15
+ const suppliedGpu = options.gpu;
16
+ const ready = (async () => {
17
+ const gpu = suppliedGpu ?? await createGpu("browser", options.init);
18
+ if (destroyed) {
19
+ if (!suppliedGpu)
20
+ gpu.dispose();
21
+ throw new Error("AIGpu canvas was destroyed before it finished mounting");
22
+ }
23
+ const canvasSurface = surface(gpu, canvas, options.surface);
24
+ const animation = agentAnimation(gpu, options);
25
+ for (const patch of pending)
26
+ animation.set(patch);
27
+ pending = [];
28
+ const time = clock(gpu);
29
+ const current = { gpu, surface: canvasSurface, animation };
30
+ mounted = current;
31
+ frameHandle = frameLoop(gpu, (frame) => {
32
+ if (destroyed)
33
+ return;
34
+ animation.tick(time.time);
35
+ frame.pass(canvasSurface, animation.effect);
36
+ });
37
+ if (destroyed)
38
+ frameHandle.stop();
39
+ return current;
40
+ })();
41
+ // A framework cleanup may run before an async adapter has a chance to await `ready`.
42
+ // Keep that cancellation from becoming an unhandled rejection while still exposing the
43
+ // original promise to callers that want to observe setup failures.
44
+ void ready.catch(() => undefined);
45
+ return {
46
+ ready,
47
+ get mounted() { return mounted; },
48
+ set(patch) {
49
+ if (destroyed)
50
+ return this;
51
+ if (mounted)
52
+ mounted.animation.set(patch);
53
+ else
54
+ pending.push(patch);
55
+ return this;
56
+ },
57
+ resize(size) {
58
+ if (!destroyed)
59
+ mounted?.surface.resize(size);
60
+ return this;
61
+ },
62
+ destroy() {
63
+ if (destroyed)
64
+ return;
65
+ destroyed = true;
66
+ pending = [];
67
+ frameHandle?.stop();
68
+ mounted?.surface.dispose();
69
+ if (!suppliedGpu)
70
+ mounted?.gpu.dispose();
71
+ },
72
+ };
73
+ }
74
+ /** Mounts into a selector, useful for framework-free HTML and small demos. */
75
+ export function mountAgentCanvasSelector(selector, options = {}) {
76
+ const canvas = document.querySelector(selector);
77
+ if (!(canvas instanceof HTMLCanvasElement))
78
+ throw new TypeError(`AIGpu expected a canvas for selector ${selector}`);
79
+ return mountAgentCanvas(canvas, options);
80
+ }
81
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Nominal protocols the draw path resolves at build/encode time, kept in a leaf module that imports
3
+ * nothing at runtime.
4
+ *
5
+ * The draw path must recognize values produced by optional features — a shared uniforms block bound
6
+ * to a reflected buffer binding, a geometry resolving its attributes against a vertex entry point —
7
+ * without importing those features. An `instanceof` check or a symbol declared next to the feature
8
+ * costs the whole module: a fullscreen effect that binds no uniforms and owns no vertex buffer used
9
+ * to link `uniforms.ts` + `uniforms-layout.ts` (through `set-resources.ts`) and the geometry
10
+ * descriptor (through `draw.ts`) anyway.
11
+ *
12
+ * Same shape as `frame-protocols.ts`: package-private symbols, no registration by side effect (the
13
+ * value carries its own implementation), and the feature modules import the symbol — not the other
14
+ * way around — so the dependency points at this leaf.
15
+ */
16
+ import type { BindingInfo, EntryPointInputInfo } from "@aigpu/wgsl/reflect-source";
17
+ import type { NormalizedBindingResource } from "./set-resources.ts";
18
+ /** @internal Implemented by values that bind themselves to a reflected buffer binding. */
19
+ export declare const BINDING_RESOURCE: unique symbol;
20
+ /**
21
+ * A value that knows how to bind itself, such as the shared uniforms block. It adopts or validates
22
+ * the reflected layout and returns the resource plus the identity the bind group cache keys on.
23
+ */
24
+ export interface BindingResourceProvider {
25
+ [BINDING_RESOURCE](binding: BindingInfo, sourceHint: string): NormalizedBindingResource;
26
+ }
27
+ /** Narrows a user-supplied binding value to the protocol, or `undefined` for anything else. */
28
+ export declare function bindingResourceOf(value: unknown): BindingResourceProvider | undefined;
29
+ /** @internal Resolves named geometry attributes against reflected shader inputs. */
30
+ export declare const geometryLayoutResolver: unique symbol;
31
+ /** @internal Implemented by v2 geometries and slices for draw-time layout resolution. */
32
+ export interface GeometryLayoutResolvable {
33
+ /** Resolves and validates concrete shader locations for a vertex entry point. */
34
+ [geometryLayoutResolver](inputs: readonly EntryPointInputInfo[], where: string): readonly GPUVertexBufferLayout[];
35
+ }
36
+ //# sourceMappingURL=draw-protocols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draw-protocols.d.ts","sourceRoot":"","sources":["../src/draw-protocols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEpE,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,eAAkC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,yBAAyB,CAAC;CACzF;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,GAAG,SAAS,CAGrF;AAED,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,eAA0C,CAAC;AAE9E,yFAAyF;AACzF,MAAM,WAAW,wBAAwB;IACvC,iFAAiF;IACjF,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,qBAAqB,EAAE,CAAC;CACnH"}
@@ -0,0 +1,10 @@
1
+ /** @internal Implemented by values that bind themselves to a reflected buffer binding. */
2
+ export const BINDING_RESOURCE = Symbol("aigpu.bindingResource");
3
+ /** Narrows a user-supplied binding value to the protocol, or `undefined` for anything else. */
4
+ export function bindingResourceOf(value) {
5
+ const method = typeof value === "object" && value !== null ? value[BINDING_RESOURCE] : undefined;
6
+ return typeof method === "function" ? value : undefined;
7
+ }
8
+ /** @internal Resolves named geometry attributes against reflected shader inputs. */
9
+ export const geometryLayoutResolver = Symbol("aigpu.geometry.layoutResolver");
10
+ //# sourceMappingURL=draw-protocols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draw-protocols.js","sourceRoot":"","sources":["../src/draw-protocols.ts"],"names":[],"mappings":"AAkBA,0FAA0F;AAC1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAUhE,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAA0C,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvI,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC"}
package/dist/draw.d.ts ADDED
@@ -0,0 +1,248 @@
1
+ import type { Device } from "@aigpu/core";
2
+ import type { ShaderSource } from "@aigpu/wgsl";
3
+ import { type Reflection } from "@aigpu/wgsl/reflect-source";
4
+ import { type BindGroupCache } from "./bind-cache.ts";
5
+ import { type ClaimedGroupValidationResult, type ValidationErrorSink } from "./claim-validation.ts";
6
+ import { type BindingIdentityChange, type BindingState, type SetBag } from "./set-core.ts";
7
+ import type { CompileTarget, Target, TargetSignature } from "./target.ts";
8
+ import { type PipelineLayoutCache, type PipelineStore, type ShaderModuleCache } from "./pipeline-store.ts";
9
+ import type { StorageBuffer } from "./api-types.ts";
10
+ import { FRAME_DRAWABLE, type FrameDrawableProtocol } from "./frame-protocols.ts";
11
+ import type { Gpu } from "./kernel.ts";
12
+ /**
13
+ * Renderable shader unit of this gpu: a WGSL shader plus its pipeline state, bindings and
14
+ * optional geometry. Encode it with `pass.draw(triangle)` or call `triangle.draw(target)`.
15
+ *
16
+ * Pipelines, bind groups, shader modules and layouts come from the gpu's single render service, so
17
+ * two draws with the same shader and target signature share one compiled pipeline — and an
18
+ * `effect()` shares that same cache set. Nothing here exists until the first render call: `init()`
19
+ * creates no cache.
20
+ */
21
+ export declare function draw(gpu: Gpu, opts: DrawOptions): Draw;
22
+ export type BlendPreset = "alpha" | "additive" | "premultiplied";
23
+ export interface BlendComponentOptions {
24
+ readonly src: GPUBlendFactor;
25
+ readonly dst: GPUBlendFactor;
26
+ /** Defaults to "add". */
27
+ readonly op?: GPUBlendOperation;
28
+ }
29
+ export interface BlendOptions {
30
+ readonly color: BlendComponentOptions;
31
+ /** Defaults to the color component. */
32
+ readonly alpha?: BlendComponentOptions;
33
+ }
34
+ export interface DepthOptions {
35
+ /** Whether fragments write depth. Defaults to true. */
36
+ readonly write?: boolean;
37
+ /** Depth comparison that passing fragments satisfy. Defaults to "less-equal". */
38
+ readonly compare?: GPUCompareFunction;
39
+ /** Constant depth bias. Must be an integer (WebGPU depthBias is i32). Defaults to 0. Triangle topologies only. */
40
+ readonly bias?: number;
41
+ /** Depth bias that scales with the fragment's slope. Defaults to 0. Triangle topologies only. */
42
+ readonly biasSlopeScale?: number;
43
+ /** Maximum depth bias of a fragment. Defaults to 0 (no clamp). Triangle topologies only. */
44
+ readonly biasClamp?: number;
45
+ }
46
+ export interface StencilFaceOptions {
47
+ /** Comparison against the masked stencil value that passing fragments satisfy. Defaults to "always". */
48
+ readonly compare?: GPUCompareFunction;
49
+ /** Operation when the stencil comparison fails. Defaults to "keep". */
50
+ readonly fail?: GPUStencilOperation;
51
+ /** Operation when the stencil comparison passes but the depth comparison fails. Defaults to "keep". */
52
+ readonly depthFail?: GPUStencilOperation;
53
+ /** Operation when both the stencil and depth comparisons pass. Defaults to "keep". */
54
+ readonly pass?: GPUStencilOperation;
55
+ }
56
+ export interface StencilOptions {
57
+ /** Stencil state for front-facing primitives. Defaults to WebGPU's { compare: "always", fail/depthFail/pass: "keep" }. */
58
+ readonly front?: StencilFaceOptions;
59
+ /** Stencil state for back-facing primitives. Defaults to mirroring the normalized front. */
60
+ readonly back?: StencilFaceOptions;
61
+ /** Bitmask applied to the stencil value before comparisons. Integer in [0, 0xFFFFFFFF]. Defaults to 0xFFFFFFFF. */
62
+ readonly readMask?: number;
63
+ /** Bitmask of stencil bits writable by stencil operations. Integer in [0, 0xFFFFFFFF]. Defaults to 0xFFFFFFFF. */
64
+ readonly writeMask?: number;
65
+ /** Stencil reference value used by "replace" and the compare. Emitted as encoder state (setStencilReference) before this draw; not part of the pipeline. Defaults to the pass default 0. */
66
+ readonly ref?: number;
67
+ }
68
+ export interface DrawOptions {
69
+ readonly shader: string | ShaderSource;
70
+ readonly geometry?: GeometryLike;
71
+ readonly set?: SetBag;
72
+ readonly label?: string;
73
+ readonly targets?: readonly Target[];
74
+ /** Default instance count for every draw call. Overridden by per-call opts. Use 0 for a valid no-instance draw. */
75
+ readonly instances?: number;
76
+ /** Vertex count when rendering without a geometry. Geometry.vertexCount wins over this default; indexed geometries ignore it and use GeometryLike.indexCount. */
77
+ readonly vertices?: number;
78
+ /** Default firstInstance for every draw call. Overridden by per-call opts. */
79
+ readonly firstInstance?: number;
80
+ /** Blend state applied to every color target of this draw's pipelines. Preset or explicit components. Immutable after construction. */
81
+ readonly blend?: BlendPreset | BlendOptions;
82
+ /** Blend constant used by "constant"/"one-minus-constant" blend factors. Emitted as encoder state before this draw; not part of the pipeline. Immutable after construction. */
83
+ readonly blendConstant?: readonly [number, number, number, number];
84
+ /** Channels written to color targets. Omit to write all (rgba). Empty array writes nothing. */
85
+ readonly writeMask?: readonly ("r" | "g" | "b" | "a")[];
86
+ /** Per-color-target blend/writeMask overrides, aligned by index with the target's color attachments. null or missing entries inherit the top-level blend/writeMask. Immutable after construction. */
87
+ readonly colors?: readonly ({
88
+ readonly blend?: BlendPreset | BlendOptions;
89
+ readonly writeMask?: readonly ("r" | "g" | "b" | "a")[];
90
+ } | null)[];
91
+ /** Face culling applied to this draw's pipelines. Defaults to "none". Immutable after construction. */
92
+ readonly cull?: "none" | "front" | "back";
93
+ /** Winding that counts as front-facing. Defaults to "ccw". Immutable after construction. */
94
+ readonly frontFace?: "ccw" | "cw";
95
+ /** Disables depth clipping so geometry outside [near, far] is not clipped. Requires the "depth-clip-control" device feature. Defaults to false. Immutable after construction. */
96
+ readonly unclippedDepth?: boolean;
97
+ /** Depth state for targets with a depth attachment. Pass false to disable depth testing entirely. Defaults to { write: true, compare: "less-equal" }. Immutable after construction. Ignored when the target has no depth. */
98
+ readonly depth?: false | DepthOptions;
99
+ /** Stencil state for targets whose depth format has a stencil aspect. Immutable after construction. */
100
+ readonly stencil?: StencilOptions;
101
+ /** Multisample state for MSAA targets. Immutable after construction. */
102
+ readonly multisample?: {
103
+ /** Converts fragment alpha into a coverage mask. Requires an MSAA target. Defaults to false. */
104
+ readonly alphaToCoverage?: boolean;
105
+ /** Sample bitmask; only the low sampleCount bits matter. Defaults to 0xFFFFFFFF. */
106
+ readonly mask?: number;
107
+ };
108
+ /** Values for WGSL `override` constants, keyed by name (or by numeric id as a string when the override has @id). Immutable after construction. */
109
+ readonly constants?: Readonly<Record<string, number | boolean>>;
110
+ /** Entry points to use when the shader has several. Omitted fields use the first entry point of that stage. Immutable after construction. */
111
+ readonly entry?: {
112
+ readonly vertex?: string;
113
+ readonly fragment?: string;
114
+ };
115
+ }
116
+ export interface DrawCallOptions {
117
+ readonly target?: Target;
118
+ readonly offsets?: readonly number[] | Partial<Record<number, readonly number[]>>;
119
+ /** Instance count precedence: per-call > DrawOptions.instances > geometry.instanceCount > 1. Use 0 for a valid no-instance draw. */
120
+ readonly instances?: number;
121
+ /** Vertex count precedence for non-indexed draws: per-call > geometry.vertexCount > DrawOptions.vertices > 3. Indexed geometries ignore it and use GeometryLike.indexCount. */
122
+ readonly vertices?: number;
123
+ /** Indexed draw count precedence: per-call > geometry.indexCount. */
124
+ readonly indices?: number;
125
+ /** Starting vertex for non-indexed draws. Defaults to geometry.firstVertex or 0. */
126
+ readonly firstVertex?: number;
127
+ /** Indexed first index precedence: per-call > geometry.firstIndex > 0. */
128
+ readonly firstIndex?: number;
129
+ /** Indexed base vertex precedence: per-call > geometry.baseVertex > 0. */
130
+ readonly baseVertex?: number;
131
+ /** First instance precedence: per-call > DrawOptions.firstInstance > 0. */
132
+ readonly firstInstance?: number;
133
+ /** GPU-driven draw: read draw arguments from a buffer instead of CPU-side counts. */
134
+ readonly indirect?: StorageBuffer | {
135
+ readonly buffer: StorageBuffer;
136
+ readonly offset?: number;
137
+ };
138
+ }
139
+ export interface DrawLayoutOptions {
140
+ readonly dynamicOffsets?: boolean;
141
+ }
142
+ export interface GeometryLike {
143
+ readonly vertexCount?: number;
144
+ readonly indexCount?: number;
145
+ readonly instanceCount?: number;
146
+ readonly vertexBuffers?: readonly GPUBuffer[];
147
+ readonly indexBuffer?: GPUBuffer;
148
+ readonly indexFormat?: GPUIndexFormat;
149
+ readonly vertexBufferLayouts?: readonly GPUVertexBufferLayout[];
150
+ readonly topology?: GPUPrimitiveTopology;
151
+ readonly stripIndexFormat?: GPUIndexFormat;
152
+ readonly firstIndex?: number;
153
+ readonly baseVertex?: number;
154
+ readonly firstVertex?: number;
155
+ }
156
+ export type BundleStaleEvent = ({
157
+ readonly kind: "binding-identity";
158
+ readonly drawLabel: string;
159
+ } & BindingIdentityChange) | {
160
+ readonly kind: "group-claim";
161
+ readonly drawLabel: string;
162
+ readonly group: number;
163
+ readonly previousIdentity?: string;
164
+ readonly newIdentity: string;
165
+ };
166
+ export interface BundleBackReference {
167
+ readonly id: string;
168
+ markStale(event: BundleStaleEvent): void;
169
+ }
170
+ /** Bundle back-reference hook frozen for Lane D; only bind-group identity changes emit structured stale events. */
171
+ export interface BundleBackReferenceRegistry {
172
+ add(bundle: BundleBackReference): void;
173
+ delete(bundle: BundleBackReference): void;
174
+ list(): readonly BundleBackReference[];
175
+ markStale(event: BundleStaleEvent): void;
176
+ }
177
+ export interface Draw {
178
+ readonly gpu: GPURenderPipeline | undefined;
179
+ readonly targets: readonly Target[] | undefined;
180
+ set(values: SetBag): this;
181
+ group(n: number, bindGroup: GPUBindGroup): this;
182
+ layout(n: number, opts?: DrawLayoutOptions): GPUBindGroupLayout;
183
+ draw(target?: Target | DrawCallOptions): void;
184
+ /** @throws AIGPU-SURFACE-NOT-IN-FRAME when passed a Surface outside frame(gpu). */
185
+ compile(target?: CompileTarget): Promise<this>;
186
+ /** @throws AIGPU-SURFACE-NOT-IN-FRAME when passed a Surface outside frame(gpu). */
187
+ compileSync(target?: CompileTarget): this;
188
+ }
189
+ /** Renderable shader unit with explicit bind layouts, set() ownership, pipeline cache, and R4 group hooks. */
190
+ export declare class InternalDraw implements Draw {
191
+ #private;
192
+ readonly source: string;
193
+ readonly label: string;
194
+ constructor(device: Device, source: string, opts: DrawOptions, cache?: BindGroupCache, defaultTarget?: Target, pipelineStore?: PipelineStore, shaderModules?: ShaderModuleCache, pipelineLayouts?: PipelineLayoutCache, errorSink?: ValidationErrorSink, trackSettled?: (promise: Promise<unknown>) => void);
195
+ get gpu(): GPURenderPipeline | undefined;
196
+ get targets(): readonly Target[] | undefined;
197
+ /**
198
+ * Frame drawable protocol: a `Frame` encodes through this instead of importing draw.ts, so a
199
+ * program that never draws never pulls this module. The instance is its own protocol object —
200
+ * `encode`, `label` and the depth/stencil metadata below are exactly what a pass needs.
201
+ */
202
+ get [FRAME_DRAWABLE](): FrameDrawableProtocol;
203
+ /** @internal Frame drawable protocol; see {@link drawWritesDepth}. */
204
+ writesDepth(): boolean;
205
+ /** @internal Frame drawable protocol; see {@link drawStencilWritingOps}. */
206
+ stencilWritingOps(): readonly string[];
207
+ set(values: SetBag): this;
208
+ group(n: number, bindGroup: GPUBindGroup): this;
209
+ layout(n: number, opts?: DrawLayoutOptions): GPUBindGroupLayout;
210
+ /**
211
+ * Encodes and submits this draw as a one-shot render pass.
212
+ *
213
+ * Raw claimed-bind-group validation failures are delivered asynchronously via
214
+ * `gpu.onError` as `AIGPU-R4-GROUP-VALIDATION`.
215
+ */
216
+ draw(arg?: Target | DrawCallOptions): void;
217
+ encode(pass: GPURenderPassEncoder, target: Target | TargetSignature, opts?: DrawCallOptions, claimValidation?: (result: ClaimedGroupValidationResult) => void): void;
218
+ compile(target?: CompileTarget): Promise<this>;
219
+ compileSync(target?: CompileTarget): this;
220
+ pipelineFor(target: Target | TargetSignature, allowSurface?: boolean): GPURenderPipeline | undefined;
221
+ pipelineForAsync(target: Target | TargetSignature): Promise<GPURenderPipeline>;
222
+ }
223
+ export declare function drawReflection(draw: Draw): Reflection;
224
+ export declare function drawBindingState(draw: Draw, name: string): BindingState | undefined;
225
+ export declare function registerDrawBundle(draw: Draw, bundle: BundleBackReference): void;
226
+ /** Render bundle encoders cannot set the pass blend constant; bundle uses this to reject such draws at recording. */
227
+ export declare function drawUsesBlendConstant(draw: Draw): boolean;
228
+ /** Render bundle encoders cannot set the pass stencil reference; bundle uses this to reject such draws at recording. */
229
+ export declare function drawUsesStencilReference(draw: Draw): boolean;
230
+ /**
231
+ * FramePass uses this to pre-validate draws against read-only depth passes. Mirrors the WebGPU
232
+ * [[writesDepth]] pipeline slot: "If depthStencil.depthWriteEnabled is provided: Set
233
+ * pipeline.[[writesDepth]] to depthStencil.depthWriteEnabled." — aigpu always provides it on depth
234
+ * targets, defaulting to true.
235
+ */
236
+ export declare function drawWritesDepth(draw: Draw): boolean;
237
+ /**
238
+ * Stencil ops that make this draw write stencil, e.g. `front.pass: "replace"`; empty when the draw
239
+ * cannot write stencil. FramePass uses this to pre-validate draws against read-only stencil passes.
240
+ * Mirrors the WebGPU [[writesStencil]] computation: only when "depthStencil.stencilWriteMask is not 0",
241
+ * a face op is "not \"keep\"", and the face is not culled ("If cullMode is not \"front\", and any of
242
+ * stencilFront.passOp, stencilFront.depthFailOp, or stencilFront.failOp is not \"keep\"" — and the
243
+ * mirrored rule for stencilBack with "back") does the pipeline write stencil.
244
+ */
245
+ export declare function drawStencilWritingOps(draw: Draw): readonly string[];
246
+ export declare function encodeDraw(draw: InternalDraw, pass: GPURenderPassEncoder, target: Target | TargetSignature, opts?: DrawCallOptions, claimValidation?: (result: ClaimedGroupValidationResult) => void): void;
247
+ export declare function createBundleRegistry(): BundleBackReferenceRegistry;
248
+ //# sourceMappingURL=draw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../src/draw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAwD,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnH,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAiT,KAAK,4BAA4B,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEnZ,OAAO,EAAiB,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAgB,MAAM,eAAe,CAAC;AAExH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAoM,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7S,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAIlF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAgBtD;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,eAAe,CAAC;AAEjE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,uCAAuC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,kHAAkH;IAClH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,wGAAwG;IACxG,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IACpC,uGAAuG;IACvG,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,sFAAsF;IACtF,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,0HAA0H;IAC1H,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IACnC,mHAAmH;IACnH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kHAAkH;IAClH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,4LAA4L;IAC5L,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,mHAAmH;IACnH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,iKAAiK;IACjK,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,uIAAuI;IACvI,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IAC5C,+KAA+K;IAC/K,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;IACxD,qMAAqM;IACrM,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;QAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;QAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;KACzD,GAAG,IAAI,CAAC,EAAE,CAAC;IACZ,uGAAuG;IACvG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1C,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAClC,iLAAiL;IACjL,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,6NAA6N;IAC7N,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;IACtC,uGAAuG;IACvG,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,gGAAgG;QAChG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QACnC,oFAAoF;QACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,kJAAkJ;IAClJ,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAChE,6IAA6I;IAC7I,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3E;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAClF,oIAAoI;IACpI,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,+KAA+K;IAC/K,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClG;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAID,MAAM,MAAM,gBAAgB,GACxB,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,qBAAqB,CAAC,GAC3F;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3J,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC1C;AAED,mHAAmH;AACnH,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,IAAI,IAAI,SAAS,mBAAmB,EAAE,CAAC;IACvC,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC1C;AA+CD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAChD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAChD,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC;IAC9C,mFAAmF;IACnF,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,mFAAmF;IACnF,WAAW,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAC3C;AAED,8GAA8G;AAC9G,qBAAa,YAAa,YAAW,IAAI;;IAMrC,QAAQ,CAAC,MAAM,EAAE,MAAM;IALzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAIrB,MAAM,EAAE,MAAM,EACL,MAAM,EAAE,MAAM,EACvB,IAAI,EAAE,WAAW,EACjB,KAAK,GAAE,cAAuC,EAC9C,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa,GAAE,aAA2C,EAC1D,aAAa,GAAE,iBAAmD,EAClE,eAAe,GAAE,mBAAuD,EACxE,SAAS,CAAC,EAAE,mBAAmB,EAC/B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;IA2CpD,IAAI,GAAG,IAAI,iBAAiB,GAAG,SAAS,CAOvC;IACD,IAAI,OAAO,IAAI,SAAS,MAAM,EAAE,GAAG,SAAS,CAAyC;IAErF;;;;OAIG;IACH,IAAI,CAAC,cAAc,CAAC,IAAI,qBAAqB,CAAiB;IAC9D,sEAAsE;IACtE,WAAW,IAAI,OAAO;IACtB,4EAA4E;IAC5E,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAEtC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOzB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IAS/C,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,kBAAkB;IAmBnE;;;;;OAKG;IACH,IAAI,CAAC,GAAG,GAAE,MAAM,GAAG,eAAoB,GAAG,IAAI;IA6D9C,MAAM,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,IAAI,GAAE,eAAoB,EAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,GAAG,IAAI;IA6BxK,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,WAAW,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI;IAQzC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,YAAY,UAAQ,GAAG,iBAAiB,GAAG,SAAS;IAQlG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAuG/E;AAocD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAuC;AAE7F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAuD;AAE3I,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAA4C;AAE7H,qHAAqH;AACrH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAwD;AAElH,wHAAwH;AACxH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAqD;AAElH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,MAAM,EAAE,CAenE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,IAAI,GAAE,eAAoB,EAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,GAAG,IAAI,CAE/M;AAoBD,wBAAgB,oBAAoB,IAAI,2BAA2B,CAQlE"}