1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# Implementation progress — PLAN.md
The user asks for educational 3D graphics for eight subjects. PLAN.md is the
subject specification; no separate design or implementation spec exists.
Ruling: Implement the eight subjects as selectable experiments in the existing
Three.js app, sharing a scene host and parameter/readout interface. This gives
each topic an interactive visual immediately. The models are idealizations,
explained in the UI, rather than general field/circuit/quantum solvers.
Ruling: Continue in this directory because `.git` is an empty managed mount,
not a usable Git repository; worktree/commit scripts cannot run here.
Pre-flight: Potential and energy share Coulomb models; capacitance and
permittivity share a parallel-plate model; current and semiconductors share
carrier constants. All physics functions use SI units and rendering handles
unit conversion and illustrative scales.
- Baseline: existing 3 physics tests pass.
- [x] Electrostatics: charge/force/field, flux, energy, potential/gradient.
- [x] Matter/circuits: capacitance, dielectrics, current, semiconductors.
- [x] Eight experiment definitions and educational UI.
- [x] Eight 3D scenes, interaction, animation, cleanup.
- [x] Tests, browser checks, build, README.
Implementation:
- Electrostatics complete: force/field, exact enclosed-charge flux (surface
singularity disclosed), interaction energy/work, potential and probe gradient.
- Matter/circuits complete: parallel plates, fixed-V/fixed-Q dielectrics,
Ohmic wire with signed drift, intrinsic/n/p silicon equilibrium/bands.
- UI and eight scenes complete: independent settings, deep links/history,
reset, pause/reduced motion, responsive layout and WebGL fallback.
- Renderer rebuilds are coalesced; obsolete GPU resources are disposed.
- Visual inspection: field, potential, capacitance and semiconductor screenshots
checked. Labels changed to stable screen sizes for readability.
Final review: fresh read-only reviewer approved the current implementation;
no Critical or Important findings.
- Model direction-only capacitor-arrow disclosure was already added during
implementation and resolves the reviewer's corresponding suggestion.
- Final: minor (deferred): browser pause test verifies the state/button;
pixel comparisons proving actual animation cessation are not yet included.
- Final: minor (deferred): finite-difference potential-gradient unit test covers
one charge along x; add multiple sources/off-axis components when expanding.
- Build has a non-fatal Three.js bundle-size advisory (~598 kB minified,
~153 kB gzip). No deployment or code-splitting requirement in PLAN.md.
Final verification: 20/20 unit tests, 10/10 Chromium browser tests, strict
TypeScript and Vite production build pass after the final label adjustment.
All eight scenes were checked for rendered geometry and browser exceptions.
The app remains served on http://localhost:5173. No Git integration action
was available or required in this non-repository workspace.
|