Claude/determined mendel j4a8 k - #2
Open
chadsmithptd wants to merge 22 commits into
Open
Conversation
Bare Three.js prototype with: - 8-machine isometric shop floor with dept heat-map coloring (green→amber→red) - Timeline scrubber (today → 6 weeks) with play/pause animation - What-if sidebar: add evening shift, move job, schedule downtime - Mutations instantly recompute utilization; downstream cascade effects modeled - CSS2D floating queue badges above each machine showing live utilization % - Overloaded machines pulse red; dept floor regions glow by area color - serve.py: minimal static server for local iteration https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
Switches from ES module imports to Three.js r148 UMD via cdnjs. OrbitControls and CSS2DRenderer inlined. No server or bundler needed. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
…file:// Eliminates all external dependencies. Fixes 'Class constructor cannot be invoked without new' by replacing prototype-chain CSS2DObject with proper class extends THREE.Object3D syntax. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
- Sparkline canvas on each machine badge: 42-day utilization curve with today marker - Click any machine -> drawer slides up with 3 panels: 1. Full 42-day load chart with spike annotations and heat coloring 2. Downstream impact: which machines get starved and at what load % 3. Fix options comparison: do nothing / add shift / move job / both, showing days-over-85% reduction https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
- Shop Health score (0-100) + Jobs On-Time (X/8) in drawer header - Delta indicator shows pts gained vs base schedule - Fix options are draggable sliders: tune shift hours 0-12h, move job 0-100% - Each option previews its +health / +jobs badge before you commit - Floor heat map + timeline chart update in real-time as you drag - Drawer mutations are non-destructive: closing resets to pre-drawer state https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
- Each fix is a card you toggle on/off — inactive cards are dimmed - Fix types: Overtime (slider), Move Job (toggle), Split Job (slider), Downtime (slider) - Slider only visible/active when card is toggled on - Badge shows score preview regardless of active state - Debounce (280ms) on all slider input events prevents browser overload - Floor and score update only after drag settles https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
…agging - Drag handle at top of detail drawer lets user resize it up/down - Sankey-style tube pipes connect machines following DOWNSTREAM map, with animated particles traveling along the paths; colors update with utilization heat - Click-drag any machine body to reposition it on the floor; flow pipes rebuild on drop - Flows ON/OFF toggle button in header https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
- Left job list panel (220px) shows all jobs with name, due day, qty, and source machine - Clicking a job highlights its machine path in 3D (dims unrelated machines) and shows a mini utilization chart with due-date band, peak load, days at risk, and machine path string - Clicking the selected job deselects and restores full view - Flow pipes filter to only show connections touching the active machine when a machine drawer is open; all pipes restore on drawer close https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
The animation loop was unconditionally setting visible=showFlows on every particle and all flowObjects each frame, clobbering applyFlowFilter's work. Fixed by tracking _activeFlowFilter and having animateFlowParticles respect both showFlows and the active filter when setting particle visibility. Tubes/cones are now only toggled by applyFlowFilter, not the animation loop. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
applyFlowFilter now accepts null (show all), a string (single machine), or a set object (keyed by machineId). Selecting a job calls applyFlowFilter with the job's full machine set so only pipes on that job's path show. Deselecting restores all pipes. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
Moved detail drawer from position:fixed into the CSS grid as a proper row. The grid gains a 'drawer' row between canvas and scrubber; #app.drawer-open sets that row to 240px. Scrubber is always visible below the drawer. Close button now removes drawer-open from #app (was toggling a height class on the drawer element itself, which had no effect after the CSS refactor). Drag-to-resize now adjusts grid-template-rows directly. Canvas renderer resizes after drawer open/close animation completes. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
CSS grid row collapsing was unreliable (0px row still rendered). Reverted drawer to position:fixed with bottom:80px so it floats above the always-visible scrubber. Close/open toggle .open on the drawer element directly. Drag-to-resize adjusts drawer height directly. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
Each of the 42 days is rendered as a color-coded column (green→amber→red based on the worst bottleneck that day). Bar height also scales with utilization so spikes are immediately visible. Week boundaries have tick marks with date labels. Clicking any column jumps to that day. Selected day shows a white cursor. Hover shows a date tooltip. Timeline redraws on schedule recompute and window resize. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
Bar height and color now reflect average utilization across all machines, giving a true sense of overall shop load. A dashed white line runs above the bars showing the single worst machine each day. Red dots on the line mark days where the worst machine crosses the 85% critical threshold. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
Toggles body.light class which overrides all CSS variables to a light blue-grey palette. Also updates the Three.js scene background and fog color, and redraws the 2D canvas elements. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
Bug fix: machine drag now calls setPointerCapture/releasePointerCapture so releasing the pointer over the drawer no longer leaves dragState stuck and controls.enabled=false. Added pointercancel handler as safety net. New features: - Building walls (4 sides with cyan glow strips at top) - ⚙ Config modal with 3 tabs: add/remove machines, resize floor, reassign job work centers. Apply rebuilds 3D scene, grid, and walls live. - 4th column in detail drawer: "Transfer Work Center" lists jobs on the open machine with a dropdown + Move button to instantly reassign them, adds a moveJob mutation, and updates the schedule and job list. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
…CR bars Theory of Constraints: - Auto-identify the system constraint (machine with highest avg utilization) - ◆ CONSTRAINT badge pulses red on that machine's 3D label - Alert toast when the constraint shifts to a different machine Immediate sensory feedback: - Web Audio API synthesizes tones on every lever pull — ascending arpeggio for health gains, sawtooth drop for losses, fanfare for achievements - Score floater (+N health / -N health) animates up from header on each change Undo stack (Ctrl+Z or U key): - Every mutation is snapshotted before it's applied - Undo button in header, keyboard shortcuts - Removes fear of experimentation — core to flow state Achievement system (8 unlocks): - First Move, Bottleneck Buster, On-Time Champion, World Class (80+), Elite Scheduler (90+), Clean Week (7-day streak), Constraint Solved, Undo Master - Toast slides in from top-right with emoji + description Critical Ratio bars on job cards: - CR = remaining time / estimated remaining work - Green/amber/red fill shows which jobs are at risk before they miss due dates - Updates every time day or schedule changes Mission strip in header: - 4 live goals: Health 80+, all jobs on time, 7-day streak, fix the constraint - Check marks fill in as goals are achieved Streak counter: - Consecutive bottleneck-free days from today - Visual progression: cold → warm (3+) → hot/fire (7+) https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
Extends horizon from 42 to 91 days (~3 months). Adds 10 more jobs spanning the full window (near, mid, and long-term). Forecast panel (📦 button in header): - Slides up over the 3D canvas from the bottom - Summary row: on-time / at-risk / late counts + max days late - Sort by due date, status (worst first), or machine - Filter to show all / late only / at-risk+ - Per-job Gantt rows: 91-column utilization heatmap, white due-date pin (▼), dashed projected-delivery line (green if early, red if late), today cursor in amber - Click any row to jump to that machine's detail drawer - Re-renders live when you pull levers Projection logic: walks forward day by day accumulating free capacity (1 - utilization) until enough is banked to complete the job load; compares that completion day to due date for days-early/days-late. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
Broken ternary used single-quote-delimited strings containing single quotes, causing a JS parse error that prevented the entire script block from executing — blank canvas, no jobs, nothing rendered. Fixed by replacing the broken one-liner with a plain if/else block. https://claude.ai/code/session_01Xr3aGziV6jQNoWzjHry7ti
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.