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.

Rendering of the finished room from the doorway: the lower loft on the left, the storage stair in the centre, the upper loft on the right, walls in Aesthetic White
From the doorway · the model, not a photograph · walls SW 7035, ceiling SW 7005, pine as it comes off the rack

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.

Walls · matte
SW 7035 Aesthetic White
#E2DCD1 · LRV 73
Ceiling · flat
SW 7005 Pure White
#EDECE6 · LRV 84
An independent check on every colour. A paint's published light reflectance value is the Y of its colour in CIEXYZ, so recomputing it from the hex is a genuine test that the number is right. Colours that fail it are badged, not hidden.

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.

Both loft beds seen from the east, the storage stair between them
From the east · the lower bed at 40⅝", the upper at 6015⁄16", the stair running 14" past the lower bed's foot to buy its run
Orthographic elevation of the storage stair: a triangle of open cubbies of varying height, the crawl space at the bottom left
The grid is the stair · one cell = one run wide × one rise tall, so every divider lands under a riser and every shelf lands under a tread. The storage and the structure are the same pieces
Looking through the crawl space under the stair from the cave under one bed into the nook under the other
The crawl space · 229⁄16" × 21¼" straight through the base of the stair, on three 2x4 headers — the cave under one bed joins the nook under the other. The headers land on the tunnel's own plywood walls, so there is no blocking in it at all
Looking down the stair from the upper landing
From the top landing · nine risers of 63⁄4", treads of 10½" plus a nosing — 11¼", the first version of this stair to clear the 10" code minimum
Inside the space under the lower loft, looking at the open cubbies in the stair's side
Under the lower bed · the cave: the stair's south face is open cubbies the whole way, and the crawl space is the pale opening at the far end
Under the upper loft: the north face of the stair, a lattice of cubbies of varying height
Under the upper bed · the nook: the same lattice on this face, and the desk running out along the right-hand wall
The closet with its French doors open into the room: a column of crates at one end, two rods, two floor crates, a top shelf
The closet · French doors open; one column of crates, a 52" hanging bay with a child-height rod and a seasonal rod, the top shelf kept under the door head so it can be seen. That was an earlier design: the closet as built puts four crates in the middle with a rod each side
High overview of the whole west wall from the room's opposite corner
The whole wall · from the opposite ceiling corner
The desk running along the window wall, its open knee bay centred under the window, a crate cubby to the left and the bookcase turning the corner on the right
The desk under the window · the open bay is 38" wide and lands dead on the window's centreline — because its two side panels are set flush with the outside of the window casing, not measured from the middle
The bookcase filling the wall beside the closet doors: three bays, five rows of books, a plinth matching the room's baseboard
The bookcase · three bays, twelve adjustable shelves, 29 feet of book. Its top is the closet door's head height, so one line runs round the corner — and nothing is cut to a ceiling nobody has taped yet
Crouched inside the space beneath the upper loft, looking along the desk toward the west wall
The desk in the cave · it runs right under the bed to the far wall; 32¾" of air over the top, and the top is notched around the two posts that hold the loft up
The whole room from the south-east corner: both loft beds and the stair on the left, the desk along the window wall, the bookcase down the right-hand wall
All of it · beds and stair on one wall, the desk on the second, the bookcase on the third — and the fourth is the door
Room12'-11" × 13'-1", 9' ceiling
Frames43½ × 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
Decks6015⁄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
StairRebuilt 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
Storage45 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
Closet18 more crates, one rod at child height and one seasonal
Stair structurethe 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
FasteningGlue 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
Railingsdesigned — 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
Desk97¾" 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 case70 × 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
Stock2x4, 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
The picture is the review, and this is what it caught. A second model was asked to attack the new stair and found seven real faults; the worst was that the dividers were 84 identical 6¼" segments and a shelf cut to the clear cell lands between them, so every divider above the first bore on half an inch of air while the file called them structural. The headline — one part, repeated — was buying a stair that did not stand up. Then the side view caught what no checker could: nine risers drawn the wrong way up, standing on the treads like fins. A collision test cannot see that, because a fin standing on a tread is perfectly well supported. So the side view is now generated from the same pieces the cut list counts — a drawing made from a second source can lie about the first, and this one had been.
The good dimensions are borrowed, not chosen. The desk's open bay is 38" wide because its side panels sit flush with the outside of the window casing — which puts the bay exactly on the window's centreline without anyone aiming at it. Its other panel lands on the post that holds the loft up. The bookcase stops at 80" because that is the closet door's head height, so one line carries round the corner; it is deliberately not run to the ceiling, because the ceiling height is still derived from a measurement of the window rather than taped. A number you can point at beats a number you liked.
And one number is still open, on purpose. A desk top wants to sit at roughly 0.43 × the user's standing height — 30" for a six-foot adult. This one is 24", which suits somebody about 56" tall. The children have not been measured, so it is held at a height that is deliberately a little ahead of them: a desk that is too tall is fixed that afternoon with a taller chair and a footrest, and one that is too low needs a saw. It is one parameter, and a tape measure closes it.

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.

Seven renders in sequence: corner posts, deck frames, decks, the stair carcass, the stair fitted out, and the desk and bookcase
The build, in seven pictures · posts, frames, decks, then the stair carcass and its fit-out — from three fixed cameras, so each step lines up with the last. The model is rebuilt from the cut list every time a number changes, and the sequence re-renders itself

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.

Exploded side view of the stair: every piece pulled off its seat and labelled with its cut size, in the order it goes in
The sheet it is being built from · every piece pulled off its seat and labelled with its cut size, in the order it goes in — the crawl space first, then the tallest column, down to the toe. It is drawn from the cut list's own pieces, so it cannot disagree with them
  1. 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.

  2. 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.

  3. 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.

  4. 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.

Generated side view of the storage stair: continuous dividers in red, shelves in green, treads and risers in tan, the crawl space at the bottom left
The side view · drawn from the cut list's own pieces, not from a second idea of the stair — red is a divider, green a shelf, tan the pine. The numbers in the cubbies are what they measure
Section through the stair looking north: the lattice of cubbies, the treads and risers, the crawl space with its three headers, dimensioned
Section through the stair · the same pieces again, with the room around them — the upper bed beyond, the ceiling, the rise. ⭐ It draws the stair's own geometry rather than a second copy of it, which is exactly why the previous one had gone stale
Plan of the room, north up: the two beds, the stair between them with a divider on every grid line, the crawl space, the window and the door
Plan · both beds on the west wall, the stair between them — each bar across the slot is a continuous divider on a grid line, the bar down the middle is the centre divider, and the numbers are tread tops
  1. 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.

  2. 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.

  3. 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.

  4. 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.

Under the upper loft: the north face of the stair, a lattice of open cubbies
Under the upper bed · the nook: the stair's north face is cubbies the whole way — and the desk runs out along the right-hand wall

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
Send a room
jacob@moraineworks.com (715) 523-1435 Shell Lake, Wisconsin — rooms anywhere a photo can come from