Each chef
menu + decor + service − hatch
Your room carries 1.00×.
Dishes
What's selling
Service log
Customers seat themselves. A waiter takes the order to the pass, a chef reads the ticket and cooks, the waiter runs the plate back, the customer eats and leaves cash, the waiter collects it. Your only inputs are how many staff you pay and where the furniture goes.
In Build, drag a piece to carry it. Or tap it once for nudge arrows on the four neighbouring tiles: teal moves into a free tile, amber trades places with whatever is already there. Dragging empty floor pans the camera; two fingers zoom.
Trade is earned. Serve people before their patience runs out and reputation climbs, which brings more of them. Let someone walk out and it falls three times faster than one happy cover raises it.
Standing is your menu's own level, plus decor and fast service, minus a takeaway hatch. The Menu sheet names the band (chip shop through tasting menu) and prints that sum. Price above what your standing carries and trade falls off a cliff. Below it and you get a small bargain bump. The marker on the price bar is where your tolerance sits.
You open with soup, salad and pasta. Everything else is locked. Tap a locked dish to put a chef on it; they leave the line and spend chef-seconds working the recipe out, then it lands on the menu. Cheap plates are quick. Duck and scallops take a cafe hour or more.
Each chef remembers what they have cooked. The more plates of one dish, the shorter that dish takes, down to a 45% saving. A narrow menu compounds. Fire a chef and that memory goes with them. The Staff sheet shows stars per chef.
Reputation stops at 100, and so does the demand it brings. A new recipe or a chef who has mastered the pass are what still move the room after that.
Volume: a cheap wide menu, hatches for passing trade, lots of staff, thin margins. Premium: a short expensive menu, planters, no hatch, few staff, fat margins and a much smaller market. Both work. They need completely different rooms.
In Build, the teal strips outside the walls add a row or column of floor for 140 DKK a tile. North and west shift the whole room so the door stays on the west wall.
Perks unlock as your all-time cover count climbs, and they survive a stats reset. Long Arms is the one that fixes a waiter stuck on the wrong side of a long table.
Tiles of staff walking spent per customer served. Payroll shifts it a little; where you put the pass counter relative to the tables shifts it a lot. It is the only number here that responds purely to layout.
The room, the till, the menu and the staff live in this browser. Refresh and they are still here; anyone mid-meal has gone. Staff → New cafe wipes the run.
sim.js imports nothing and knows nothing about pixels: grid, pathfinding, state machines, wages. render.js holds every Pixi call. The sim runs headless in node, and Pixi could be swapped out without touching the game.