All modules are registered in frontend/src/modules/registry.ts and validated server-side.
| UI Component | Topic | CPA Stage | Status |
|---|---|---|---|
Base10Blocks |
Place value | Concrete → Pictorial | Implemented |
FractionWall |
Equivalent fractions | Pictorial | Implemented |
NumberLineEstimator |
Number lines | Pictorial → Abstract | Implemented |
ColumnMethod |
Written addition/subtraction | Pictorial → Abstract | Implemented (partial scaffolding) |
LongMultiplication |
Written multiplication | Abstract | Implemented |
BODMASSequencer |
Order of operations | Abstract | Implemented (single-equation hardcode) |
TimesTables |
Multiplication facts | Abstract | Implemented |
AnalogClock |
Time | Concrete | Implemented (slider controls, not drag-hands) |
ShapeMatrix |
Shape classification | Pictorial | Implemented (Carroll mode) |
PerimeterAreaGrid |
Perimeter and area | Concrete | Implemented (area count mode) |
LiveGraphBuilder |
Charts and graphs | Pictorial | Implemented |
PictogramBuilder |
Pictograms | Pictorial | Implemented |
FractionVisualizer |
Fraction shading | Concrete | Implemented |
Drag blocks from bank into Hundreds/Tens/Ones columns. Scaffold hints on first incorrect attempt. Uses @dnd-kit/core.
Tap tiles across rows; extension phase asks for three typed equivalent fractions.
Click to place marker; server scores with 5% / 10% tolerance bands (partial credit at 0.5).
Right-to-left digit entry with carry boxes for addition. Subtraction exchange UI is simplified.
Step-by-step equation reduction. Currently hardcoded for the seeded 5 × (3 + 4) − 8 ÷ 2 question — see gaps doc.
Timed input with configurable limit from question config.
Konva-rendered face with hour/minute range sliders (snaps per question config).
Carroll diagram drag-and-drop sorting for quadrilateral / right-angle criteria.
Click-to-count grid squares for area; perimeter trace mode uses same grid.
Build bar chart from table, then answer interpretation questions.
Place star symbols with half-symbol support for scaled pictograms.
Shade parts of a bar to match target fraction.