Skip to content

Scale all furniture to 4x size (#15)#17

Merged
stedrew merged 11 commits intomainfrom
feature/furniture-scale-4x
Apr 10, 2026
Merged

Scale all furniture to 4x size (#15)#17
stedrew merged 11 commits intomainfrom
feature/furniture-scale-4x

Conversation

@stedrew
Copy link
Copy Markdown
Contributor

@stedrew stedrew commented Apr 10, 2026

Summary

All hospital furniture MODEL_SCALE values multiplied by 4x so equipment is more visible and proportional to the FBX wall/floor tiles.

Test plan

  • Typecheck passes
  • Visual check: furniture fits within rooms at the new size

🤖 Generated with Claude Code

stedrew and others added 11 commits April 9, 2026 23:00
All MODEL_SCALE values multiplied by 4 so hospital furniture is
more visible and proportional to the FBX wall/floor tiles.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previous 4x was too large. Now at 2/3 of 4x = ~2.67x original.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Places all reception/waiting room items from the Hospital FBX pack
inside the waiting_room zone:

  - Reception desk (curved, near the top edge facing the room)
  - Receptionist chair behind the desk
  - PC Monitor + Keyboard on the desk
  - Phone on the desk
  - Cactus on the desk
  - Magazine table(s) in the centre of the waiting area
  - Plant in the bottom-left corner
  - Small plant in the top-right corner
  - Garbage can near the entrance
  - TV mounted on the side wall
  - Bookshelf against a wall
  - Exit sign above the entrance

All items are FBX models from the Hospital interior pack — no custom
assets. Placement is procedural based on the zone bounding box.

New Decoration helper component for placing any FBX model at an
arbitrary position/rotation/scale.

16 new FBX models copied to public/models/hospital/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Moved reception desk + PC setup to the very top edge of the
  waiting room (minY + 0.5) so it no longer overlaps with the
  waiting chairs at rows 8-13.
- Repositioned magazine tables between the chair rows in the
  centre of the room.
- Added MODEL_Y_ROTATION config: waiting_room_chair gets -PI/2
  rotation so all chairs face the right wall where the TV is.
- FurnitureModel now applies per-type Y rotation on top of the
  Z-up→Y-up correction.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Reception desk back to minY + 1.5 (original correct position,
  inside the room instead of in the wall).
- Waiting room chairs rotated +PI/2 instead of -PI/2 so they face
  toward the TV (right wall) and exit (bottom edge).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Added MODEL_OFFSET config: waiting_room_chair gets [+3, 0, 0] so
chairs move from columns 1,3 to columns 4,6 — closer to the TV
on the right wall. FurnitureModel now applies per-type position
offsets on top of the parsed tile coordinates.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Root cause: the parser emits 12 individual waiting_room_chair tiles
but the FBX model (H_Chair_Clients) is a multi-seat bench (~1.8m
wide). Placing one bench per tile created a mess of overlapping
furniture.

Fix:
- waiting_room_chair is now excluded from the per-tile Furniture
  renderer (DECORATION_HANDLED_TYPES set).
- ReceptionDecorations places exactly 3 bench rows in the centre
  of the waiting room, spaced 2 tiles apart vertically, rotated
  to face the TV on the right wall.
- Magazine tables placed between the bench rows on the right side.
- Removed the MODEL_OFFSET and MODEL_Y_ROTATION hacks — all
  positioning is now explicit in ReceptionDecorations.
- Reception desk stays at minY + 1.5 (correct position, clear of
  the chairs which start at cz - 2 ≈ 10.6).

Layout summary (waiting room 0,7 → 7,18):
  y ≈ 8.5:  Reception desk + PC + phone + cactus
  y ≈ 10.6: Chair row 1 (facing TV)
  y ≈ 12.6: Chair row 2 (facing TV) + magazine tables
  y ≈ 14.6: Chair row 3 (facing TV)
  y ≈ 17.5: Plants, garbage, exit sign

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Plant pulled 1.5 tiles inward from the corner so it doesn't
  clip into walls (was at minX+0.5, now at minX+1.5).
- Small plant moved next to the reception desk instead of the
  wall corner.
- Bookshelf pulled 1.5 tiles from the left wall and rotated to
  face inward (was at minX+0.4 with default rotation).
- Garbage can moved inward from the exit wall.
- Exit sign pulled slightly inside the room boundary.
- All decoration scales slightly reduced to avoid overlap.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Plant, bookshelf, garbage, and TV were still clipping into walls.
Moved everything 3 tiles inward from zone edges to guarantee
clearance from the FBX wall models.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replaced 3 bench rows with 2 rows of 6 individual chairs:
- Row 1 (left): faces right toward the TV
- Row 2 (right): faces left, opposite row 1
- 1.2-tile spacing between chairs in each row
- 2.5-tile aisle between the two rows
- Magazine tables sit in the aisle between rows

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Complete rewrite of ReceptionDecorations placement:

- Reception desk scaled to 0.7x (was 1x, too large)
- Exactly 1 bench per side (was 6 per side = 48 seats)
- All scale multipliers removed — everything at base FBX_SCALE
- All items positioned at least 2 tiles from walls
- Clear zone separation: desk area (z 8-9), seating (z 10-16),
  entrance (z 17-18)
- Plant, garbage, bookshelf all well inside room boundaries

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@stedrew stedrew merged commit 3e2e8a7 into main Apr 10, 2026
3 checks passed
@stedrew stedrew deleted the feature/furniture-scale-4x branch April 10, 2026 05:33
stedrew added a commit that referenced this pull request Apr 10, 2026
- Add demo video link to README (#14)
- Add Phase 1 React + Three.js 3D floor plan viewer (#15, #16)
- Replace Kenney furniture with hospital FBX models
- Fix furniture scale and rotation
- Use Hospital pack FBX models for walls and floors
- Scale all furniture to 4x size (#17)
- Pin Playwright to 1.49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant