Task 582: Extract Geometry Helpers from Browser-Only Viewer to Testable Module
未着手 ← タスク一覧
Task 582: Extract Geometry Helpers from Browser-Only Viewer to Testable Module
Status: DONE
Description
orbital-3d-viewer.js contains geometry helper functions that are untestable
because they depend on Three.js (browser-only). The pure-math logic can be
extracted to orbital-3d-viewer-data.ts and tested in Node.js:
arcControlPoint(from, to)→ compute Bezier control point at angular midpointarcControlPointLocal(from, to)→ lateral offset for local scenesoffsetFromPlanet(point, otherPoint, planetName, sceneType)→ displace arc endpoint from planet center
The viewer.js will import these from the data module (via plain [x,y,z] arrays)
and convert to Three.js Vector3 at the call site.
Files
ts/src/orbital-3d-viewer-data.ts— add exported geometry functionsts/src/orbital-3d-viewer-data.test.ts— add tests for geometry functionsts/src/orbital-3d-viewer.js— call data module functions instead of local copies