Happy covers bring more guests. Walkouts cost three times what a smile earns.
The kind of place this is. It sets what you may charge.
Career total. Never caps. Better hires unlock as it climbs.
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. Reputation is "will guests come?".
Standing is the kind of place this is: menu level plus decor plus fast service, minus a takeaway hatch. It is not a score to grind. It answers "what can this room charge?". The marker on the price bar is that number.
Fame is the career total. It never caps. Better recruitment channels unlock as it climbs, so a well-run room starts attracting better people.
You do not add a waiter. You post a notice, an advert or a recruiter, pay the search fee, and pick one of three people. Each has a name, a wage, a signing cost and three stats. A cheap stayer is not a worse star; they are a different bet.
You open with soup, salad and pasta. Chefs get ideas while they cook. When someone has one, you can spend ingredients and take them off the line to try it. It can fail. Failure teaches, then the kitchen needs a couple of cafe hours before the next try. Nothing is guaranteed. Then you decide whether the dish goes on the card.
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.
Reputation stops at 100, and so does the demand it brings. A new recipe, a better hire 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.