bldg

Browser editor guide

The browser editor runs in the page, with nothing installed: the Rust engine compiled to WebAssembly, in a worker. Signed out, your plan stays in your browser, and a link you copy carries the plan in its # part, which browsers never send to a server. Signed in, the plan you work on is saved to your account (Privacy).

It opens on the plan you had open last (this browser keeps it as you go), or on the plan of a link or ?example=. With nothing to reopen, it opens an empty plan in feet and inches; on a first visit a start hero over it asks What are we designing?: describe the house in its prompt (the assistant draws it; with no AI model connected yet it asks for a key and sends the request once connected), or Trace a floor plan image (pick or drop a scan or photo; the AI assistant traces it, asking for its key first). A quiet row offers Chat with the assistant (the empty plan with the assistant open), Start from a blank plan (New…) and Open an example (the two-story demo house, whose code problems are planted on purpose to show how the checks find them).

Controls

The header has:

Tools

The tool rail on the left of the plan keeps the everyday tools (Select, Wall, Door, Window, Room, Roof, Objects, Dimension, Text, Move, Copy, Rotate, Mirror) and puts Stair, Ramp, Ceiling area, Rail, Grid, Section, Align, Trim, Split and Scale under More; every tool keeps its key (its tooltip names it).

Sections

Section (SE) cuts the building along a line: click two points across it; the arrows at its ends show the side it looks at, the line's left as drawn (drawn left to right it looks north), and Space flips them before the second click. The section is marked on every floor plan it crosses (its line, a bubble with its number at each end), selected, and drawn in the Sections tab (shown while the plan has a section): the engine cuts the 3D model along the line, the walls, floors, stair and roofs cut solid or by their layers, what lies beyond seen behind them, with the floors and the ridge tagged; its Properties set its title, its depth (how far beyond the cut it shows) and Flip, and Open shows it; each change is one undo step.

Roofs

Roof (RF) roofs the building with one click inside it: the roof over its outline, its planes rising from the tops of the outer walls with the options bar's Form (hip, gable, shed, flat), Pitch (6:12, a rise per 12 such as 8, or degrees; empty: 6:12, 1:2 on a metric plan) and Overhang (empty: 1'-0", 500 mm); before the click the pointer shows the planes it would make (or says why it cannot there), and over a house that has its roof the click selects that roof instead. Pick walls roofs a wing: click the ring of walls around it (again: the wall goes; Backspace the last one), then Enter. The roof is selected: Properties sets its form, pitch, overhang and type, shows its plate (the top of the walls it bears on) and each plane with the wall it rises from, says whether it is the generator's (it follows its walls when they move) or edited by hand (Regenerate makes it the generator's again), and when partitions rise past the ceiling to it, Stop them at the ceiling stops them there; each change is one undo step. A roof is picked on its dashed line in its level's floor plan, on its planes in the Roof tab and in 3D.

Ceiling areas

Ceiling area (CE) draws a part of a room's ceiling at a height of its own: drag a rectangle inside the room, or click its corners and press Enter (or click the first one again; Backspace takes the last one back); it takes the room's ceiling height there, or the Height typed in the options bar, and is furred when lower. It switches the level to its reflected ceiling plan (and says so), where a click on an area selects it and a drag from inside it boxes, as from a room's floor (Stair, Ramp, Rail, Door, Window and placing a piece that stands on the floor switch back to the floor plan; a switch of view puts down a tool that draws in the other one); the selected area's sides are numbered as its slope names them: Properties sets its height, its form (main, furred, dropped, sloped) and a slope rising from one of its sides (rise:run, 4:12), Delete removes it, and the grips on its corners reshape it. A room's Properties lists its ceiling areas (Select, Delete; with none, + Ceiling area starts the tool) and marks its Ceiling (level) while it inherits the level's default (a room outdoors, semi-outdoor or exterior, inherits none: only its own ceiling and ceiling areas cover it); every change is one undo step, and the code checks (IBC 1208.2 and its furred and sloped ceilings) follow.

Views, tabs and scales

The view tools are Undo, Redo, Fit (+ / − on a touch screen), Image ▾ (the image under this level, a scan or photo of the plan to trace: Import image… puts one under it (PNG, JPEG or WebP; also by Open file…, by dropping it onto the canvas, or the empty plan's link) at a stand-in scale and opens the Scale tool; Replace image… puts another file in its place, keeping its place and scale when it has the same size, else its top-left corner with the scale following the width, assumed again; Re-attach image… brings back an image this browser does not keep; Scale… calibrates it; Trace with AI has the assistant trace it in place, the scale first (an empty plan of one level; disabled, with the reason, otherwise); the opacity; Show image (the Layers box Background image); Remove image, one undo step, refused while another level shows the image or the plan cites it), Layers ▾ (the layers and the plan detail: Auto follows the zoom; Nodes draws every wall end node, as the Room tool does; otherwise a node shows where it is in play: the ends of the wall hovered or selected, the node hovered, selected or dragged, the Wall tool's snap target and chain).

The view tabs Plan | Ceiling | Roof | Elevations | Sections | 3D (the viewer's too; RC switches between Plan and Ceiling; each level keeps the one it was shown in; Roof, the roof plan: every roof and canopy from above, shows while the plan has a roof or the Roof tool is on; Elevations draws the building from the north, east, south and west, and Sections each section line's cut, both from the 3D model, Sections once a section is drawn) have the view's scale beside them: each level's floor plan and reflected ceiling plan has its own (1:20 … 1:500, or 1" = 1'-0" … 1/16" = 1'-0" on an imperial plan, or Custom… 1:N), kept in the plan as one undo step; without one a view is drawn at the drafting standard's default, 1/4" = 1'-0" in the United States style, else 1:100. Texts, dimensions, tags and symbols are drawn at their paper size at that scale (2.5 mm notes, 3.5 mm or 1/8" room names), so zooming magnifies the drawing as it prints, with no minimum size on screen; under the drawing its title names the level, the view and the scale, with the level's finished floor and a scale bar. The floor plan marks each floor that is not at the level's finished floor with its elevation (±0.000, 2.980, -0.450; FF EL 9'-11 3/4" on imperial plans), counted from the building's ±0.000, and each sloped floor outside a ramp with an arrow down its slope (i=1%, 1%, 1/4" per ft).

Plan is the level's floor plan, Ceiling its reflected ceiling plan (RCP), the ceilings seen from above as a mirror on the floor would show them: each ceiling area hatched by its form (furred: a single hatch; dropped: the grid of a suspended ceiling, 2'-0" on imperial plans, else 600 mm; a sloped one dashed, with an arrow up its slope and its rise:run, 4:12 on imperial plans, else 1:run) and tagged with its height where the tag fits, off the room's name, each room's ceiling height under its name (CLG on imperial plans, CH otherwise; marked (level) on screen where the room inherits the level's, low – high where it slopes; none under a room outdoors without a ceiling of its own), the walls as cut, the windows by their frames and glass without their sashes or swings, the doors by their frames with the wall's two faces across the doorway above the head, the flights rising through the ceiling and the landings dashed, and only the components mounted on or in the ceiling (a type's mount: ceiling, pendant or recessed; the floor plan shows the others); no door / window tags, ramps or rails. Each level keeps its view (the editor remembers it for the next visit, after a rename too; the viewer for the page); Ceiling area and placing a type mounted on the ceiling switch to the RCP, Stair, Ramp, Rail, Door, Window and placing any other component to the floor plan, and a problem picked shows the view its element is drawn in; Export ▸ SVG, PNG and Print / PDF draw the view shown (an RCP file ends in -rcp; its heights without (level)), Flagged (once something is flagged: select it and Flag, or N) and ? (the keys).

3D

The 3D tab draws the building from the plan as a model in daylight, with soft shadows from the sun at the project's site (the bar's slider sets the time of day; the date and the zone follow the site's location in Settings). Drag to orbit, scroll to zoom, right- or middle-drag to pan, click a piece to name it; Fit frames the model. The bar under the model has Walk (a first-person walk through the rooms: WASD or the arrows, Q / E to turn, Esc to leave), Ceilings and Roof (each hides what the plan draws, to look into the rooms) and Inside: the floor you are on opened from above, its ceilings, its roof and every floor over it left out, shadows and all; it follows the Floors select, so picking another floor opens that one. Walking shows everything again. A click on a floor, a wall face, a door, a window, an object or a roof selects it, outlined, its materials in Properties (see Materials and looks).

Materials and looks

Every floor, wall, ceiling, door, window, roof and object is made of a material you can see and change. Nothing chosen, a surface shows the default for its room (a wood floor in a bedroom, tile in a bath) and says so: "(default)", muted. Properties has a Materials fold for a room (Floor, Walls, Wainscot, Baseboard, Ceiling; the parts of its floor and ceiling, each with Select and Delete, and + Part; under Objects in this room the room's cabinets, counters, appliances, faucets, furniture and upholstery), for a wall (one row per face, named by the room it faces: Toward BEDROOM 2, Outside), a door, a window, an object (one row per slot: a sofa's upholstery and legs) and a roof. Each row shows the material with a swatch drawn from the same texture as the 3D view and where it comes from ("(from the look)", "(KITCHEN's)", "(all 2 of this type)"); a click opens the one picker: the materials this plan already uses, then the library's that may go there, a search by plain words, a colour for paints and fabrics, and Back to default. For an object, choose first whether the change is for This one, All of its type or Everything in its room. Each change is one undo step, and the toast says it in words ("STUDY: the floor is now light oak.", with Undo).

A look is a whole-house set of materials (Warm modern, Modern farmhouse, Coastal, Classic, Craftsman, Desert modern). Change the look (in the assistant's message box when nothing is selected and no look is chosen, in the 3D bar while nothing is chosen, and in Settings ▸ Project info) shows each with three swatches; one tap applies it, no AI model needed, with the assistant's change card, Try another look and Undo. What you chose yourself for a room or an object stays, and the answer names it.

In the floor plan, Layers ▸ Materials (on by default) tints each floor with its material (paler where it is the default), outlines the parts of floors and marks where two materials meet at a doorway. With it on, a click on a part selects it: Properties shows its material, how it is placed (in front of a door, around fixtures, a border, one side of a line, a free shape) and its size; Delete removes it. + Part makes one by hand: pick its placement, then its material, then click a door, a window or a fixture (in front of), the fixtures (around: Shift-click more, Enter), the room (a border), two walls and the side (one side of a dividing line), or its corners (a free shape, Enter). In 3D a click selects what it hits: a floor its room, a wall that face, a door or a window, an object (with the slot it shows), a roof; it is outlined there, and Properties (or a phone's card) shows its materials. On a phone the card shows a room's Floor and Walls, an object's materials and a door's; the assistant changes them ("Change the floor", "Paint the walls").

Upper cabinets and range hoods

A kitchen the assistant designs or furnishes gets upper cabinets: when its counters, range and refrigerator stand, one step hangs them over the counters on the walls, lined up with the units below, 18" over the counter and up to the ceiling (a second row of doors above 42" under a high ceiling), with a range hood over the range and a deep cabinet over the refrigerator. None go across a window or a door, over an island or a peninsula, or on a glass wall, and the change card says so in one sentence. Ask for what you want instead: "no upper cabinets" (the hood stays; "no hood" removes it too), "30-inch uppers", "cabinets to the ceiling", "white uppers, navy lowers", "take the cabinet over the fridge out". When a later change leaves them no longer fitting (a refrigerator or a window added, a range moved), the card says so; "refit the upper cabinets" fits them again. A drawing you trace never gains them on its own.

In the plan they are drawn dashed (the drafting sign for what hangs above the cut) at medium and fine detail, and not at coarse. A click on a dashed line picks the cabinet or the hood; a click anywhere else inside picks the counter under it. Their Properties say their size and height in words ("30" wide, 12" deep, 54" above the floor, to the ceiling (41" high)"), with To the ceiling, above the floor, a corner cabinet's corner (the part behind the next cabinet) and a hood's style, and their Materials fold. Objects ▸ Kitchen has Upper cabinet and Range hood to place one by hand, against a wall. In 3D a click picks the cabinet or the hood it hits, and a walker reaches the counter under them as before.

The reader: a shared link and an embed

Share copies a view-only link; the person who opens it sees the plan, not the editor: the plan full width, the views (Plan, 3D, Ceiling, Roof, Elevations, Sections), the floor, Measure, Fit and Layers. A click or tap on a room opens a card (its name, area, about width × length, level, and its floor's and walls' materials); on a door or window, its kind and size, the rooms it joins and its material; on a wall, its thickness. Nothing in it is an internal id. Details opens a drawer with Rooms (each room's size too), Schedule and Checks; Copy link copies the link to the view on screen (the level and the tab); Edit a copy opens the plan in the editor, a copy of its own. A plan embedded in another page (Share ▾ › Embed in a web page…) shows only the views, the floor and Open in bldg, a small link that opens the same view in a new tab; there, one finger scrolls the page and two fingers move the plan.

Settings

Settings (Ctrl/Cmd+,) has a page for each part, in a list on its left. This project (saved with the plan; its three pages share one Apply, one undo step): Project info (the project's name, number and type of work, its location, which sets the code checks, the units and the drafting standard and lists what a change of it brings, its design stage and true north; the north arrow's ▾ and Alt+drag set true north too), Units & standards (the units shown and their rounding, and under Advanced the typical heights and sizes, the drafting standard and the current level's snap directions: a value without Custom ↺, in grey, comes from the location; Custom ↺ gives an overridden one back) and Building & codes (the IBC occupancy group of its rooms, the construction type, the sprinkler system, the building code (IBC 2027, or IRC 2024 for detached one- and two-family dwellings and townhouses) and the codes the checks run (ADA 2010; a code the location requires ticked and locked); the building's own name, its ±0.000 (the project z the drawings' elevations count from; in grey, the finished floor of the lowest at-grade level) and the voice alarm; Mixed: edit in Areas ▸ Groups when it has several occupancies). This browser (saved at once): Editor (the keyboard layout, the language, snapping on / off, reopening the last plan on open, on unless turned off) and Assistant (the AI provider, API key and model).

Levels

The Floors menu lists the levels and opens the Levels manager (Levels…, + Add level…, ⧉ Duplicate this level…): every level top to bottom with its name, its elevation (the datum: the top of the structural slab), its floor-to-floor height, its floor build-up (on demand) and its default ceiling (the ceiling height its rooms inside inherit, not the ones outdoors; a room or a ceiling area may differ), a Duplicate (a copy of its walls, doors, windows, rooms, components, grid, dimensions and texts) and a Delete button on each, + Add level for a new one on top, and the defaults for new work (the floor-to-floor, door head and window sill heights; in grey the typical heights & sizes', Custom ↺ gives one back; the schedule's footnote links here). A level stacked on the one below follows a new floor-to-floor height below it (its elevation shows in grey until Apply). Apply makes every change one undo step; closing with changes asks first. The menu's Snap directions… opens Settings at the level's snap directions, Paste aligned here pastes the clipboard at its own place, and Delete this level… deletes the level shown after a confirm.

The details panel

The details panel has six tabs: Checks (the code checks and drawing problems in calm words, To fix, Needs info, To review, Passed, Not required and Notes, each opened check with Fix with AI and the header with Fix all with AI when something is to fix; and Tidy drawing, which squares walls slightly off axis and joins wall ends that nearly meet, its changes listed above the problems), Rooms (each room's net area, the total room net area, balconies / terraces apart, the gross floor area; mainland China plans add the building area estimate, its GB/T 50353 method in the tooltip; Groups below: named sets of rooms on any level, such as a dwelling unit with its A117 / ADA class, an occupancy with its IBC group, a fire area or a tenancy, a table of their names, kinds (an occupancy's IBC group or a unit's classes under its kind), rooms and net areas (balconies and terraces included: the tooltip says how much); hovering a row highlights its rooms, a click (Enter) selects them and opens the row: its name, kind and class, its rooms by name (× takes one out), Add selected rooms and Delete group, each change one undo step; + Group (Z with rooms selected) names a new one (Unit 1 …) and Enter makes it of the selected rooms), Schedule (the door / window schedule: mark, operation, width, height, sill, count and the rooms each joins; Copy as tab-separated text, CSV), Objects (everything the catalog can place: furniture, kitchen units, bathroom fixtures, appliances and equipment, trees, plants and cars, columns and lifts, under plain headings), Types (each wall, door / window and component type with its values, every cell an edit all its instances follow; a wall type shows its kind, its thickness (the total of its layers, typed for a type of one layer), load bearing and fire rating, and ▸ opens its layers face A to face B: their function, thickness and material, each one edit of the type) and History (the edits; Versions: saved versions and their comparison).

Walls in Properties

A wall's Properties name its type (the plan's, or a library type such as a 2x4 stud wall with type X boards) and fold its Construction: its functions for the codes (fire barrier, party wall, parapet …), its fire rating as the engine resolves it (a listed assembly it names, when the assembly covers its type, else its type's own), the assembly, and its top (the default: up to the slab or storey above; a height; or to the ceiling over it, with an overrun). A wall whose type names materials is drawn by its layers at the view's detail: fine (1:50 and finer) every layer with its material's hatch, medium (1:100) its outline with the structure hatched, coarse (1:150 and coarser) one solid fill; a type of bare layers (a sketch) is a solid fill at every detail. Planting is drawn in the plan's black / grey pens; in 3D every wall and the parts above and below its openings are one colour, and trees and shrubs are a muted green on a brown trunk.

The JSON pane

The JSON pane is folded away until Show JSON in the head of the left column shows it (Hide JSON folds it again; this browser keeps the choice); a text that does not parse, or a problem's place in the text, shows it. It shows the plan-wide evidence and external_ids arrays folded to one line ("evidence": [… 2 entries]; click or type in it to open it); what is saved, copied, compiled and exported is always the full text.

Grids (BIM habits)

A click that no object snap takes (an endpoint, a midpoint, an intersection, a wall face, a grid line) lands on a clean increment that follows the zoom, as in Revit: 1", 6" or 1' on an imperial plan, 10, 50, 100 or 500 mm on a metric one. From a chain's start the length is rounded and the direction kept, so a house drawn by clicking measures 30'-0" by 24'-0"; a click on a wall lands a clean distance from its nearer end, and Move / Copy and Grid round their clicked lengths the same way. The background dots sit on those steps. Alt places the point as clicked.

GR draws a grid line (labels 1, 2 … / A, B …). A selected grid has a grip at each end (drag one end on its own, in 10 mm steps along the line, Shift keeps it orthogonal; drag the line to move it), a show / hide box beside each bubble, and an in-place label edit (click the bubble); Properties shows the label and the Start / End bubbles, not a length. Every change is one undoable set_grid. Grid lines and their crossings, with each other and with wall faces, are snap points when you draw or drag walls, place or drag components, pick a Move / Copy base point, pick dimension ends and Align. A dimension picked on a grid stays attached to it and follows the grid, and the columns standing on a grid line move with it (a line turned about one end: onto the new line). CO copies grids with the next free label (A → B, 1 → 2, A1 → A2, and on with Multiple). AL takes a grid as the reference and aligns a wall face or centerline, a node or another grid to it. CS (Create Similar) starts the selected element's tool with its type and options: wall type and location line, door / window type, component type, grid, dimension basis, room use, text role. Not yet: walls on a moved grid line stay where they are (the edit's notes name them), and Ctrl+C / Ctrl+V leaves grid lines out.

AI assistant

The Assistant is a panel beside the plan, open from the start on a wide window (its button in the top bar opens and closes it; on a phone, the bar at the foot). Describe a change ("add a 10' x 12' bedroom with a door on the south wall") and an AI agent draws it with the same edit operations, through the same edit session as your own edits: engine refusals go back to the model as tool results, each step is listed in display units, Stop (or Esc) ends a request, and one request is one undo step ("Undo AI changes"). Bring an Anthropic API key (the provider chosen at first), an Amazon Bedrock API key (Converse API, region selectable, default us-east-1), an OpenAI API key (the Responses API with tools), a Google Gemini API key (generateContent with function declarations) or a key for an OpenAI-compatible service (presets for OpenRouter, Mistral, DeepSeek (text only), xAI, Groq, Together AI, Fireworks AI, Cerebras, DeepInfra, Hugging Face, NVIDIA, Qwen (Alibaba Cloud), Moonshot AI (Kimi), Z.ai (GLM), and Ollama / LM Studio / vLLM on this computer, which need CORS allowed: OLLAMA_ORIGINS, LM Studio's Enable CORS). The Model list is the provider's own, asked for with your key once it is entered (Bedrock: its inference profiles); until a model is picked, the newest of the provider's main family is used (Claude Sonnet on Anthropic and Bedrock). A service that does not list its models takes a typed model id.

Any other model id can be typed under "Other model id…". Each provider, and each compatible service, has its own key slot. No provider SDK or multi-provider library is bundled: each provider is a small adapter in the assistant's own code.

The model is sent a short rules prompt, the read view of the current level, the selection and the display unit. The selection is read when you press Send: every selected element with its kind, type, key values (document and display unit) and level, so "delete the selected" or "make these 900 wide" mean exactly those elements (the first 30 described, the rest as ids; more than 500: the model asks you to narrow it), and with nothing selected the model asks instead of guessing.

A model call answered HTTP 429, 500, 502, 503 or 504 is retried up to 3 times (an exponential back-off with jitter, or the provider's Retry-After), each retry a "retrying (n/3)" line in the chat; other errors are not retried, and a call with no answer within its time-out (about 2 minutes for a scale step, 7 for a whole trace) is given up. On Bedrock, a global. model id that answers 5xx is retried at once on the region's geographic profile (us., eu. or apac.), which the tab then keeps for that model and region. A request that gets no answer (an HTTP error) leaves the chat: its text and images go back to the message box.

Questions ("make a door schedule", "what is the area of each bedroom") are answered from the plan's door / window schedule and room areas, in your display unit. Replies are rendered as Markdown by a small built-in renderer (DOM nodes only, so raw HTML shows as text; https links open in a new tab; images in a reply are never loaded); tables scroll sideways with numbers right-aligned and a Copy as TSV button, code blocks have Copy. A request has at most 25 model turns, and deleting or restructuring elements that existed before the request asks you first (Provider).

The key stays in the browser: sessionStorage for this tab by default, localStorage only with "Remember on this device", and Forget key clears both. It is sent only to the chosen provider (the page's Content-Security-Policy allows only the listed provider endpoints, plus http://localhost:* and http://127.0.0.1:* for local servers; an OpenAI-compatible base URL must be https on a listed host or http on this computer, and redirects are refused), and it never goes into the plan, a share link, the history, an export or the engine worker. There is no server in between. Send stays disabled until a key is entered. The panel's token / cost line uses list prices where the model has one (others say "cost not estimated"); your provider bills at its own rates.

Images and tracing with AI

Attach images to a message by paste, by dropping them on the panel or with Image… (PNG, JPEG, WebP; downscaled in the page to at most 1568 px on the long side). They are sent to the provider with that message in its own image format, kept only in the tab's memory, and never reach the worker, storage, the history or a share link.

Trace as new plan (or "trace this" / "draw this plan" with an image attached) starts a new plan on the image (the image is the underlay Source, scale assumed, as Image ▾ Import image… makes it), and asks the model for the extract JSON (Anthropic and Bedrock: a tool carrying the schema; OpenAI, OpenAI-compatible and Gemini: structured output, falling back to that tool when the schema is refused; the scale step uses structured output on Anthropic too, with the same fallback), in the pixels of the image it was sent. The new plan keeps the open plan's jurisdiction and document unit, whatever jurisdiction the model reads (the project's location is yours: New… or Settings ▸ Project); only a plan without a jurisdiction takes the one the model reads, with its unit (US plans: inches). Ingest and lint run on the result, invalid output goes back to the model once with its errors, and the traced plan is one undo step. A review card lists the counts and warnings, with Apply this scale when the model read printed dimensions (the scale fitted to them) and Scale tool to calibrate by hand.

On an empty plan of one level with an image imported under it (Image ▾ Import image…; no walls, openings, rooms or components yet), Image ▾ Trace with AI and the panel's button, which reads Trace the underlay, have the AI trace that image in place (no attachment needed), keeping the plan and its Scale calibration, as one undo step; an import never starts the AI by itself. Texts, grid lines, dimensions and components the user added to the level before the trace (or while it waits for its scale) stay in the traced plan, moved with the image if the trace straightens it, and the review card lists them as kept. A trace of the 3-room synthetic_12.jpg on Claude Sonnet 5.5 took two model calls and about $0.08.

Languages

The editor, the catalog names and the vocabulary (room uses, roles, operations, regions, units, severities, the short titles of diagnostics) come in English, 简体中文, 繁體中文, 日本語, 한국어, Français, Deutsch, Español, Italiano and Português (Brasil). The editor follows the browser's language; the Language of Settings (its Editor page) changes it, and never the plan. The engine reads the same files, so the drawings, the code checks and the editor use the same words. A plan's room names are read in every language at once (卫生间, Bad, salle de bain and 浴室 are all bathrooms), and the furniture search matches a model's name in any of them. A missing string falls back to English.

The translations are machine-generated; corrections are welcome: use Send feedback in the editor's ? panel, or write to hello@usebldg.com.

bldg · Editor · Editor guide · Viewer · Format · Benchmarks · Limitations · Terms · Privacy · hello@usebldg.com