@field/cascade 0.3.0 → 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 (43) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/assets/{CodeEditor-BADFbTJS.js → CodeEditor-D22fVi-4.js} +4 -4
  3. package/dist/assets/{CodePanel-faK6PRfz.js → CodePanel-DPNEYfcR.js} +2 -2
  4. package/dist/assets/{CustomNodeDialog-DhlKuviy.js → CustomNodeDialog-DeHCAvgb.js} +1 -1
  5. package/dist/assets/{ProjectSettings-D6a6kjqR.js → ProjectSettings-DWpVtWEx.js} +1 -1
  6. package/dist/assets/{SettingsDialog-DJZdIvLC.js → SettingsDialog-za00IS3L.js} +1 -1
  7. package/dist/assets/{VersionHistoryDialog-C1X3HOhc.js → VersionHistoryDialog-DTMGhI0_.js} +1 -1
  8. package/dist/assets/{core-CiuiuWZi.js → core-JsyKMO1k.js} +1 -1
  9. package/dist/assets/{cssMode-D-NwZSMJ.js → cssMode-emdRheFK.js} +1 -1
  10. package/dist/assets/{editor.api-DT3WEvBd.js → editor.api-xHX-fMSo.js} +1 -1
  11. package/dist/assets/{freemarker2-eKNYQaiz.js → freemarker2-C3M8_Gs3.js} +1 -1
  12. package/dist/assets/geo-BAR6lQp5.js +1 -0
  13. package/dist/assets/{handlebars-C2w1ggK2.js → handlebars-CBMurtFk.js} +1 -1
  14. package/dist/assets/{html-DQb41jyo.js → html-xbLQwknw.js} +1 -1
  15. package/dist/assets/{htmlMode-IhNlh6Lv.js → htmlMode-2wKdDTon.js} +1 -1
  16. package/dist/assets/{image-DMCXBY-_.js → image-i1j6nWKe.js} +1 -1
  17. package/dist/assets/{index-HTCN44kj.js → index-CMcH8AgP.js} +35 -35
  18. package/dist/assets/{javascript-BIT6jMLC.js → javascript-DJaOo_2I.js} +1 -1
  19. package/dist/assets/{jsonMode-CNfyB1ro.js → jsonMode-Bheas8_0.js} +1 -1
  20. package/dist/assets/{liquid-CmSmJmOG.js → liquid-BCj_BGbM.js} +1 -1
  21. package/dist/assets/{lspLanguageFeatures-BqMm3uMP.js → lspLanguageFeatures-BfIsx_xz.js} +1 -1
  22. package/dist/assets/{mdx-6r6YgOFw.js → mdx-DwiQDiVO.js} +1 -1
  23. package/dist/assets/{python-x1H0TQuI.js → python-BjrB5nqj.js} +1 -1
  24. package/dist/assets/{razor-Dzl1vZFm.js → razor-CfoBmGDs.js} +1 -1
  25. package/dist/assets/{tsMode-n6DMMe3a.js → tsMode-BcEoMSxp.js} +1 -1
  26. package/dist/assets/{typescript-ziEz65xN.js → typescript-DIg7TEmQ.js} +1 -1
  27. package/dist/assets/{workers-D-qUdp-r.js → workers-vXYuwtPw.js} +1 -1
  28. package/dist/assets/{xml-DMZjt5lE.js → xml-DexLQIQy.js} +1 -1
  29. package/dist/assets/{yaml-DFe5qZSO.js → yaml-DUnD_1dE.js} +1 -1
  30. package/dist/cli/index.js +317 -49
  31. package/dist/cli/runtime/gpu.ts +76 -0
  32. package/dist/contracts/capabilities.d.ts +69 -6
  33. package/dist/contracts/definition.d.ts +21 -1
  34. package/dist/contracts/schema.js +8 -5
  35. package/dist/contracts/validate.js +11 -2
  36. package/dist/gpu.d.ts +71 -0
  37. package/dist/gpu.js +53 -0
  38. package/dist/index.html +1 -1
  39. package/dist/runtime/runtime.d.ts +23 -3
  40. package/dist/runtime/runtime.js +118 -24
  41. package/dist/runtime/types.d.ts +3 -3
  42. package/package.json +5 -1
  43. package/dist/assets/geo-DUvVbLnx.js +0 -1
package/CHANGELOG.md CHANGED
@@ -12,6 +12,8 @@ Notable changes to Cascade. Newest first.
12
12
 
13
13
  ### Authoring, continued
14
14
 
15
+ - **A prop can declare a default expression**, so a node arrives already moving — `sine-oscillator` and `ripple` shipped a static `0` once converted, where their dynamic versions baked in `$T`. It is a *default*: a document that saved a plain number keeps it and does not start animating on load. Applied once per prop, so a deleted expression is not reinstated when a retarget re-runs setup, and visible in the Inspector rather than a hidden fallback.
16
+
15
17
  - **A vector prop can declare `min`, `max` and `step`.** All six vector types were typed `never` for those three fields, so the standing "one `vec2`, not two floats" convention silently cost the Inspector its clamp and its drag granularity every time it was followed. One range across all components; matrices stay excluded.
16
18
  - **A module with no file is named, with the paths it was looked for.** `prepare()` synthesises a definition from the ports the document saved for any unresolvable module, which keeps legacy nodes loadable and also let a typo validate clean. A warning, because such a node can never run through the deterministic runtime anyway.
17
19
  - **The stray-`params` warning covers inputs as well as props** — the case the conversions produce most, since a parameter another node drives must be an input.
@@ -25,6 +27,22 @@ Notable changes to Cascade. Newest first.
25
27
 
26
28
  - **The CLI build resolves `@cascade/runtime/params`.** `src/nodes/Node.ts` imports `resolvePropBinding` from it, the browser build resolved it through `vite.config.ts`, and the CLI build had no alias — so the CLI, which is what the sketches actually run, was the broken half.
27
29
 
30
+ ## 0.3.1
31
+
32
+ ### Fixed
33
+
34
+ - **A stored value equal to its default is no longer dropped on save.** A prop declaring a default expression would start animating on reload if you set it *back* to its default: the save filters out any parameter matching its default, so nothing was written and the expression re-applied to a number you had chosen. Shipped in 0.3.0. Diagnosed and fixed by Marcus's Codex session.
35
+
36
+ The lesson is in how it survived three tests. Every proof of "a stored value beats the default expression" used a value obviously *different* from the default — `7` against `2`, `7` against `0`, `0.4` against `0` — because a distant value reads as the stronger test. Only *equal to the default* fails, and the boundary was the case nobody tried. The regression test now saves and reloads, because the fault is in what gets written rather than in what gets read.
37
+
38
+ - **A browser-only node is refused on the run path again.** A change earlier the same day made the static checker's downgrades apply to execution too, so `cascade run` executed a browser node headlessly and failed on an undefined capability instead of reporting that it needs a browser. The run gate is now separate from static classification: only a stranded `params` value is tolerated.
39
+
40
+ - **`cascade run` reports stranded `params` values.** Previously only `cascade check` did, so a run went onto the defaults in silence.
41
+
42
+ ### Added
43
+
44
+ - **A `gpu` capability, stage one of WebGPU support.** One `GPUDevice` per page, shared by every node that declares the capability, with somewhere to keep a compiled pipeline between cooks. No `texture` port yet, so nodes still exchange images and the rendered picture is unchanged — what it removes is each node holding its own device, which is what made two GPU nodes unable to share anything. Design: `PLAN webgpu` in the vault.
45
+
28
46
  ## 0.3.0
29
47
 
30
48
  Two features carry the minor bump: an **animation system** and an **agent console**. Everything else is either a consequence of those or a fault they exposed.