RU19 Space Planner — user guide

A tool for working out what furniture and crowd RU19 can hold, what it would cost, and how each scenario plays out. Built for the iOi team at RU19, King's Cross.

Quick start — 1, 2, 3, you're up and running

  1. Pick a scenario. In the left sidebar, click any scenario (e.g. "5. School workshop"). The room fills with the right people and a starting furniture layout.
  2. Tweak the room. Drag furniture to move it. Click an item and press R to rotate, Delete to remove. Open the Furniture section in the sidebar to add more pieces — click a piece, then click in the room to drop it.
  3. Set a price. In the Revenue panel, type a £ amount and pick a mode (per person, flat fee, etc.). The Readouts at the bottom show live revenue, capacity, staff ratio, and total cost.

That's the whole loop. Switch scenarios with the buttons — each scenario remembers its own layout and pricing. Save your work to a file with the "Save to file" button under the Scenarios list and send it to a coworker. The sections below go deeper on every feature.

Contents

What this is for

RU19 is one room — 66 m², 60-person legal cap, no mezzanine. The planner lets you:

The interface at a glance

The sidebar (left) is where you make changes. The canvas (right) is the room. The top header switches between Top-down and 3D, and there's a Showcase render toggle for screenshots.

Sidebar sections

Scenarios — how layouts move between them

Each scenario remembers its own layout and pricing. The key idea is that furniture carries between scenarios on first visit, but personas don't. This lets you design a furniture set once and see how it serves every crowd.

First-visit rule

The first time you click a scenario, the app:

  1. Keeps whatever furniture is currently in the room (drops your current people).
  2. Adds that scenario's scripted personas (e.g. 30 children + 3 teachers for "School workshop").
  3. Saves this as that scenario's starting state.

If the room is empty when you click — i.e. you've never customised anything — the scenario falls back to running its scripted layout as a starting suggestion.

Subsequent visits

Once a scenario has a saved state, clicking it restores that state literally. Switching back and forth between scenarios is safe — your edits in each are preserved separately.

Example workflow. Arrange Retail browsing. Switch to Toddler — same furniture, toddler personas. Notice you want mats. Add them in Toddler, save. Switch back to Retail — your mats don't appear there (they're a Toddler decision). To add them to Retail, you do so manually. Each scenario is its own world after the first visit.

Furniture — placing, moving, rotating, deleting

Placing

  1. Click a piece in the Furniture sidebar. A translucent ghost follows your cursor.
  2. Click in the room to drop it. The app keeps placing — click again to drop another.
  3. Press Esc to exit placement.

Moving

Left-click and drag any placed item to move it. Right-click drag is reserved for orbiting the camera (in 3D). The mouse wheel zooms.

Rotating

Select an item (left-click it) and press R to rotate 90° around the vertical axis. Repeat to cycle through four orientations. R also works on the ghost during placement.

Tipping a mat against a wall

Foam mats have two extra orientations beyond the four yaws: tipped flat against a wall running along X and tipped against a wall running along Z. Press R through the cycle until the mat stands vertical with its broad face the way you need.

Deleting

Select and press Delete (or Backspace). Landlord pieces (counter, plinth) can also be deleted — they live in the catalog under "Landlord-supplied" so you can re-add them.

Tooltips

Hover any catalog item to see footprint, cost (rough estimate unless a supplier source is set), flexibility rating, supported workshop stages, and notes.

People — types, staff, the 1:6 ratio

Six person types. Drop them in by hand; the personas placed by scenarios are just suggestions you can edit.

TypeNotes
Adult1.70 m. 0.60 m personal-space radius. Counts toward supervision.
Teen (11–15)1.55 m. Counted as "child" for the staff ratio.
Child (6–10)1.25 m. Counted toward the staff ratio.
Toddler (3–5)1.00 m. Counted toward the staff ratio.
Wheelchair userSeated 1.30 m, 0.70 × 1.20 m chair footprint inside a 1.50 m turning circle. Counts as an adult.
Staff memberTrained staff (green swatch). Not counted as a paying visitor. Drives the staff ratio.

Staff ratio

The Staff readout shows the current count and the minimum required for the people on the floor. Rules:

Under-staffed scenarios show the Staff line in red with "(need N more)". This is advisory — the planner doesn't block placement.

Pricing & revenue

Each scenario stores its own pricing. The Revenue panel lives above the readouts and shows you what you're configuring.

Price lines

Each line is a £ amount + a mode:

Click "+ add line" to stack multiple revenue streams (e.g. ticket fee + retail sales). The Revenue readout sums them.

Pricing variants

The "Variant" dropdown at the top of the Revenue panel lets you save multiple price configurations for the same scenario. Useful for comparing "Weekday rate" vs "Weekend rate" on the same furniture layout. "+ new variant" prompts for a name. The "× delete" button only appears once you have more than one variant.

Manual counts

"Families present", "Items sold", and "2-for-1 items donated" are scenario-level inputs that appear only when a price line uses the corresponding mode. They're shared across that scenario's pricing variants.

Readouts — what each number means

ReadoutMeaning
Free floorNIA minus obstacles (column, electrical cupboard) minus built furniture. Personas don't subtract from this.
Comfort capacityFree floor ÷ 1.5 m²/p. How many people fit comfortably given the current furniture. Turns red when exceeded.
Legal maxPeople on floor / 60. Landlord-imposed regulatory cap. Turns red if exceeded.
People on floorTotal persons placed (all types including staff).
StaffStaff / required. See the staff ratio rules above. Turns red when under-staffed.
Display depthClear sight-distance from the shopfront inward to the nearest sightline-blocking item.
Furniture itemsCount of placed furniture (excludes landlord pieces and personas).
Total costSum of furniture costs (excludes landlord and personas).
Avg flexibilityAverage flex score of placed furniture (each piece has a 0–10 rating).
RevenueSum of all price lines in the active pricing variant. With charity sub-figure when applicable.

Save & share

Two layers of persistence:

"Load from file" replaces all current state after a confirm prompt.

Default starting state. First-time visitors who land on the planner with no localStorage will see a curator-prepared default project (loaded from default-project.json shipped with the app). Their subsequent edits are saved locally and don't affect anyone else.

Keyboard shortcuts

KeyAction
RRotate selected item (or ghost during placement). For mats: cycles through 4 yaw + 2 vertical-tip orientations.
Delete / BackspaceRemove selected item.
EscCancel placement / clear selection.
TToggle top-down view.

Plus: left-click to select or drag, right-click drag to orbit (in 3D), mouse wheel to zoom.

Tips & gotchas