@field/cascade 0.2.22

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 (319) hide show
  1. package/AGENTS.md +168 -0
  2. package/ARCHITECTURE.md +137 -0
  3. package/DESIGN.md +161 -0
  4. package/LICENSE +21 -0
  5. package/README.md +229 -0
  6. package/dist/assets/CodeEditor-DR7u0q7p.css +1 -0
  7. package/dist/assets/CodeEditor-DoaNEUaM.js +641 -0
  8. package/dist/assets/CodePanel-B0_2XJ-t.js +2 -0
  9. package/dist/assets/CodePanel-IT1secyI.css +1 -0
  10. package/dist/assets/CustomNodeDialog-026lzecD.js +1 -0
  11. package/dist/assets/CustomNodeDialog-JGYnWY6m.css +1 -0
  12. package/dist/assets/ExportDialog-DOq0flMV.css +1 -0
  13. package/dist/assets/ExportDialog-DWN4nhXI.js +358 -0
  14. package/dist/assets/ProjectSettings-BzT164Yx.js +2 -0
  15. package/dist/assets/ProjectSettings-DdO9xoQz.css +1 -0
  16. package/dist/assets/SettingsDialog-CeK7ytpY.css +1 -0
  17. package/dist/assets/SettingsDialog-DmHb1V0r.js +1 -0
  18. package/dist/assets/VersionHistoryDialog-CWNmHQ-P.css +1 -0
  19. package/dist/assets/VersionHistoryDialog-hH6VsXLX.js +3 -0
  20. package/dist/assets/abap-08VXUWAP.js +1 -0
  21. package/dist/assets/apex-BWPQTe0t.js +1 -0
  22. package/dist/assets/azcli-Bc_sGQ0U.js +1 -0
  23. package/dist/assets/bat-i0X4ZdIN.js +1 -0
  24. package/dist/assets/bicep-B5-_aFwp.js +2 -0
  25. package/dist/assets/cameligo-DMUM7wLl.js +1 -0
  26. package/dist/assets/cascade.jpg +0 -0
  27. package/dist/assets/clojure-Cm7r79vr.js +1 -0
  28. package/dist/assets/codicon-Brq4_Ui5.ttf +0 -0
  29. package/dist/assets/coffee-Ba7i2nA0.js +1 -0
  30. package/dist/assets/core-Bji4aZUU.js +965 -0
  31. package/dist/assets/cpp-C7h46wYY.js +1 -0
  32. package/dist/assets/csharp-BKxtCVv1.js +1 -0
  33. package/dist/assets/csp-bTuwJoIa.js +1 -0
  34. package/dist/assets/css-DIMkf-bt.js +3 -0
  35. package/dist/assets/css.worker-B3ciXF_0.js +93 -0
  36. package/dist/assets/cssMode-B6Z_Q1Kh.js +1 -0
  37. package/dist/assets/cypher-CVaqCwHa.js +1 -0
  38. package/dist/assets/dart-onAF5SnQ.js +1 -0
  39. package/dist/assets/dockerfile-DZFCIeNp.js +1 -0
  40. package/dist/assets/ecl-D05T4iGw.js +1 -0
  41. package/dist/assets/editor-1FQrmyyI.css +1 -0
  42. package/dist/assets/editor.api-jMoW_43X.js +847 -0
  43. package/dist/assets/editor.worker-q-txB4vs.js +30 -0
  44. package/dist/assets/elixir-6RTg0lbw.js +1 -0
  45. package/dist/assets/flow9-C5_-GSwl.js +1 -0
  46. package/dist/assets/freemarker2-DvvPV6m5.js +3 -0
  47. package/dist/assets/fsharp-C8Ef5oNN.js +1 -0
  48. package/dist/assets/geo-CXmCtzMM.js +2 -0
  49. package/dist/assets/go-C-y9NEjX.js +1 -0
  50. package/dist/assets/graphql-fmXr3nnJ.js +1 -0
  51. package/dist/assets/handlebars-B8rfuSIa.js +1 -0
  52. package/dist/assets/hcl-CpzslTdj.js +1 -0
  53. package/dist/assets/html-DyHm6JCp.js +1 -0
  54. package/dist/assets/html.worker-C93Ht9o9.js +506 -0
  55. package/dist/assets/htmlMode-E9XLWE5u.js +1 -0
  56. package/dist/assets/image-BUcQC7PG.js +2076 -0
  57. package/dist/assets/index-BXYXSdgh.js +224 -0
  58. package/dist/assets/index-CrNke7SW.css +1 -0
  59. package/dist/assets/index-client-DN_FvjN8.js +1 -0
  60. package/dist/assets/ini-sBoK_t0W.js +1 -0
  61. package/dist/assets/java-BEtHBSE6.js +1 -0
  62. package/dist/assets/javascript-C_bM5PCN.js +1 -0
  63. package/dist/assets/json.worker-B2V3pomh.js +62 -0
  64. package/dist/assets/jsonMode-BdyVS7G4.js +7 -0
  65. package/dist/assets/julia-Bri6UV-V.js +1 -0
  66. package/dist/assets/kotlin-BOotOW0E.js +1 -0
  67. package/dist/assets/legacy-DIu3XRwl.js +2 -0
  68. package/dist/assets/less-B9JPFI3C.js +2 -0
  69. package/dist/assets/lexon-CfSJPG6W.js +1 -0
  70. package/dist/assets/liquid-CDkn3spA.js +1 -0
  71. package/dist/assets/lspLanguageFeatures-AB5DMAsr.js +4 -0
  72. package/dist/assets/lua-CsQS60Ue.js +1 -0
  73. package/dist/assets/m3-D-oSqn_W.js +1 -0
  74. package/dist/assets/markdown-Cimd5fb3.js +1 -0
  75. package/dist/assets/mdx-BvH_NjDN.js +1 -0
  76. package/dist/assets/mips-CIPQ_RoX.js +1 -0
  77. package/dist/assets/msdax-DauUninz.js +1 -0
  78. package/dist/assets/mysql-SOo6toE5.js +1 -0
  79. package/dist/assets/nodeTypeUtils-CweA3NHd.js +1 -0
  80. package/dist/assets/objective-c-FvmIjYaQ.js +1 -0
  81. package/dist/assets/pascal-DrH0SRf2.js +1 -0
  82. package/dist/assets/pascaligo-D-ptJ9y-.js +1 -0
  83. package/dist/assets/perl-oz_6vUea.js +1 -0
  84. package/dist/assets/pgsql-DTj74zXo.js +1 -0
  85. package/dist/assets/php-nr791fC2.js +1 -0
  86. package/dist/assets/pla-CopQ2nXW.js +1 -0
  87. package/dist/assets/postiats-43DmfD33.js +1 -0
  88. package/dist/assets/powerquery-D3hlyOfw.js +1 -0
  89. package/dist/assets/powershell-DmHpPYUd.js +1 -0
  90. package/dist/assets/projectSettingsApi-C1WvIwfP.js +1 -0
  91. package/dist/assets/protobuf-C531GsRP.js +2 -0
  92. package/dist/assets/pug-Z5eAx3Zn.js +1 -0
  93. package/dist/assets/python-B7uii4fi.js +1 -0
  94. package/dist/assets/qsharp-DkqhCAOL.js +1 -0
  95. package/dist/assets/quill-DjZ69wL_.js +121 -0
  96. package/dist/assets/r-BwWrilGY.js +1 -0
  97. package/dist/assets/razor-Z48fWdJc.js +1 -0
  98. package/dist/assets/redis-ClamHrr6.js +1 -0
  99. package/dist/assets/redshift-DT7zqm-g.js +1 -0
  100. package/dist/assets/restructuredtext-BYgofb2h.js +1 -0
  101. package/dist/assets/ruby-DezsRK8O.js +1 -0
  102. package/dist/assets/rust-DdL9SqIa.js +1 -0
  103. package/dist/assets/sb-CcwsVR0C.js +1 -0
  104. package/dist/assets/scala-DHpiXF5c.js +1 -0
  105. package/dist/assets/scheme-BeGwcela.js +1 -0
  106. package/dist/assets/scss-gp-XZpBa.js +3 -0
  107. package/dist/assets/shell-CC2rA5mh.js +1 -0
  108. package/dist/assets/solidity-BEEn4gHE.js +1 -0
  109. package/dist/assets/sophia-CRfGWb83.js +1 -0
  110. package/dist/assets/sparql-D_Lu-MrJ.js +1 -0
  111. package/dist/assets/sql-NEE52Syq.js +1 -0
  112. package/dist/assets/st-DbInun42.js +1 -0
  113. package/dist/assets/swift-Bxkupp3x.js +1 -0
  114. package/dist/assets/systemverilog-Bz4Y3fRF.js +1 -0
  115. package/dist/assets/tcl-DISqw1ZD.js +1 -0
  116. package/dist/assets/ts.worker-D7T1-Ig5.js +67738 -0
  117. package/dist/assets/tsMode-BDgacVG4.js +11 -0
  118. package/dist/assets/twig-De2hgUGE.js +1 -0
  119. package/dist/assets/typescript-Derb6Oqa.js +1 -0
  120. package/dist/assets/typespec-B8J7ngcE.js +1 -0
  121. package/dist/assets/vb-DV3o63ZY.js +1 -0
  122. package/dist/assets/wgsl-DpFanUEy.js +298 -0
  123. package/dist/assets/workers-BtoMX_pm.js +1 -0
  124. package/dist/assets/xml-B1CaFSrG.js +1 -0
  125. package/dist/assets/yaml-HmIeA0KH.js +1 -0
  126. package/dist/cli/index.js +11377 -0
  127. package/dist/cli/index.js.map +7 -0
  128. package/dist/cli/runtime/io.ts +445 -0
  129. package/dist/cli/runtime/net.ts +19 -0
  130. package/dist/cli/runtime/shell.ts +46 -0
  131. package/dist/cli/runtime/stage.ts +132 -0
  132. package/dist/contracts/capabilities.d.ts +109 -0
  133. package/dist/contracts/capabilities.d.ts.map +1 -0
  134. package/dist/contracts/capabilities.js +11 -0
  135. package/dist/contracts/capabilities.js.map +1 -0
  136. package/dist/contracts/color.d.ts +67 -0
  137. package/dist/contracts/color.d.ts.map +1 -0
  138. package/dist/contracts/color.js +83 -0
  139. package/dist/contracts/color.js.map +1 -0
  140. package/dist/contracts/definition.d.ts +118 -0
  141. package/dist/contracts/definition.d.ts.map +1 -0
  142. package/dist/contracts/definition.js +2 -0
  143. package/dist/contracts/definition.js.map +1 -0
  144. package/dist/contracts/document.d.ts +50 -0
  145. package/dist/contracts/document.d.ts.map +1 -0
  146. package/dist/contracts/document.js +2 -0
  147. package/dist/contracts/document.js.map +1 -0
  148. package/dist/contracts/geometry.d.ts +301 -0
  149. package/dist/contracts/geometry.d.ts.map +1 -0
  150. package/dist/contracts/geometry.js +604 -0
  151. package/dist/contracts/geometry.js.map +1 -0
  152. package/dist/contracts/index.d.ts +8 -0
  153. package/dist/contracts/index.d.ts.map +1 -0
  154. package/dist/contracts/index.js +8 -0
  155. package/dist/contracts/index.js.map +1 -0
  156. package/dist/contracts/schema.d.ts +6 -0
  157. package/dist/contracts/schema.d.ts.map +1 -0
  158. package/dist/contracts/schema.js +85 -0
  159. package/dist/contracts/schema.js.map +1 -0
  160. package/dist/contracts/validate.d.ts +13 -0
  161. package/dist/contracts/validate.d.ts.map +1 -0
  162. package/dist/contracts/validate.js +202 -0
  163. package/dist/contracts/validate.js.map +1 -0
  164. package/dist/contracts/values.d.ts +100 -0
  165. package/dist/contracts/values.d.ts.map +1 -0
  166. package/dist/contracts/values.js +59 -0
  167. package/dist/contracts/values.js.map +1 -0
  168. package/dist/graphs/default-orig.cascade +128 -0
  169. package/dist/graphs/default.cascade +21 -0
  170. package/dist/index.html +19 -0
  171. package/dist/runtime/browser.d.ts +3 -0
  172. package/dist/runtime/browser.d.ts.map +1 -0
  173. package/dist/runtime/browser.js +12 -0
  174. package/dist/runtime/browser.js.map +1 -0
  175. package/dist/runtime/builtins/core/index.d.ts +9 -0
  176. package/dist/runtime/builtins/core/index.d.ts.map +1 -0
  177. package/dist/runtime/builtins/core/index.js +21 -0
  178. package/dist/runtime/builtins/core/index.js.map +1 -0
  179. package/dist/runtime/builtins/core/random.d.ts +66 -0
  180. package/dist/runtime/builtins/core/random.d.ts.map +1 -0
  181. package/dist/runtime/builtins/core/random.js +46 -0
  182. package/dist/runtime/builtins/core/random.js.map +1 -0
  183. package/dist/runtime/builtins/core/remap.d.ts +105 -0
  184. package/dist/runtime/builtins/core/remap.d.ts.map +1 -0
  185. package/dist/runtime/builtins/core/remap.js +43 -0
  186. package/dist/runtime/builtins/core/remap.js.map +1 -0
  187. package/dist/runtime/builtins/core/routing.d.ts +117 -0
  188. package/dist/runtime/builtins/core/routing.d.ts.map +1 -0
  189. package/dist/runtime/builtins/core/routing.js +114 -0
  190. package/dist/runtime/builtins/core/routing.js.map +1 -0
  191. package/dist/runtime/builtins/core/structural.d.ts +86 -0
  192. package/dist/runtime/builtins/core/structural.d.ts.map +1 -0
  193. package/dist/runtime/builtins/core/structural.js +63 -0
  194. package/dist/runtime/builtins/core/structural.js.map +1 -0
  195. package/dist/runtime/builtins/geo/copyToPoints.d.ts +58 -0
  196. package/dist/runtime/builtins/geo/copyToPoints.d.ts.map +1 -0
  197. package/dist/runtime/builtins/geo/copyToPoints.js +35 -0
  198. package/dist/runtime/builtins/geo/copyToPoints.js.map +1 -0
  199. package/dist/runtime/builtins/geo/definitions.d.ts +526 -0
  200. package/dist/runtime/builtins/geo/definitions.d.ts.map +1 -0
  201. package/dist/runtime/builtins/geo/definitions.js +182 -0
  202. package/dist/runtime/builtins/geo/definitions.js.map +1 -0
  203. package/dist/runtime/builtins/geo/generators.d.ts +94 -0
  204. package/dist/runtime/builtins/geo/generators.d.ts.map +1 -0
  205. package/dist/runtime/builtins/geo/generators.js +41 -0
  206. package/dist/runtime/builtins/geo/generators.js.map +1 -0
  207. package/dist/runtime/builtins/geo/index.d.ts +23 -0
  208. package/dist/runtime/builtins/geo/index.d.ts.map +1 -0
  209. package/dist/runtime/builtins/geo/index.js +35 -0
  210. package/dist/runtime/builtins/geo/index.js.map +1 -0
  211. package/dist/runtime/builtins/geo/merge.d.ts +40 -0
  212. package/dist/runtime/builtins/geo/merge.d.ts.map +1 -0
  213. package/dist/runtime/builtins/geo/merge.js +24 -0
  214. package/dist/runtime/builtins/geo/merge.js.map +1 -0
  215. package/dist/runtime/builtins/geo/namespace.d.ts +15 -0
  216. package/dist/runtime/builtins/geo/namespace.d.ts.map +1 -0
  217. package/dist/runtime/builtins/geo/namespace.js +17 -0
  218. package/dist/runtime/builtins/geo/namespace.js.map +1 -0
  219. package/dist/runtime/builtins/geo/svgExport.d.ts +130 -0
  220. package/dist/runtime/builtins/geo/svgExport.d.ts.map +1 -0
  221. package/dist/runtime/builtins/geo/svgExport.js +50 -0
  222. package/dist/runtime/builtins/geo/svgExport.js.map +1 -0
  223. package/dist/runtime/builtins/geo/transform.d.ts +60 -0
  224. package/dist/runtime/builtins/geo/transform.d.ts.map +1 -0
  225. package/dist/runtime/builtins/geo/transform.js +32 -0
  226. package/dist/runtime/builtins/geo/transform.js.map +1 -0
  227. package/dist/runtime/builtins/index.d.ts +9 -0
  228. package/dist/runtime/builtins/index.d.ts.map +1 -0
  229. package/dist/runtime/builtins/index.js +16 -0
  230. package/dist/runtime/builtins/index.js.map +1 -0
  231. package/dist/runtime/definition/architecture.d.ts +8 -0
  232. package/dist/runtime/definition/architecture.d.ts.map +1 -0
  233. package/dist/runtime/definition/architecture.js +112 -0
  234. package/dist/runtime/definition/architecture.js.map +1 -0
  235. package/dist/runtime/definition/extract.d.ts +12 -0
  236. package/dist/runtime/definition/extract.d.ts.map +1 -0
  237. package/dist/runtime/definition/extract.js +151 -0
  238. package/dist/runtime/definition/extract.js.map +1 -0
  239. package/dist/runtime/error.d.ts +8 -0
  240. package/dist/runtime/error.d.ts.map +1 -0
  241. package/dist/runtime/error.js +11 -0
  242. package/dist/runtime/error.js.map +1 -0
  243. package/dist/runtime/geometry/attributes.d.ts +65 -0
  244. package/dist/runtime/geometry/attributes.d.ts.map +1 -0
  245. package/dist/runtime/geometry/attributes.js +201 -0
  246. package/dist/runtime/geometry/attributes.js.map +1 -0
  247. package/dist/runtime/geometry/builder.d.ts +57 -0
  248. package/dist/runtime/geometry/builder.d.ts.map +1 -0
  249. package/dist/runtime/geometry/builder.js +153 -0
  250. package/dist/runtime/geometry/builder.js.map +1 -0
  251. package/dist/runtime/geometry/copy.d.ts +36 -0
  252. package/dist/runtime/geometry/copy.d.ts.map +1 -0
  253. package/dist/runtime/geometry/copy.js +68 -0
  254. package/dist/runtime/geometry/copy.js.map +1 -0
  255. package/dist/runtime/geometry/generate.d.ts +43 -0
  256. package/dist/runtime/geometry/generate.d.ts.map +1 -0
  257. package/dist/runtime/geometry/generate.js +76 -0
  258. package/dist/runtime/geometry/generate.js.map +1 -0
  259. package/dist/runtime/geometry/groups.d.ts +18 -0
  260. package/dist/runtime/geometry/groups.d.ts.map +1 -0
  261. package/dist/runtime/geometry/groups.js +69 -0
  262. package/dist/runtime/geometry/groups.js.map +1 -0
  263. package/dist/runtime/geometry/index.d.ts +23 -0
  264. package/dist/runtime/geometry/index.d.ts.map +1 -0
  265. package/dist/runtime/geometry/index.js +23 -0
  266. package/dist/runtime/geometry/index.js.map +1 -0
  267. package/dist/runtime/geometry/matrix.d.ts +26 -0
  268. package/dist/runtime/geometry/matrix.d.ts.map +1 -0
  269. package/dist/runtime/geometry/matrix.js +27 -0
  270. package/dist/runtime/geometry/matrix.js.map +1 -0
  271. package/dist/runtime/geometry/merge.d.ts +33 -0
  272. package/dist/runtime/geometry/merge.d.ts.map +1 -0
  273. package/dist/runtime/geometry/merge.js +185 -0
  274. package/dist/runtime/geometry/merge.js.map +1 -0
  275. package/dist/runtime/geometry/primitives.d.ts +41 -0
  276. package/dist/runtime/geometry/primitives.d.ts.map +1 -0
  277. package/dist/runtime/geometry/primitives.js +131 -0
  278. package/dist/runtime/geometry/primitives.js.map +1 -0
  279. package/dist/runtime/geometry/promote.d.ts +44 -0
  280. package/dist/runtime/geometry/promote.d.ts.map +1 -0
  281. package/dist/runtime/geometry/promote.js +203 -0
  282. package/dist/runtime/geometry/promote.js.map +1 -0
  283. package/dist/runtime/geometry/resample.d.ts +29 -0
  284. package/dist/runtime/geometry/resample.d.ts.map +1 -0
  285. package/dist/runtime/geometry/resample.js +165 -0
  286. package/dist/runtime/geometry/resample.js.map +1 -0
  287. package/dist/runtime/geometry/svg.d.ts +91 -0
  288. package/dist/runtime/geometry/svg.d.ts.map +1 -0
  289. package/dist/runtime/geometry/svg.js +216 -0
  290. package/dist/runtime/geometry/svg.js.map +1 -0
  291. package/dist/runtime/geometry/transform.d.ts +18 -0
  292. package/dist/runtime/geometry/transform.d.ts.map +1 -0
  293. package/dist/runtime/geometry/transform.js +56 -0
  294. package/dist/runtime/geometry/transform.js.map +1 -0
  295. package/dist/runtime/index.d.ts +5 -0
  296. package/dist/runtime/index.d.ts.map +1 -0
  297. package/dist/runtime/index.js +4 -0
  298. package/dist/runtime/index.js.map +1 -0
  299. package/dist/runtime/node.d.ts +4 -0
  300. package/dist/runtime/node.d.ts.map +1 -0
  301. package/dist/runtime/node.js +12 -0
  302. package/dist/runtime/node.js.map +1 -0
  303. package/dist/runtime/runtime.d.ts +3 -0
  304. package/dist/runtime/runtime.d.ts.map +1 -0
  305. package/dist/runtime/runtime.js +1198 -0
  306. package/dist/runtime/runtime.js.map +1 -0
  307. package/dist/runtime/types.d.ts +241 -0
  308. package/dist/runtime/types.d.ts.map +1 -0
  309. package/dist/runtime/types.js +2 -0
  310. package/dist/runtime/types.js.map +1 -0
  311. package/dist/shell.d.ts +8 -0
  312. package/dist/shell.js +54 -0
  313. package/dist/shell.js.map +7 -0
  314. package/dist/stage.d.ts +7 -0
  315. package/dist/stage.js +84 -0
  316. package/dist/stage.js.map +7 -0
  317. package/dist/studio/panel.d.ts +48 -0
  318. package/doc/PROJECT_AUTHORING.md +360 -0
  319. package/package.json +126 -0
@@ -0,0 +1,21 @@
1
+ {
2
+ "version": "0.2",
3
+ "metadata": {
4
+ "name": "Cascade Starter",
5
+ "description": "A minimal procedural image graph.",
6
+ "created": "2026-08-29T00:00:00.000Z",
7
+ "modified": "2026-08-29T00:00:00.000Z"
8
+ },
9
+ "nodes": [
10
+ {
11
+ "id": "Color1",
12
+ "module": "cascade.lens.Color",
13
+ "position": [0, 0],
14
+ "source": "stdlib",
15
+ "props": {
16
+ "color": [0.12, 0.2, 0.32, 1],
17
+ "resolution": [1024, 1024]
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Cascade</title>
7
+ <script type="module" crossorigin src="/assets/index-BXYXSdgh.js"></script>
8
+ <link rel="modulepreload" crossorigin href="/assets/legacy-DIu3XRwl.js">
9
+ <link rel="modulepreload" crossorigin href="/assets/index-client-DN_FvjN8.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/nodeTypeUtils-CweA3NHd.js">
11
+ <link rel="stylesheet" crossorigin href="/assets/index-CrNke7SW.css">
12
+ </head>
13
+ <body>
14
+ <div id="app"></div>
15
+ </body>
16
+ </html>
17
+
18
+
19
+
@@ -0,0 +1,3 @@
1
+ import type { BrowserRuntimeHostOptions, RuntimeHost } from "./types.js";
2
+ export declare function createBrowserRuntimeHost(options: BrowserRuntimeHostOptions): RuntimeHost;
3
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzE,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GACjC,WAAW,CAgBb"}
@@ -0,0 +1,12 @@
1
+ export function createBrowserRuntimeHost(options) {
2
+ const { modules, legacyShell, now = () => Date.now(), report = () => { }, ...capabilities } = options;
3
+ return {
4
+ environment: "browser",
5
+ modules,
6
+ legacyShell,
7
+ capabilities,
8
+ now,
9
+ report,
10
+ };
11
+ }
12
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB,CACtC,OAAkC;IAElC,MAAM,EACJ,OAAO,EACP,WAAW,EACX,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EACtB,MAAM,GAAG,GAAG,EAAE,GAAE,CAAC,EACjB,GAAG,YAAY,EAChB,GAAG,OAAO,CAAC;IACZ,OAAO;QACL,WAAW,EAAE,SAAS;QACtB,OAAO;QACP,WAAW;QACX,YAAY;QACZ,GAAG;QACH,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { DefinitionNodeRegistration } from "../../types.js";
2
+ import { randomRegistration } from "./random.js";
3
+ import { remapRegistration } from "./remap.js";
4
+ import { mergeRegistration, nullRegistration, selectRegistration, switchRegistration } from "./routing.js";
5
+ import { inputRegistration, outputRegistration, subnetRegistration } from "./structural.js";
6
+ export { inputRegistration, mergeRegistration, nullRegistration, outputRegistration, randomRegistration, remapRegistration, selectRegistration, subnetRegistration, switchRegistration, };
7
+ export declare const coreNodeRegistrations: readonly DefinitionNodeRegistration[];
8
+ export declare function coreNodeRegistration(moduleId: string): DefinitionNodeRegistration | undefined;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builtins/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE5F,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,SAAS,0BAA0B,EAUrE,CAAC;AAMH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,CAE7F"}
@@ -0,0 +1,21 @@
1
+ import { randomRegistration } from "./random.js";
2
+ import { remapRegistration } from "./remap.js";
3
+ import { mergeRegistration, nullRegistration, selectRegistration, switchRegistration } from "./routing.js";
4
+ import { inputRegistration, outputRegistration, subnetRegistration } from "./structural.js";
5
+ export { inputRegistration, mergeRegistration, nullRegistration, outputRegistration, randomRegistration, remapRegistration, selectRegistration, subnetRegistration, switchRegistration, };
6
+ export const coreNodeRegistrations = Object.freeze([
7
+ subnetRegistration,
8
+ inputRegistration,
9
+ outputRegistration,
10
+ switchRegistration,
11
+ mergeRegistration,
12
+ nullRegistration,
13
+ selectRegistration,
14
+ randomRegistration,
15
+ remapRegistration,
16
+ ]);
17
+ const registrationsById = new Map(coreNodeRegistrations.map((registration) => [registration.moduleId, registration]));
18
+ export function coreNodeRegistration(moduleId) {
19
+ return registrationsById.get(moduleId);
20
+ }
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/builtins/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE5F,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA0C,MAAM,CAAC,MAAM,CAAC;IACxF,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,qBAAqB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CACnF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,66 @@
1
+ import type { NodeExecutionContext } from "cascade/contracts";
2
+ export declare const randomDefinition: {
3
+ readonly apiVersion: 1;
4
+ readonly label: "Random";
5
+ readonly description: "Generate a deterministic unit value from an explicit seed.";
6
+ readonly icon: "Dice5";
7
+ readonly runsOn: "portable";
8
+ readonly inputs: {
9
+ readonly seed: {
10
+ readonly kind: "data";
11
+ readonly type: "int";
12
+ readonly default: 0;
13
+ readonly description: "Integer seed. Equal seeds always produce equal values.";
14
+ };
15
+ readonly sample: {
16
+ readonly kind: "data";
17
+ readonly type: "int";
18
+ readonly default: 0;
19
+ readonly description: "Stable sample index within the seeded sequence.";
20
+ };
21
+ };
22
+ readonly outputs: {
23
+ readonly value: {
24
+ readonly kind: "data";
25
+ readonly type: "float";
26
+ readonly description: "Deterministic value in the half-open range [0, 1).";
27
+ };
28
+ };
29
+ };
30
+ /** Mulberry32's output transform, evaluated once for the supplied seed. */
31
+ export declare function randomFromSeed(seed: number, sample?: number): number;
32
+ export declare function executeRandom(context: NodeExecutionContext<typeof randomDefinition>): void;
33
+ export declare const randomRegistration: {
34
+ kind: "definition-v1";
35
+ moduleId: string;
36
+ definition: {
37
+ readonly apiVersion: 1;
38
+ readonly label: "Random";
39
+ readonly description: "Generate a deterministic unit value from an explicit seed.";
40
+ readonly icon: "Dice5";
41
+ readonly runsOn: "portable";
42
+ readonly inputs: {
43
+ readonly seed: {
44
+ readonly kind: "data";
45
+ readonly type: "int";
46
+ readonly default: 0;
47
+ readonly description: "Integer seed. Equal seeds always produce equal values.";
48
+ };
49
+ readonly sample: {
50
+ readonly kind: "data";
51
+ readonly type: "int";
52
+ readonly default: 0;
53
+ readonly description: "Stable sample index within the seeded sequence.";
54
+ };
55
+ };
56
+ readonly outputs: {
57
+ readonly value: {
58
+ readonly kind: "data";
59
+ readonly type: "float";
60
+ readonly description: "Deterministic value in the half-open range [0, 1).";
61
+ };
62
+ };
63
+ };
64
+ loadExecute: () => Promise<typeof executeRandom>;
65
+ };
66
+ //# sourceMappingURL=random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/builtins/core/random.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI/E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BM,CAAC;AAEpC,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,CAM/D;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,oBAAoB,CAAC,OAAO,gBAAgB,CAAC,GACrD,IAAI,CAEN;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKgC,CAAC"}
@@ -0,0 +1,46 @@
1
+ export const randomDefinition = {
2
+ apiVersion: 1,
3
+ label: "Random",
4
+ description: "Generate a deterministic unit value from an explicit seed.",
5
+ icon: "Dice5",
6
+ runsOn: "portable",
7
+ inputs: {
8
+ seed: {
9
+ kind: "data",
10
+ type: "int",
11
+ default: 0,
12
+ description: "Integer seed. Equal seeds always produce equal values.",
13
+ },
14
+ sample: {
15
+ kind: "data",
16
+ type: "int",
17
+ default: 0,
18
+ description: "Stable sample index within the seeded sequence.",
19
+ },
20
+ },
21
+ outputs: {
22
+ value: {
23
+ kind: "data",
24
+ type: "float",
25
+ description: "Deterministic value in the half-open range [0, 1).",
26
+ },
27
+ },
28
+ };
29
+ /** Mulberry32's output transform, evaluated once for the supplied seed. */
30
+ export function randomFromSeed(seed, sample = 0) {
31
+ const streamSeed = (Math.trunc(seed) ^ Math.imul(Math.trunc(sample), 0x9e3779b1)) >>> 0;
32
+ let value = (streamSeed + 0x6d2b79f5) >>> 0;
33
+ value = Math.imul(value ^ (value >>> 15), value | 1);
34
+ value ^= value + Math.imul(value ^ (value >>> 7), value | 61);
35
+ return ((value ^ (value >>> 14)) >>> 0) / 0x1_0000_0000;
36
+ }
37
+ export function executeRandom(context) {
38
+ context.outputs.value.set(randomFromSeed(context.inputs.seed, context.inputs.sample));
39
+ }
40
+ export const randomRegistration = {
41
+ kind: "definition-v1",
42
+ moduleId: "cascade.core.Random",
43
+ definition: randomDefinition,
44
+ loadExecute: async () => executeRandom,
45
+ };
46
+ //# sourceMappingURL=random.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/builtins/core/random.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,4DAA4D;IACzE,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,wDAAwD;SACtE;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,iDAAiD;SAC/D;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,oDAAoD;SAClE;KACF;CACgC,CAAC;AAEpC,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAM,GAAG,CAAC;IACrD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;IACxF,IAAI,KAAK,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACrD,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAAsD;IAEtD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,qBAAqB;IAC/B,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa;CACuB,CAAC"}
@@ -0,0 +1,105 @@
1
+ import type { NodeExecutionContext } from "cascade/contracts";
2
+ export declare const remapDefinition: {
3
+ readonly apiVersion: 1;
4
+ readonly label: "Remap";
5
+ readonly description: "Map a number from one range into another.";
6
+ readonly icon: "ArrowRightLeft";
7
+ readonly runsOn: "portable";
8
+ readonly inputs: {
9
+ readonly value: {
10
+ readonly kind: "data";
11
+ readonly type: "float";
12
+ readonly default: 0;
13
+ };
14
+ readonly inMin: {
15
+ readonly kind: "data";
16
+ readonly type: "float";
17
+ readonly default: 0;
18
+ };
19
+ readonly inMax: {
20
+ readonly kind: "data";
21
+ readonly type: "float";
22
+ readonly default: 1;
23
+ };
24
+ readonly outMin: {
25
+ readonly kind: "data";
26
+ readonly type: "float";
27
+ readonly default: 0;
28
+ };
29
+ readonly outMax: {
30
+ readonly kind: "data";
31
+ readonly type: "float";
32
+ readonly default: 1;
33
+ };
34
+ };
35
+ readonly outputs: {
36
+ readonly result: {
37
+ readonly kind: "data";
38
+ readonly type: "float";
39
+ };
40
+ };
41
+ readonly props: {
42
+ readonly clamp: {
43
+ readonly type: "bool";
44
+ readonly default: false;
45
+ readonly label: "Clamp";
46
+ readonly description: "Keep the normalized input between zero and one.";
47
+ };
48
+ };
49
+ };
50
+ export declare function remap(value: number, inMin: number, inMax: number, outMin: number, outMax: number, clamp: boolean): number;
51
+ export declare function executeRemap(context: NodeExecutionContext<typeof remapDefinition>): void;
52
+ export declare const remapRegistration: {
53
+ kind: "definition-v1";
54
+ moduleId: string;
55
+ definition: {
56
+ readonly apiVersion: 1;
57
+ readonly label: "Remap";
58
+ readonly description: "Map a number from one range into another.";
59
+ readonly icon: "ArrowRightLeft";
60
+ readonly runsOn: "portable";
61
+ readonly inputs: {
62
+ readonly value: {
63
+ readonly kind: "data";
64
+ readonly type: "float";
65
+ readonly default: 0;
66
+ };
67
+ readonly inMin: {
68
+ readonly kind: "data";
69
+ readonly type: "float";
70
+ readonly default: 0;
71
+ };
72
+ readonly inMax: {
73
+ readonly kind: "data";
74
+ readonly type: "float";
75
+ readonly default: 1;
76
+ };
77
+ readonly outMin: {
78
+ readonly kind: "data";
79
+ readonly type: "float";
80
+ readonly default: 0;
81
+ };
82
+ readonly outMax: {
83
+ readonly kind: "data";
84
+ readonly type: "float";
85
+ readonly default: 1;
86
+ };
87
+ };
88
+ readonly outputs: {
89
+ readonly result: {
90
+ readonly kind: "data";
91
+ readonly type: "float";
92
+ };
93
+ };
94
+ readonly props: {
95
+ readonly clamp: {
96
+ readonly type: "bool";
97
+ readonly default: false;
98
+ readonly label: "Clamp";
99
+ readonly description: "Keep the normalized input between zero and one.";
100
+ };
101
+ };
102
+ };
103
+ loadExecute: () => Promise<typeof executeRemap>;
104
+ };
105
+ //# sourceMappingURL=remap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remap.d.ts","sourceRoot":"","sources":["../../../src/builtins/core/remap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI/E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBO,CAAC;AAEpC,wBAAgB,KAAK,CACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GACb,MAAM,CAKR;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,oBAAoB,CAAC,OAAO,eAAe,CAAC,GACpD,IAAI,CAKN;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKgC,CAAC"}
@@ -0,0 +1,43 @@
1
+ export const remapDefinition = {
2
+ apiVersion: 1,
3
+ label: "Remap",
4
+ description: "Map a number from one range into another.",
5
+ icon: "ArrowRightLeft",
6
+ runsOn: "portable",
7
+ inputs: {
8
+ value: { kind: "data", type: "float", default: 0 },
9
+ inMin: { kind: "data", type: "float", default: 0 },
10
+ inMax: { kind: "data", type: "float", default: 1 },
11
+ outMin: { kind: "data", type: "float", default: 0 },
12
+ outMax: { kind: "data", type: "float", default: 1 },
13
+ },
14
+ outputs: {
15
+ result: { kind: "data", type: "float" },
16
+ },
17
+ props: {
18
+ clamp: {
19
+ type: "bool",
20
+ default: false,
21
+ label: "Clamp",
22
+ description: "Keep the normalized input between zero and one.",
23
+ },
24
+ },
25
+ };
26
+ export function remap(value, inMin, inMax, outMin, outMax, clamp) {
27
+ if (inMin === inMax)
28
+ return outMin;
29
+ const normalized = (value - inMin) / (inMax - inMin);
30
+ const amount = clamp ? Math.min(1, Math.max(0, normalized)) : normalized;
31
+ return outMin + amount * (outMax - outMin);
32
+ }
33
+ export function executeRemap(context) {
34
+ const { value, inMin, inMax, outMin, outMax } = context.inputs;
35
+ context.outputs.result.set(remap(value, inMin, inMax, outMin, outMax, context.props.clamp));
36
+ }
37
+ export const remapRegistration = {
38
+ kind: "definition-v1",
39
+ moduleId: "cascade.core.Remap",
40
+ definition: remapDefinition,
41
+ loadExecute: async () => executeRemap,
42
+ };
43
+ //# sourceMappingURL=remap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remap.js","sourceRoot":"","sources":["../../../src/builtins/core/remap.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,2CAA2C;IACxD,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE;QACN,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;QAClD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;QAClD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;QAClD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;QACnD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;KACpD;IACD,OAAO,EAAE;QACP,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;KACxC;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,iDAAiD;SAC/D;KACF;CACgC,CAAC;AAEpC,MAAM,UAAU,KAAK,CACnB,KAAa,EACb,KAAa,EACb,KAAa,EACb,MAAc,EACd,MAAc,EACd,KAAc;IAEd,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IACnC,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACzE,OAAO,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAqD;IAErD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CACxB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAChE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,oBAAoB;IAC9B,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY;CACuB,CAAC"}
@@ -0,0 +1,117 @@
1
+ import type { DefinitionNodeRegistration } from "../../types.js";
2
+ declare const switchDefinition: {
3
+ readonly apiVersion: 1;
4
+ readonly runsOn: "portable";
5
+ readonly label: "Switch";
6
+ readonly description: "Selects one input by index";
7
+ readonly icon: "GitBranch";
8
+ readonly inputs: {
9
+ readonly inputs: {
10
+ readonly kind: "data";
11
+ readonly type: "any";
12
+ readonly variadic: true;
13
+ };
14
+ };
15
+ readonly outputs: {
16
+ readonly output: {
17
+ readonly kind: "data";
18
+ readonly type: "any";
19
+ };
20
+ };
21
+ readonly props: {
22
+ readonly index: {
23
+ readonly type: "int";
24
+ readonly default: 0;
25
+ readonly min: 0;
26
+ readonly step: 1;
27
+ };
28
+ };
29
+ };
30
+ declare const mergeDefinition: {
31
+ readonly apiVersion: 1;
32
+ readonly runsOn: "portable";
33
+ readonly label: "Merge";
34
+ readonly description: "Collects inputs into an array";
35
+ readonly icon: "GitMerge";
36
+ readonly inputs: {
37
+ readonly inputs: {
38
+ readonly kind: "data";
39
+ readonly type: "any";
40
+ readonly variadic: true;
41
+ };
42
+ };
43
+ readonly outputs: {
44
+ readonly output: {
45
+ readonly kind: "data";
46
+ readonly type: "array";
47
+ };
48
+ };
49
+ readonly props: {
50
+ readonly append: {
51
+ readonly type: "bool";
52
+ readonly default: false;
53
+ };
54
+ };
55
+ };
56
+ declare const selectDefinition: {
57
+ readonly apiVersion: 1;
58
+ readonly runsOn: "portable";
59
+ readonly label: "Select";
60
+ readonly description: "Selects an array item by index";
61
+ readonly icon: "ListFilter";
62
+ readonly inputs: {
63
+ readonly array: {
64
+ readonly kind: "data";
65
+ readonly type: "array";
66
+ readonly default: readonly [];
67
+ };
68
+ };
69
+ readonly outputs: {
70
+ readonly item: {
71
+ readonly kind: "data";
72
+ readonly type: "any";
73
+ };
74
+ readonly count: {
75
+ readonly kind: "data";
76
+ readonly type: "int";
77
+ };
78
+ };
79
+ readonly props: {
80
+ readonly index: {
81
+ readonly type: "int";
82
+ readonly default: 0;
83
+ readonly min: 0;
84
+ readonly step: 1;
85
+ };
86
+ readonly wrap: {
87
+ readonly type: "bool";
88
+ readonly default: true;
89
+ };
90
+ };
91
+ };
92
+ declare const nullDefinition: {
93
+ readonly apiVersion: 1;
94
+ readonly runsOn: "portable";
95
+ readonly label: "Null";
96
+ readonly description: "Passes its input through unchanged";
97
+ readonly icon: "Circle";
98
+ readonly inputs: {
99
+ readonly input: {
100
+ readonly kind: "data";
101
+ readonly type: "any";
102
+ readonly default: null;
103
+ };
104
+ };
105
+ readonly outputs: {
106
+ readonly output: {
107
+ readonly kind: "data";
108
+ readonly type: "any";
109
+ };
110
+ };
111
+ };
112
+ export declare const switchRegistration: DefinitionNodeRegistration<typeof switchDefinition>;
113
+ export declare const mergeRegistration: DefinitionNodeRegistration<typeof mergeDefinition>;
114
+ export declare const selectRegistration: DefinitionNodeRegistration<typeof selectDefinition>;
115
+ export declare const nullRegistration: DefinitionNodeRegistration<typeof nullDefinition>;
116
+ export {};
117
+ //# sourceMappingURL=routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/builtins/core/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAeZ,CAAC;AAEX,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAeX,CAAC;AAEX,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBZ,CAAC;AAEX,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAYV,CAAC;AAEX,eAAO,MAAM,kBAAkB,EAAE,0BAA0B,CAAC,OAAO,gBAAgB,CAalF,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,0BAA0B,CAAC,OAAO,eAAe,CAYhF,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,0BAA0B,CAAC,OAAO,gBAAgB,CAgBlF,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,0BAA0B,CAAC,OAAO,cAAc,CAO9E,CAAC"}
@@ -0,0 +1,114 @@
1
+ const switchDefinition = {
2
+ apiVersion: 1,
3
+ runsOn: "portable",
4
+ label: "Switch",
5
+ description: "Selects one input by index",
6
+ icon: "GitBranch",
7
+ inputs: {
8
+ inputs: { kind: "data", type: "any", variadic: true },
9
+ },
10
+ outputs: {
11
+ output: { kind: "data", type: "any" },
12
+ },
13
+ props: {
14
+ index: { type: "int", default: 0, min: 0, step: 1 },
15
+ },
16
+ };
17
+ const mergeDefinition = {
18
+ apiVersion: 1,
19
+ runsOn: "portable",
20
+ label: "Merge",
21
+ description: "Collects inputs into an array",
22
+ icon: "GitMerge",
23
+ inputs: {
24
+ inputs: { kind: "data", type: "any", variadic: true },
25
+ },
26
+ outputs: {
27
+ output: { kind: "data", type: "array" },
28
+ },
29
+ props: {
30
+ append: { type: "bool", default: false },
31
+ },
32
+ };
33
+ const selectDefinition = {
34
+ apiVersion: 1,
35
+ runsOn: "portable",
36
+ label: "Select",
37
+ description: "Selects an array item by index",
38
+ icon: "ListFilter",
39
+ inputs: {
40
+ array: { kind: "data", type: "array", default: [] },
41
+ },
42
+ outputs: {
43
+ item: { kind: "data", type: "any" },
44
+ count: { kind: "data", type: "int" },
45
+ },
46
+ props: {
47
+ index: { type: "int", default: 0, min: 0, step: 1 },
48
+ wrap: { type: "bool", default: true },
49
+ },
50
+ };
51
+ const nullDefinition = {
52
+ apiVersion: 1,
53
+ runsOn: "portable",
54
+ label: "Null",
55
+ description: "Passes its input through unchanged",
56
+ icon: "Circle",
57
+ inputs: {
58
+ input: { kind: "data", type: "any", default: null },
59
+ },
60
+ outputs: {
61
+ output: { kind: "data", type: "any" },
62
+ },
63
+ };
64
+ export const switchRegistration = {
65
+ kind: "definition-v1",
66
+ moduleId: "cascade.core.Switch",
67
+ definition: switchDefinition,
68
+ loadExecute: async () => ({ inputs, outputs, props }) => {
69
+ const values = inputs.inputs;
70
+ if (!values.length) {
71
+ outputs.output.set(null);
72
+ return;
73
+ }
74
+ const index = Math.max(0, Math.min(props.index, values.length - 1));
75
+ outputs.output.set(values[index]);
76
+ },
77
+ };
78
+ export const mergeRegistration = {
79
+ kind: "definition-v1",
80
+ moduleId: "cascade.core.Merge",
81
+ definition: mergeDefinition,
82
+ loadExecute: async () => ({ inputs, outputs, props }) => {
83
+ const values = inputs.inputs.filter((value) => value !== null);
84
+ outputs.output.set(props.append && Array.isArray(values[0])
85
+ ? [...values[0], ...values.slice(1)]
86
+ : values);
87
+ },
88
+ };
89
+ export const selectRegistration = {
90
+ kind: "definition-v1",
91
+ moduleId: "cascade.core.Select",
92
+ definition: selectDefinition,
93
+ loadExecute: async () => ({ inputs, outputs, props }) => {
94
+ const count = inputs.array.length;
95
+ outputs.count.set(count);
96
+ if (!count) {
97
+ outputs.item.set(null);
98
+ return;
99
+ }
100
+ const index = props.wrap
101
+ ? ((props.index % count) + count) % count
102
+ : Math.max(0, Math.min(props.index, count - 1));
103
+ outputs.item.set(inputs.array[index]);
104
+ },
105
+ };
106
+ export const nullRegistration = {
107
+ kind: "definition-v1",
108
+ moduleId: "cascade.core.Null",
109
+ definition: nullDefinition,
110
+ loadExecute: async () => ({ inputs, outputs }) => {
111
+ outputs.output.set(inputs.input);
112
+ },
113
+ };
114
+ //# sourceMappingURL=routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/builtins/core/routing.ts"],"names":[],"mappings":"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"}