feat: finish Stage 2B continuous sorter realism and local deploy

Unify CAD conveyor on / and /details, add RealSense D435i + contact paddle
physics, keep items moving through scan, lock 7×10 drop validation, and
ship Stage 2 artifacts with production on :3100 (permanent HTTPS still blocked).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Даня Архипов
2026-07-30 12:00:09 +00:00
parent 40e9b18e8d
commit acc59ec912
81 changed files with 2530 additions and 878 deletions

View File

@@ -119,6 +119,15 @@ function AppContent() {
};
}, [demoDirector.isAutoDemoRunning, demoDirector.paused, activeScenario, simulation.currentItem?.classification.category]);
// Public page autostarts the sorter loop; ?playback=paused keeps it idle
// (used by screenshot/debug tooling).
useEffect(() => {
const params = new URLSearchParams(window.location.search);
if (params.get('playback') === 'paused') return;
setPlayback((prev) => (prev.status === 'idle' ? startPlayback(prev) : prev));
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
// Main page continuous playback loop
useEffect(() => {
if (playback.status !== 'running') {
@@ -278,6 +287,7 @@ function AppContent() {
path="/details"
element={
<DetailsPage
playback={playback}
simulation={simulation}
demoStepIndex={demoStepIndex}
demoDirector={demoDirector}