Rooms · the boys' room
A room, modelledbefore it was painted.
A 13-by-13 bedroom for two boys: repainted, then fitted with two built-in loft beds, a storage stair, a closet, a window package, an eight-foot desk and a wall of bookshelves. Every piece was modelled beside the room's real walls, painted at the real paint's value, and cut from lists the model generated — and every change of mind was re-rendered before a board was cut.
This is the shop's own house, done first. It is also what a Moraine Works room job looks like when it is yours.
01 · The paint
The colour is the number.
Ask an image generator for “Aesthetic White” and it paints something Aesthetic-White-ish. That is worse than useless when somebody is about to buy ten gallons. Here the wall is recoloured to the paint's own value and the room's light is kept, so what you see is what comes out of the can — and the render is measured back off its own pixels to prove it.
02 · The built-ins
Two lofts, a stair that is a cupboard, and nothing drawn by hand.
One wall is 157 inches long and two beds and a real stair have to fit on it — a stair, not a ladder, because a four-year-old climbs down at two in the morning. The frames are the mattress plus its clearances; the stair is what the wall has left; its run is whatever runs 14" past the lower bed's foot. The steps are the shelving: one cell is one run wide by one rise tall, so every divider lands under a riser and every shelf lands under a tread — 45 of them — and a crawl space runs straight through the bottom of the flight from the cave under one bed to the nook under the other.
That took the west wall. The other two got the rest of the room's work: an eight-foot desk along the window wall that starts inside the cave under the upper bed, and a wall of bookshelves beside the closet. Neither of them has a dimension anybody chose by eye — see below.












| Room | 12'-11" × 13'-1", 9' ceiling |
|---|---|
| Frames | 43½ × 84" outside, sized for a twin XL; today's twin mattresses leave 5" at the foot for stuffed animals. Built as legged tables: four doubled 2x4 corner posts, a 2x4 top plate flat across each pair, a 2x4 deck frame on edge |
| Decks | 6015⁄16" and 40⅝" — a whole number of risers each, and both built and measured on 15–16 September. The lower one was built first and measured, the stair's rise was cut to it because that deck is the tread you step off, and the upper platform — cut to a delta off the lower rather than to an arithmetic total — came out at 6015⁄16 on the tape. ⭐ Then the plywood turned out to be 15⁄32, not ½ (taped 19 September) — and the heights did not move, because they had been read off the finished decks rather than summed from a sheet. A height measured off a finished surface beats a caliper on the stock; the thickness only re-cut the carcass that had not been built yet |
| Stair | Rebuilt around the rise and the run, 17 September. 98" long (14" past the lower bed's foot), 29" wide — the slot measured between the two finished platforms; 9 risers × 63⁄4", 8 treads × 10½" run at 32.8°. With the ¾" nosing that is an 11¼" tread — the first version of this stair to meet the 10" code minimum, which every earlier one was knowingly under |
| Storage | 45 cells in the stair — a cell is 9⅛ × 65⁄16" clear and 14¼" deep, and leaving a shelf out makes two of them one, so the cubbies vary on a lattice that does not. ⚠ No crate fits it: a 16 qt needs 13½" of width. That is the price of making the grid the stair instead of the crate, and it is paid on purpose — the crates moved to the east-wall case (30) and the closet (18), which is more than the stair ever held |
| Closet | 18 more crates, one rod at child height and one seasonal |
| Stair structure | the storage is the structure: the grid lines carry the treads. ⭐ Each one is a three-ply laminate column (19 September) — a continuous spine that guarantees the load path and takes the riser, plus an upright each side, broken at every shelf, that the shelf lands on: deck → upright → shelf → upright → shelf. A single continuous divider carried the load but gave a shelf nothing to sit on, so all 32 hung on screws driven into a plywood edge. The shelf is therefore cut 10" for a 9" cell — the lap is the bearing. Each tread is pine on a plywood tread shelf, and a deck runs the whole length underneath, so everything stands on it |
| Fastening | Glue and 18ga nails, not screws (19 September) — and the laminate is what makes it right: with the load on bearing, a fastener is a clamp holding a glue joint shut while it cures, not a connector. It deleted some 700 pilot holes into plywood edges. ⚠ The rule that replaced them is a safety rule, because every ply-on-ply joint has an open cubby on the far side: measure the stack, then pick a fastener shorter than it. Screws stayed at the four joints that are not bearing — the ties into the two bed frames, which are the carcass's only racking path |
| Railings | designed — two slat screens, one either side of the stair, each with its bed's deck entry as its only opening — and deliberately not shown here yet. The pictures on this page are the decks and the stair |
| Desk | 97¾" along the window wall × 24" deep, top at 24"; three bays — 43½" in the cave, a 14" crate cubby, 38" under the window |
| East-wall case | 70 × 14 × 80" tall on the same module: 5 columns × 6 levels = 30 cells, each one a crate or a cubby — it is the same box, and books stand in whichever stay empty. An 8" display band on top. It grew from 11¼" deep because 11¼ never took a 13" crate |
| Stock | 2x4, pine 1x, and eleven sheets of 15⁄32" BCX (sold as ½) — the stair is one thickness throughout. Every piece on a generated cut list, and the whole of it is published as a build sheet |
03 · In construction
The bench keeps correcting the drawing.
The beds went up first, and they moved the stair. The lower bed was built as a legged table and its frame top measured 401⁄8", so the deck landed at 40⅝" — and that deck is the sixth tread. Every riser in the flight was re-derived from a tape measure rather than from the drawing: nine at 625⁄32". A quarter inch of plywood moves every step. The 3D model was corrected the same afternoon from a photograph of the corner — four doubled corner posts with a plate laid flat across each pair, not the eight studs on a floor plate it had been drawn with.
Then the stair itself was redesigned, twice. The first version was pitched to a 16 qt dairy crate. The second threw that away: one cell is one run wide by one rise tall, which is what made the steps and the shelving the same pieces. The cost is that no crate fits it any more — a cell gives 9" of width and a crate needs 13½" — so the crates moved to a wall case and the closet, where there are now more of them than the stair ever held. A review the next morning found seven real defects in the new design; the three that moved numbers were a stack of dividers with no load path, a tread that needed a plywood shelf under it, and a pair of headers drawn twice as wide as the 2x4s they are.
The materials changed too, and always towards what was actually in the shop. The decks went from ¾" ACX to ½" BCX. On the morning the stair carcass went up, every 1x2 in it became a 2x2 — “I don't have 1x2's, I have 2x2's and 2x4's and ½ bcx plywood” — and then the shelving became a three-ply laminate and deleted both: eighteen cleats and two ledgers went with it. Every grid line is now a continuous spine with an upright each side, so a shelf lands on wood instead of hanging on six screws driven into a ½" plywood edge. That took the carcass from 121 pieces to 219 and from seven sheets to eleven — and gave back the modularity it had spent: 116 uprights in eight sizes, 36 of them the same rectangle.
- 01
As-built beats as-drawn
When a measurement and a file disagree, the file changes. The lower deck was measured, and nine risers were derived from it — not the other way round.
- 02
Design around the constraint that is real
The crate was a constraint nobody had checked. Designing around the rise and the run instead cost every crate in the stair and bought a flight that meets code.
- 03
Build from what is on the rack
A drawing that calls for stock you do not have is a trip to the store. 1x2 became 2x2 the morning it mattered, and the laminate then removed the need for either.
- 04
A wrong picture is worse than no picture
The railings are designed and cut-listed, and they are deliberately left out of these renders until the carcass is standing — because this is what the build is checked against.
04 · The method
Every change of mind, re-rendered.
In one evening the beds were resized for twin XL mattresses, the stair was steepened to end at the lower bed's foot, and one bay of crates was closed to the room. The next day the closet was redesigned twice, a desk and a wall of bookshelves were added, and the stair was redesigned twice more — once around the crate, then once around the rise and the run, which is the one that worked. Each was a number changed in a design script. The cut lists, the drawings and the pictures regenerate themselves in about a quarter of an hour, the 3D model is built from the cut list's own resolved geometry rather than a second copy of it, and a checker asks that geometry two questions before anything is printed: does any pair of pieces occupy the same volume, and does every piece have something under it.



- 01
The room, measured
The architect's PDF becomes measured 3D walls, openings and cabinets. A tape measure replaces the plan's numbers as they are checked — this wall was 157", the plan was right; the window was not.
- 02
The paint, at its real value
Every room rendered in the candidate scheme with its own light kept, so a colour is judged where it will live, not on a chip.
- 03
The built-ins, as a script
Every dimension named. Change the mattress and the frames, the stair, its whole grid of cubbies and the guards follow, with the safety rules asserted rather than remembered.
- 04
Cut lists, drawings, a shopping list
Parts by stock, sheet packing, lumber and hardware, drawn plans and sections — generated, so they cannot drift from the model. Then the build order, one render per stage.
05 · Live
Move the mattress. Watch the room follow.
The loft beds are on the live models page, drawn in your browser from the cut list's own numbers. Change the mattress size, the wall length or a deck height and see what it costs you in stair width, headroom and crates — the same trade-offs a review page carries on a real job.

06 · The offer
Your room, the same way.
Send photographs, a floor plan if you have one, and a tape measure's worth of numbers. What comes back is the room, modelled: paint options at their real values, built-ins drawn to your walls, and a private review page where each option carries what it costs. When you have chosen, the cut lists, drawings and shopping list are yours to build from — or to hand to a carpenter you trust.
What you get
A flat fee per room, quoted before anything starts.
- The room modelled from your photos, plan and measurements
- Paint schemes rendered at the real colour's value, with the numbers checked
- Built-ins and storage drawn to your walls — beds, closets, shelving, window trim
- A private review page: options side by side, your notes left on the page
- Cut lists by stock, sheet packing, lumber, hardware, a shopping list
- Drawings you can build from, and a build sequence one render at a time
What this is not
Saying so up front is part of the service.
- Not a painting crew and not a build crew — the drawings, the numbers and the pictures
- Not a decorator's mood board — if a colour is shown, it is the paint's own value
- Not structural or code sign-off; a bunk-bed stair is furniture, and the page says so
- Not a substitute for a tape measure — the plan gets checked, always