v1.21.1 QA — Pie visibility and Custom workspace layout

Date: 10 September 2026

Automated checks

  • JavaScript syntax: PASS (custom-app.js, custom-graphs.js, custom-piecharts.js, custom-coordinates.js).
  • Existing 99 Club smoke suite: PASS — 105 base families, Y1–Y6 profiles, blank Custom Worksheet and progression/PDF invariants.
  • Custom visual smoke suite: PASS — existing graph counts, 258 coordinate entries / 43 subtypes, 148 pie entries / 37 subtypes, mixed visual generation.
  • Deep Pie QA: PASS — 1,000 deterministic seeds for each of 3 pie families, 72,000 generated questions checked; 164 distinct pie specifications validated.
  • Stale-canvas fallback test: PASS — Pie renderer given a canvas with only text/line/rect primitives still emitted a complete visible outline (109 line primitives in the sampled question).

Render checks

Fresh pupil PDFs were generated from the v1.21.1 tree and rasterised for inspection. Core, reasoning and Extension samples all show visible coloured sectors, legends and outlines.

Help/privacy boundary

  • _pages/99-club-help.md contains no Custom Worksheet, Custom Worksheets or /tools/99-club/custom/ reference: PASS.
  • Custom inline ? help no longer links to a Custom section in public Help: PASS.

Public regression boundary

Byte comparison against v1.21: unchanged:

  • _pages/99-club.md
  • assets/99club/99club.css
  • assets/99club/app.js
  • assets/99club/generator.js
  • assets/99club/pdf-layout.js
  • assets/99club/simple-pdf.js
  • assets/99club/qr-lite.js

Clean reapply

The finished v1.21.1 patch was applied to a fresh extraction of the v1.21 full repository. Syntax, base smoke, custom visual smoke, Help boundary checks and byte-comparison of frozen public files all passed after reapply.

Environment limitation

A full local Jekyll build could not be run in this container because the Ruby bundle command is not installed. This does not affect the JavaScript/PDF tests above; the page/front matter changes are small and were reviewed directly.