diff --git a/packages/frontend/src/AgentSprite.jsx b/packages/frontend/src/AgentSprite.jsx
index 4cc927e..8b4a68e 100644
--- a/packages/frontend/src/AgentSprite.jsx
+++ b/packages/frontend/src/AgentSprite.jsx
@@ -132,24 +132,22 @@ export default function AgentSprite({ agent, hovered, onHover }) {
/>
- {/* Agent name label — hover only (per design-critique-1 Issue 3, P1) */}
- {hovered && (
-
- {agent.name}
-
- )}
+ {/* Agent name label */}
+
+ {agent.name}
+
{/* Hover tooltip */}
{hovered && (
diff --git a/src/frontend/FarmCanvas.jsx b/src/frontend/FarmCanvas.jsx
index 237a08c..fd0edc1 100644
--- a/src/frontend/FarmCanvas.jsx
+++ b/src/frontend/FarmCanvas.jsx
@@ -54,16 +54,13 @@ function TileSprite({ tileCol, tileRow, x, y }) {
}
// Render a single furniture item: an element clipped to one tile
-function FurnitureItem({ tileName, tx, ty, w, h }) {
+function FurnitureItem({ tileName, tx, ty }) {
const t = TILE_INDEX[tileName];
if (!t) return null;
- const tw = w || 1;
- const th = h || 1;
- const clipId = `clip-f-${tx}-${ty}-${tw}-${th}`;
return (
-
-
+
+
);
@@ -247,7 +244,7 @@ export default function FarmCanvas() {
{/* Furniture from tile set */}
{tileStyle.furniture.map((f, fi) => (
-
+
))}
{/* Doorways */}
diff --git a/src/frontend/src/tileLoader.js b/src/frontend/src/tileLoader.js
index b43ca72..98e89ba 100644
--- a/src/frontend/src/tileLoader.js
+++ b/src/frontend/src/tileLoader.js
@@ -38,154 +38,68 @@ export const TILE_INDEX = {
};
// Per-room tile style assignments
-// furniture: array of { tile: TILE_INDEX key, tx: room-relative x, ty: room-relative y, w?: width in tiles, h?: height in tiles }
-// Room dimensions (from officeMap.js): briefing 7x5, commons 7x5, warroom 7x5, engineering 7x5, quiet 7x5, ops 7x5
-// All rooms are 7 wide x 5 tall in tile coordinates
-
+// furniture: array of { tile: TILE_INDEX key, tx: room-relative x, ty: room-relative y }
export const ROOM_TILE_STYLES = {
briefing: {
floor: 'floor_light_wood',
wall: 'wall_inner',
- // Conference room layout: central table, chairs around it, AV setup at front
furniture: [
- // Central conference table (spans 3 tiles wide)
- { tile: 'conf_table', tx: 2, ty: 1.5, w: 3, h: 1 },
- { tile: 'conf_table', tx: 2, ty: 2.5, w: 3, h: 1 },
- // Chairs around the table
- { tile: 'chair_down', tx: 1.5, ty: 1.5 }, // left side
- { tile: 'chair_up', tx: 1.5, ty: 2.5 },
- { tile: 'chair_down', tx: 5.5, ty: 1.5 }, // right side
- { tile: 'chair_up', tx: 5.5, ty: 2.5 },
- // Monitor/screen at front
- { tile: 'monitor', tx: 3.5, ty: 0.5 },
- // Plants for ambiance
+ { tile: 'conf_table', tx: 2.5, ty: 2 },
+ { tile: 'chair_down', tx: 1.5, ty: 2.5 },
+ { tile: 'chair_up', tx: 5.7, ty: 2.5 },
{ tile: 'plant', tx: 0.5, ty: 0.5 },
- { tile: 'plant', tx: 6.5, ty: 0.5 },
- // Whiteboard
- { tile: 'whiteboard', tx: 6.5, ty: 3.5 },
],
},
commons: {
floor: 'floor_modern',
wall: 'wall_inner',
- // Lounge layout: seating area, coffee station, bulletin board
furniture: [
- // Sofa cluster (two facing sofas)
- { tile: 'sofa', tx: 1, ty: 1.5 },
- { tile: 'sofa', tx: 2.5, ty: 1.5 },
- // Coffee table between sofas
- { tile: 'conf_table', tx: 1.5, ty: 2.5, w: 2, h: 1 },
- // Standing desk / counter area
- { tile: 'desk', tx: 5, ty: 1.5, w: 2, h: 1 },
- { tile: 'desk', tx: 5, ty: 2.5, w: 2, h: 1 },
- // Decoration
- { tile: 'plant', tx: 0.5, ty: 3.5 },
- { tile: 'whiteboard', tx: 6.5, ty: 0.5 },
- // Reading nook
- { tile: 'bookshelf', tx: 6.5, ty: 3.5 },
+ { tile: 'sofa', tx: 1, ty: 1.5 },
+ { tile: 'sofa', tx: 1, ty: 2.5 },
+ { tile: 'desk', tx: 4, ty: 2.5 },
+ { tile: 'plant', tx: 0.5, ty: 0.5 },
+ { tile: 'whiteboard', tx: 5, ty: 0.5 },
],
},
warroom: {
floor: 'floor_dark_wood',
wall: 'wall_inner',
- // Command center: large central table, wall screens, command chairs
furniture: [
- // Central war table (large, spans 4 tiles)
- { tile: 'conf_table', tx: 1.5, ty: 1.5, w: 4, h: 1 },
- { tile: 'conf_table', tx: 1.5, ty: 2.5, w: 4, h: 1 },
- // Command chairs
- { tile: 'chair_down', tx: 1, ty: 1.5 },
- { tile: 'chair_down', tx: 5.5, ty: 1.5 },
- { tile: 'chair_up', tx: 1, ty: 2.5 },
- { tile: 'chair_up', tx: 5.5, ty: 2.5 },
- // Wall-mounted monitors
- { tile: 'monitor', tx: 0.5, ty: 0.5 },
- { tile: 'monitor', tx: 3.5, ty: 0.5 },
- { tile: 'monitor', tx: 6.5, ty: 0.5 },
- // Equipment rack
- { tile: 'cabinet', tx: 6.5, ty: 3.5 },
+ { tile: 'conf_table', tx: 2.5, ty: 2 },
+ { tile: 'chair_down', tx: 1.5, ty: 3 },
+ { tile: 'chair_up', tx: 5.5, ty: 3 },
+ { tile: 'monitor', tx: 0.5, ty: 1.5 },
],
},
engineering: {
floor: 'floor_tile',
wall: 'wall_inner',
- // Dev workspace: rows of desks with monitors, gear, books
furniture: [
- // Workstation row 1
- { tile: 'computer_desk', tx: 1.5, ty: 1.5 },
- { tile: 'computer_desk', tx: 3.5, ty: 1.5 },
- { tile: 'computer_desk', tx: 5.5, ty: 1.5 },
- // Monitors above desks
- { tile: 'monitor', tx: 1.5, ty: 0.5 },
- { tile: 'monitor', tx: 3.5, ty: 0.5 },
- { tile: 'monitor', tx: 5.5, ty: 0.5 },
- // Workstation row 2
- { tile: 'computer_desk', tx: 1.5, ty: 3 },
- { tile: 'computer_desk', tx: 3.5, ty: 3 },
- { tile: 'computer_desk', tx: 5.5, ty: 3 },
- // Chairs
- { tile: 'chair_down', tx: 2, ty: 2.5 },
- { tile: 'chair_down', tx: 4, ty: 2.5 },
- { tile: 'chair_down', tx: 6, ty: 2.5 },
- { tile: 'chair_up', tx: 2, ty: 3.5 },
- { tile: 'chair_up', tx: 4, ty: 3.5 },
- { tile: 'chair_up', tx: 6, ty: 3.5 },
- // Reference books and gear
- { tile: 'bookshelf', tx: 0.5, ty: 0.5 },
- { tile: 'bookshelf', tx: 0.5, ty: 3.5 },
- { tile: 'plant', tx: 6.5, ty: 4.5 },
+ { tile: 'computer_desk', tx: 2.5, ty: 2.5 },
+ { tile: 'monitor', tx: 3.5, ty: 2 },
+ { tile: 'chair_down', tx: 3, ty: 3.5 },
+ { tile: 'bookshelf', tx: 0.5, ty: 0.5 },
],
},
quiet: {
floor: 'floor_rug',
wall: 'wall_inner',
- // Reading/relaxation zone: comfortable seating, books, soft lighting
furniture: [
- // Central sofa / reading area
- { tile: 'sofa', tx: 2.5, ty: 1.5, w: 2, h: 1 },
- // Side table / reading desk
- { tile: 'desk', tx: 2, ty: 2.5 },
- { tile: 'chair_up', tx: 2, ty: 3.5 },
- // Bookshelves lining walls
- { tile: 'bookshelf', tx: 0.5, ty: 0.5 },
- { tile: 'bookshelf', tx: 6.5, ty: 0.5 },
- { tile: 'bookshelf', tx: 0.5, ty: 2.5 },
- { tile: 'bookshelf', tx: 6.5, ty: 2.5 },
- // Plants and ambiance
- { tile: 'plant', tx: 4.5, ty: 0.5 },
- { tile: 'plant', tx: 0.5, ty: 4.5 },
+ { tile: 'sofa', tx: 2.5, ty: 2.5 },
+ { tile: 'bookshelf', tx: 0.5, ty: 0.5 },
+ { tile: 'plant', tx: 5, ty: 0.5 },
],
},
ops: {
floor: 'floor_tile',
wall: 'wall_inner',
- // Operations center: multi-console setup with central visibility
furniture: [
- // Main ops desk row
- { tile: 'desk', tx: 1, ty: 1 },
- { tile: 'desk', tx: 1, ty: 2 },
- { tile: 'desk', tx: 1, ty: 3 },
- // Secondary ops row
- { tile: 'desk', tx: 3, ty: 2 },
- { tile: 'desk', tx: 3, ty: 3 },
- // Monitoring station
- { tile: 'computer_desk', tx: 5, ty: 2 },
- { tile: 'computer_desk', tx: 5, ty: 3 },
- // Wall monitors
- { tile: 'monitor', tx: 0.5, ty: 0.5 },
- { tile: 'monitor', tx: 3, ty: 0.5 },
- { tile: 'monitor', tx: 5.5, ty: 0.5 },
- // Chairs at consoles
- { tile: 'chair_down', tx: 2, ty: 1.5 },
- { tile: 'chair_down', tx: 2, ty: 2.5 },
- { tile: 'chair_down', tx: 2, ty: 3.5 },
- { tile: 'chair_down', tx: 4, ty: 2.5 },
- { tile: 'chair_down', tx: 4, ty: 3.5 },
- { tile: 'chair_up', tx: 6, ty: 2.5 },
- { tile: 'chair_up', tx: 6, ty: 3.5 },
- // Infrastructure
- { tile: 'cabinet', tx: 6.5, ty: 0.5 },
- { tile: 'cabinet', tx: 6.5, ty: 1.5 },
+ { tile: 'desk', tx: 2, ty: 2 },
+ { tile: 'desk', tx: 2, ty: 3 },
+ { tile: 'desk', tx: 4, ty: 2 },
+ { tile: 'desk', tx: 4, ty: 3 },
+ { tile: 'monitor', tx: 2.5, ty: 1.5 },
+ { tile: 'chair_down', tx: 3, ty: 2.5 },
],
},
};