Fix GPT-5.5 Pro skeleton-watch mainspring crash (fractional tube segments)

createSpiralTube passed Math.max(96, turns * 38) as TubeGeometry's
tubularSegments, yielding fractional counts (5.8 -> 220.4, 6.4 -> 243.2).
TubeGeometry's trailing generateSegment indexes the Frenet-frame arrays
with that count, hits undefined and reads .x, throwing a TypeError that
aborts init and leaves the page stuck on the loading overlay forever.
Round the count to an integer; documented in the run note.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jesse ZhangandClaude Opus 4.8 committed 2026-06-19 00:50:11 +01:00
1 parent 7eaac09dc0
commit 6b5c5aba25
2 files changed
+3 -3

No files matched your search

@@ -757,7 +757,7 @@
function createSpiralTube(turns, r0, r1, radius, material, z = 0, phase = 0) {
const curve = new SpiralCurve(turns, r0, r1, z, phase);
const geo = new THREE.TubeGeometry(curve, Math.max(96, turns * 38), radius, 8, false);
const geo = new THREE.TubeGeometry(curve, Math.max(96, Math.round(turns * 38)), radius, 8, false);
const mesh = new THREE.Mesh(geo, material);
return mesh;
}