Skip to content

Scriptoscope 0.8.0

Choose a tag to compare

@khawkins98 khawkins98 released this 01 Nov 09:53
· 38 commits to main since this release
8b656da

Scriptoscope 0.8.0 is a minor release on 0.7.0, and the first cut from main since the v2 integration branch was retired. It's 0.8.0 rather than a patch because of one breaking sizing change; everything else is fixes. It continues 0.y.z pre-launch development (#168).

Breaking: auto-sized windows now fit their chrome inside the element's box (#526, #541)

  • A window with no declared size used to take the element's measured size as its content size and draw the frame outside it.
  • The measured size, data-scriptoscope-extra-width/-height and px max-width/max-height caps now bound the whole window. Thick-framed schemes therefore get a smaller content area: on dolphin-som, the measured width less 116 px.
  • To keep a fixed content area, declare data-scriptoscope-width/-height. These are still content sizes, as are WindowManager.add width/height and setContentSize.
  • New: outerSize on WindowManager.add, WindowManager.setOuterSize and WindowManager.chromeExtent, for sizing by the outer box.

Fixed: windows and controls behave like the classic Window and Control Managers

  • Scroll bars act on the part under the pointer, with auto-repeat (#567). Inactive windows draw inactive scroll bars, and a first press on one only activates the window (#594). Scroll arrows sit clear of the grow box (#524).
  • Title-bar and grow-box presses that don't move are no longer drags or resizes (#552, #561), and cancelled drags revert (#563). Outer bounds hold through collapse, zoom and restore.
  • Keyboard focus entering a window activates and raises it (#550). Focus and control identity survive re-renders (#525, #533), and title widgets follow the visual tab order (#537).

Fixed: rendering

  • Dialog and alert bodies use the scheme's dialog colour, from Kaleidoscope's PACH 130 patch (#540).
  • Disclosure triangles draw the scheme's own art for each direction and state (#595).
  • Themed sliders let a patterned window body show through (#596).
  • composeButton reports unavailable instead of returning a blank button on the five built-in-frame schemes (#608).
  • Disposed themes are rejected in every browser (#589).

Fixed: demo

  • Showcase text, links and picker tiles reach WCAG AA contrast on every scheme.
  • Ready timing and persisted layouts are fixed.

Documentation

  • New docs/interaction.md, a consumer reference for every interactive behaviour.
  • llms.txt and the integration docs no longer describe removed APIs.
  • New decode specs: slider host background (#606), window structure regions and hit-testing (#610), and corrected kDEF dispatch labels (#615).

Contributor workflow

  • All work lands on main; v2 is archived as tag archive/v2.
  • CI is tiered (#598). PRs run Chromium rendering shards and exact Linux goldens. A release-tier gate runs Firefox/WebKit interaction contracts, the extended matrix and the scene fixtures, which are now required (#607).

Final release gate passed on the exact tagged commit, and the tag check confirmed it.

Runtime size versus 0.7.0:

non-test source 0.7.0 0.8.0 delta
logic 16081 16654 +573
cited engine tables 2329 2380 +51
total 18410 19034 +624

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