Skip to content

v0.7.0

Choose a tag to compare

@khawkins98 khawkins98 released this 29 Oct 22:19
c5c09a2

Scriptoscope 0.7.0 hands window and control lifetime to the application. Explicit promotion primitives now cover what the old declarative mount did, and two more families move onto decoded engine drivers. It continues 0.y.z pre-launch development from 0.6.0 (#168). v2 is an internal branch label, not a 2.0 release or the 1.0 threshold.

Breaking changes and migration:

  • mountDeclarative, mountOwnedDeclarative and their mount-specific types are removed (#491). Applications own source selection, attachment, theme replacement and teardown through the public promotion and restoration primitives. You can also adapt the separate mountExplicitPage example helper. See explicit host migration.
  • interactiveCheckbox, radioGroup and their option types are retired in favour of native inputs, labels and change listeners (#484). interactiveButton stays, and now returns a native type="button" element.
  • Custom push allocators must not rely on dimension getter reads that were removed (#497).
  • Minifier-generated function and constructor name strings may vary, under the narrow generated-name policy (#507).

Added:

  • Owned decoded-raster loading: loadOwnedTheme and loadOwnedKaleidoscopeScheme, with asynchronous image export and explicit disposal (#480). The eager LoadedTheme loaders remain supported.
  • An optional scriptoscope/renderer entry for consumers that already have a theme (#489).
  • An integrated capability collection in the demo.

Engine:

  • Whole-header and list-column composition, and segmented tabs, now use typed engine drivers. The replaced header painters, the three-slice tab fallback and the tab-body helper are removed.
  • Unsupported tab metadata now returns null with a distinct diagnostic instead of drawing the legacy body.

Fixed:

  • Windows inside transform: scale(), rotated or skewed ancestors follow the pointer when dragged and resized (#518, #521).
  • In those same ancestors, promoted windows take their layout size, and slider and scrollbar pointers follow the control's own axis (#522).
  • Dragging on a scrolled page, secondary clicks on themed buttons, tab-panel semantics and title-widget reachability (#381) are also fixed.

Not delivered: Studio, the bevel experiment and the header/allocator prototype (#475, #483, #500) closed unmerged. The Windows 95 titlebar reference adds zero exact browser-pixel oracles. Native typography, device rendering and whole-control fidelity remain unknown.

Final release CI passed on the exact release tree.

Runtime size versus 0.6.0:

non-test source 0.6.0 0.7.0 delta
logic 17094 16081 −1013
cited engine tables 2237 2329 +92
total 19331 18410 −921

The runtime shrinks overall. The removed declarative scanner, persistence and cascade, the retired checkable wrappers and the replaced painters outweigh the new drivers and QuickDraw primitives.

See the CHANGELOG and the migration guide for details. No npm publication accompanies this GitHub release.