diff --git a/src/features/retro-office/RetroOffice3D.tsx b/src/features/retro-office/RetroOffice3D.tsx index fda55aa..1a54d8a 100644 --- a/src/features/retro-office/RetroOffice3D.tsx +++ b/src/features/retro-office/RetroOffice3D.tsx @@ -7157,81 +7157,85 @@ export function RetroOffice3D({ ) : null} - {/* Ideas 3 + 6 + 8: Mini status bar — bottom left. */} -
- {/* Idea 3: Activity feed entries — newest on bottom. */} - {statusFeedEvents - .slice(0, 4) - .reverse() - .map((ev) => ( -
- {ev.name} - {ev.text} -
- ))} - {/* Ideas 6 + 8: Gateway status, agent counts, vibe score. */} -
- - {agents.filter((a) => a.status === "working").length} working - - · - - {agents.filter((a) => a.status === "idle").length} idle - - · - - {agents.filter((a) => a.status === "error").length} error - - {/* New Idea 6: Vibe score with animated EQ bars. */} - {(() => { - const workingCount = agents.filter( - (a) => a.status === "working", - ).length; - const ratio = workingCount / Math.max(agents.length, 1); - const label = - ratio < 0.2 ? "quiet" : ratio < 0.6 ? "active" : "buzzing"; - const animDur = ratio < 0.2 ? "1.8s" : ratio < 0.6 ? "1s" : "0.5s"; - return ( - <> - · - + {/* Ideas 3 + 6 + 8: Mini status bar — bottom left. */} +
+ {/* Idea 3: Activity feed entries — newest on bottom. */} + {statusFeedEvents + .slice(0, 4) + .reverse() + .map((ev) => ( +
- {[0.6, 1, 0.7].map((h, i) => ( - - ))} - - {label} - - ); - })()} - {!editMode && !spaceDown && ( - <> - · - - drag · scroll · space+drag · dbl-click + {ev.name} + {ev.text} +
+ ))} + {/* Ideas 6 + 8: Gateway status, agent counts, vibe score. */} +
+ + {agents.filter((a) => a.status === "working").length} working - - )} - {spaceDown && ( - <> · - pan mode - - )} -
-
+ + {agents.filter((a) => a.status === "idle").length} idle + + · + + {agents.filter((a) => a.status === "error").length} error + + {/* New Idea 6: Vibe score with animated EQ bars. */} + {(() => { + const workingCount = agents.filter( + (a) => a.status === "working", + ).length; + const ratio = workingCount / Math.max(agents.length, 1); + const label = + ratio < 0.2 ? "quiet" : ratio < 0.6 ? "active" : "buzzing"; + const animDur = ratio < 0.2 ? "1.8s" : ratio < 0.6 ? "1s" : "0.5s"; + return ( + <> + · + + {[0.6, 1, 0.7].map((h, i) => ( + + ))} + + {label} + + ); + })()} + {!editMode && !spaceDown && ( + <> + · + + drag · scroll · space+drag · dbl-click + + + )} + {spaceDown && ( + <> + · + pan mode + + )} +
+
+ + ) : null}