Skip to content

Scriptoscope 0.2.0

Choose a tag to compare

@khawkins98 khawkins98 released this 22 Oct 08:53
· 304 commits to main since this release
c23c601

First release from the v2 engine-model branch (#378). This is an incremental cutover: further control families ship in later minor releases, and "every family on the engine" is the 1.0 milestone. The previous version label was 0.0.1; there was no 0.1.x release.

  • v2 engine core. QuickDraw-style primitives, a ResourceChain, state normalisation and a per-call trace in src/engine/. Window chrome now draws through it with no pixel change.
  • Scroll bar on the decoded 2.3.1 CDEF (fixes #374). Adds the pressedPart option. proportional and thumbExtent are now ignored; see the migration notes below.
  • Window too-short step and widget hit-rect remap, carried over from main (#377).
  • Fidelity tooling:
    • the lane:ready pre-review gate and a docs CI job;
    • a per-family requirement ledger with a history guard;
    • the engine trace-diff gate;
    • a clean-room linter and implementer brief;
    • a frozen routine denominator of 552 in-scope ranges.
  • Decoded specs (docs only, no runtime change yet): the procedural window frame, the slider (CDEF 3) and answers to the QuickDraw primitive questions.

Migration notes (0.0.1 → 0.2.0): scroll bar

  • composeScrollbar gains an optional pressedPart: 'up' | 'down' | 'pageUp' | 'pageDown' | 'thumb'. state: 'pressed' with no part means thumb. interactiveScrollbar sets the part from the hit.
  • proportional and thumbExtent are still accepted but now ignored: the thumb is always its cicn's length, as in the original under the declared defaults.
  • Scroll-bar thickness is fixed at 16 px and value 0..1 maps onto 0..32767. Both are documented modern policy rows in the engine tables.
  • New opt-in loader option iconBlitCicnIds, and a new additive inspector.iconMaskPlanes field on every load. Default loads and decoded fingerprints are unchanged.