Skip to content

Releases: jamesrochabrun/Canvas

Canvas 1.4.1

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 06 Oct 19:00
ada4094

What's Changed

Full Changelog: 1.3.4...1.4.1

Canvas 1.4.0

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 06 Oct 18:58

Full Changelog: 1.3.3...1.4.0

Canvas 1.3.3

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 14 Jul 22:46
1c246e2

What's Changed

  • Content-frame tweaks bridge + branded slider and delete-all controls by @jamesrochabrun in #18

Full Changelog: 1.3.2...1.3.3

Canvas 1.3.2

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 11 Jul 07:42
7c489d3

What's Changed

Full Changelog: 1.3.1...1.3.2

Canvas 1.3.1

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 10 Jul 22:59
a8dc530

What's Changed

Full Changelog: 1.3.0...1.3.1

Canvas 1.3.0

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 05 Jul 08:43

Tweakable props system

Pages can now declare expressive, host-rendered tweak controls, and hosts can render, live-apply, and persist them natively.

New

  • TweaksBridge — injects a dc_set_props runtime into the page at document start. Pages declare props (slider, select, color, toggle, text), read current values via this.props, and re-render through dc_on_props_changed. Declared schemas post to native with key order preserved; native pushes values back via setProp.
  • TweakProp / TweakPropValue — value models for declared props.
  • TweaksState — @Observable model holding the current page's schema.
  • TweaksPanelView — popover-ready panel: "Describe a tweak…" field, an Ideas action, and one native SwiftUI control per declared prop.
  • TweaksPromptBuilder — agent prompts (ideas + custom instruction) with the props contract appended so generated declarations stay machine-editable.
  • TweakPropsSourceEditor — deterministic default-value rewriting in page source: comment/string-aware scanning, tolerant parsing (single quotes, bare keys), splice verified by re-parse. Non-scalar defaults degrade to live-only, never corrupting the file.

Changed

  • InspectableWebView gains an optional onTweakPropsChange callback (defaulted — source compatible).

Tests

158 tests, including a live WKWebView integration test covering the full round trip (page declares → native receives; native setProp → page re-renders).

Full Changelog: 1.2.2...1.3.0

Canvas 1.2.2

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 02 Jul 08:22
1d002c8

What's Changed

Full Changelog: 1.2.1...1.2.2

Canvas 1.2.1

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 25 May 01:15
fa29e73

What's Changed

Full Changelog: 1.1.1...1.2.1

Canvas 1.2.0

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 09 Apr 04:56
7750f19

What's Changed

Full Changelog: 1.1.0...1.2.0

Canvas 1.1.1

Choose a tag to compare

@jamesrochabrun jamesrochabrun released this 09 Apr 04:40
7750f19

What's Changed

Full Changelog: 1.1.0...1.1.1