QA — Pie Charts Stage 1 / 99 Club Studio v1.21
Date: 10 September 2026
Automated checks — PASS
- JavaScript syntax checks for generator, Custom app, graph renderer, coordinate renderer, pie renderer and PDF components.
- Existing base
tests/smoke.js. - Expanded
tests/custom-visual-smoke.js. - Existing graph pool counts unchanged: Y3 bar 68/17; Y4 bar 116/29; Y4 time 44/11; Y5 line 80/20; Y6 line 104/26.
- Existing coordinate pool counts unchanged: Y4 72/12; Y5 54/9; Y6 108/18; Extension 24/4.
- Pie pools: Core Y6 84/21; Reasoning Y6 44/11; Extension 20/5.
- Every pie pool key is unique and pool-index/key recreation round-trips.
- All 164 rendered pie specifications across the 148 pool questions have positive sectors summing to exactly 360 degrees within numerical tolerance.
- Where an exact total/count model is present, counts, percentages and angles are checked against the same total.
- 1,000 deterministic generation seeds per pie family: 72,000 generated questions checked with no short generation and repeat output identical for the same seed.
- Same-subtype replacement is checked for pie questions.
- Pupil, answer and combined PDF document construction succeeds for all three pie families in portrait and landscape.
- Mixed sheets containing arithmetic + bars + time/line graphs + coordinates + pie charts continue to generate.
- Shared restrained visual palette is registered and preview output contains actual colour fills.
pie_chart_anglesremains available but is marked Extension/text fallback.
Regression boundary — PASS
Compared against the full v1.20 repository. These public/stable files are byte-for-byte unchanged:
_pages/99-club.mdassets/99club/app.jsassets/99club/generator.jsassets/99club/pdf-layout.jsassets/99club/simple-pdf.jsassets/99club/qr-lite.jsassets/99club/99club.css
The new pie script is loaded only by _pages/99-club-custom.md.
Visual inspection
Representative pupil and answer PDFs were rendered and inspected for:
- Core interpretation;
- construction circles;
- two-chart comparison;
- estimation;
- reasoning/explanation;
- Extension money/scoring/fraction questions;
- answer-key legend spacing.
A context-title mismatch found during visual inspection (Sandwich choices paired with generic reading-choice labels) was corrected by adding explicit named datasets for context-specific questions.
Browser environment limitation
The container’s Chromium process does not terminate reliably when navigating local file:// or localhost test pages, so an end-to-end DOM click-through could not be certified here. This is an environment limitation, not a detected JavaScript page error. The module has instead been exercised through the same generator/SVG/PDF functions used by the Custom Worksheet route. A hard-refresh browser deployment check is still recommended.