Once at full size in the machine, where moving a wall costs an afternoon.
Then on site, where it costs a season.
A studio demo. Plumbline is an invented practice, the scroll is real work.
See how it was built.
Scroll to walk it
4projects a year, and no fifth
340surfaces measured off real samples
40 mmof century-old lean absorbed at Bell House
1model handed to every trade
01 of 05
Eye level
The walk starts where a person stands: at the desk, shelves either side, the chair
turned as if someone just left it. Sightlines fail at eye level long before they fail
in plan.
How Frame 1 to 60 of 348. The camera height was set in Scrubforge, exported at 4K, and served here as WebP.
02 of 05
The plan is the argument
Then the camera lifts, and the room stops being a mood and becomes a set of
decisions: where the circulation runs, what the storage costs in square feet, which
wall is allowed to move. This is the drawing that gets signed.
How The lift is four keyframes with eased position and rotation, sampled by one function the preview and the export share.
03 of 05
The cutaway
Coming back down, one wall stays off and the light stays set for four in the
afternoon in November, the worst hour this site gets. The client stands in the room
before the framing crew does.
How Nothing plays. Scroll position picks a frame index and the canvas draws it, which is why you can crawl the move backwards.
04 of 05
Materials that behave
Walnut, lime plaster, unlacquered brass. Each surface is measured off a real sample,
so what reflects here reflects on site. The brass will go dull inside a year. We show
the client that version too.
How Blender materials over an MCP bridge, exported as GLB. glTF stores light in lux, so imported intensity is divided by 683.
05 of 05
One file, handed over
The same model goes to the joiner, the electrician and the insurer. Nobody spends
the last week of the job reconciling three sets of drawings that disagree.
How Frames arrive in three passes, every twelfth first, so the scrub works after about 2 MB and sharpens while you read.
Astoria, Oregon
Most offices draw a building and hope. We model it, light it, walk it, and
draw it last. The order is the whole method: by the time a sheet leaves this room, somebody
has already stood in the one it describes.
Practice
01
Architecture
New work and additions, mostly houses, mostly under three thousand square feet. We
carry a project from feasibility through the last site visit, and we are there for the
punch list.
02
Interiors and joinery
Built-ins, casework, and the parts of a room a contractor would otherwise improvise on
a Friday. Shop drawings come straight out of the model, so the joiner and the drawing
never disagree.
03
Visualization
Stills, walkthroughs, and scroll pieces like the one at the top of this page. We make
them for our own projects and for other architects who need a room to exist a year
before it does.
04
Survey and as-built
Scan to model, for renovations. An old house is never square. Pretending otherwise is
exactly why the cabinets arrive with a quarter inch of daylight behind them.
Selected work
Astoria, Oregon2025
Bell House
A 1908 ship chandlery with one floor turned into a study and library. The original fir
floor stayed. Almost nothing else did.
Naselle, Washington2024
Quarry Road
A small house on a grade steep enough that the survey took two days. The stair was
argued out in the model and settled before the excavator was booked.
Portland, Oregon2026
Ninth Street, Room 4
One room for a client who reads. Nine hundred linear feet of shelf, worked out at eye
level first and priced second.
A plan is a promise about how a person will move through a room. We would rather test
the promise while it is still cheap to break.
What leaves the office
One model, exported for the people who need it. No re-drawing between stages, which is
where dimensions usually go wrong.
Delivery formats by recipient
Format
Goes to
Set at
glTF 2.0 / GLB
Client review, web
PBR materials, punctual lights, single file
FBX
Joiner, metal shop
Named parts, textures unpacked
DWG
Permit set
1/4 in = 1 ft, layered to AIA
IFC 4
Structural, mechanical
Rooms, levels and materials mapped
H.264, all keyframes
Scroll pieces
1440 px, 30 fps, seekable to the frame
Studio
Plumbline is two architects and a modeler, working out of the old chandlery
on Duane Street with a view of the bridge and, most mornings, none of the river.
We take four projects a year. The fifth is always the one we should have declined.
Registered in Oregon and Washington. Founded 2019. We answer the phone between nine
and five, and we are usually on a site somewhere between those hours, so leave a
message and say which room you mean.
About this page
Plumbline does not exist. The scroll does.
There is no practice in Astoria, no Bell House, no phone number that rings. I invented
the whole studio so a scroll-scrub demo would have a believable page around it instead
of grey placeholder boxes. Every project, client and number above is made up.
What is real is the technique: the room, the camera move, the encode and this page were
built by Ulric, and the same approach ships on client work.
The roomModelled in Blender, driven through an MCP bridge from Claude Code, exported as a GLB that carries its own lights and materials.
The moveAuthored in Scrubforge, a keyframe tool I wrote for this: splined camera position and rotation, hand-set easing, one sampler shared by preview and export.
The frames348 renders at 4K, compressed to WebP at 2560 px, with a 1280 px set for phones. No video element anywhere on this page.
The pageOne HTML file. No framework, no GSAP, no CDN. Scroll position picks a frame, a canvas draws it, and three loading passes fill in the detail behind you.
Note 03
The cutaway
The first model of any project is deliberately incomplete. One wall comes off so the
client can see in, and the sun is set to the hour the room will be used, not the hour that
flatters it. For Bell House that meant four in the afternoon in November, when the light
comes off the river sideways and dies in about twenty minutes.
It is cheaper to be disappointed here. Moving the shelving wall in the model took an
afternoon and one conversation. The same move after framing would have cost most of a
season and a change order nobody enjoys signing.
How this page does it
There is no video element on this page. Scroll position picks a frame index and a canvas draws that image, which is why you can crawl the move backwards a pixel at a time and it never stutters or buffers mid-motion.
Plans lie about height. A shelf that reads as generous on paper can put a book at five
foot ten, which is fine until the person who owns the book is five foot two. So the camera
in every review model is locked to a real standing height and walked along the route a
person will actually take.
On this project the walk found two problems in ten minutes: the desk faced a blank return
wall, and the door swing cut the only comfortable path to the window seat. Both were free
to fix in March.
How this page does it
The camera height in this move was set on a timeline in Scrubforge, a tool I wrote for exactly this: load a model, drop camera keyframes, drag the playhead, watch the walk. What you are scrolling is that timeline sampled 348 times and rendered at 4K.
Every material in the model comes off a physical sample we hold: a walnut offcut from the
joiner, a plaster tile from the plasterer's own wall, a brass strip left on a windowsill
for six weeks to see how fast it goes. Roughness and reflectance get measured rather than
dialled in until the render looks nice.
This matters most with metal. Unlacquered brass in a render is almost always too bright,
because it is modelled the day it was polished. We show clients the six-week version
alongside it, and about half of them change their mind, which is the point.
How this page does it
Blender runs an MCP server, so the room was built by conversation: describe it, get geometry back, look at a viewport screenshot, adjust. Materials are PBR values carried in the exported GLB. Two traps cost me an hour: glTF has no area lights, and it stores intensity in lux rather than watts, so an imported rig arrives dark until you divide by 683.
Looking straight down strips out the atmosphere and leaves the decisions. Circulation
becomes a measurable width. Storage becomes a number you can put a dollar figure against.
The wall you were fond of turns out to be carrying the roof, or not.
Everything upstream of this view is persuasion. Everything downstream is construction.
The plan is where the project stops being a conversation and starts being a contract, so
it is the last thing we let anyone rush.
How this page does it
Going up to plan is four camera keys with splined position and rotation and hand-set easing. One sampler function turns the timeline and a time value into a scene state, and the preview, the exporter and this page all call it, so there is no second implementation to drift.
At handover the joiner, the electrician, the structural engineer and the client's insurer
all receive an export of the same model, cut to what each of them needs. Nobody is working
from a PDF that was current in April.
The saving is not really in drafting hours. It is in the last three weeks of a job, when
a discrepancy between two sets of drawings normally surfaces and somebody has to eat the
difference.
How this page does it
The hero is 348 WebP frames, 2560 px wide on a desktop and 1280 on a phone. They load coarse to fine: every twelfth frame first, which is about two megabytes and already enough to scrub, then every fourth, then the rest, filling in behind you while you read this.
The chandlery had settled about forty millimetres east over a century, and none of it was
visible until the scan came back. Building the shelving square to the room would have left
a wedge of light at the top of the tallest run.
We built the case work square to the floor instead and absorbed the lean in a scribe
strip against the plaster. It cost eleven extra shop hours and it is the reason the room
reads as calm.
Invented, on purpose
This project never happened. Plumbline is a practice I made up so the scroll demo would have a real page around it instead of grey boxes. The room, the move and the page are real work; the client is not.
The slope gave us two plausible stairs: a straight run against the retaining wall, or a
quarter turn that landed further into the house. On paper they were within a few thousand
dollars of each other.
Walking both in the model made the choice obvious in under an hour. The straight run put
you facing a blank wall at the top, every single time you came up from the car.
Invented, on purpose
This project never happened. Plumbline is a practice I made up so the scroll demo would have a real page around it instead of grey boxes. The room, the move and the page are real work; the client is not.
The client asked for as much shelf as the room would hold. The room would hold rather
more than the client could reach, so the question became where the useful nine hundred
linear feet sits and what happens above it.
Above it, as modelled, is a plain plaster band and a picture rail. The books stop at six
foot four and the room gets its height back.
Invented, on purpose
This project never happened. Plumbline is a practice I made up so the scroll demo would have a real page around it instead of grey boxes. The room, the move and the page are real work; the client is not.