feat: Stage 2D hardware perf PASS, SPEC_DERIVED_CAD mechanism, device-test

Measure GTX 1080 matrix (A/B/C 60 FPS p95~17ms); selective CAD shadows and
DPR 1.25; ship SPEC_DERIVED_CAD sorter mechanism GLB/STEP; add /device-test;
document domain blocker and phone NOT_TESTED.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Даня Архипов
2026-07-30 13:01:44 +00:00
parent 68327635ce
commit 014a46077d
53 changed files with 1614 additions and 53 deletions

View File

@@ -109,7 +109,15 @@ export function ConveyorCadModel({
if (!mesh.isMesh) return;
const name = mesh.name || mesh.parent?.name || '';
mesh.material = materialFor(slotFor(name));
mesh.castShadow = shadows;
// Stage 2D: shadow casters limited to large structure (not every roller/bolt).
const cast =
shadows &&
(name.startsWith('static-frame/') ||
name.startsWith('conveyor-belt/') ||
name.startsWith('stop-gate/') ||
name.startsWith('inspection-frame/') ||
name.startsWith('motor-and-drive/'));
mesh.castShadow = cast;
mesh.receiveShadow = shadows;
// Force opaque even if a future GLB embeds transparent materials.
const mat = mesh.material as THREE.MeshStandardMaterial;