> ## Documentation Index
> Fetch the complete documentation index at: https://docs.loft.build/llms.txt
> Use this file to discover all available pages before exploring further.

# small-office

The `small-office` example as shipped in [`examples/small-office/`](https://github.com/loftlang/loft/tree/main/examples/small-office) — 2 files, one project. Every file compiles in CI; a folder here navigates, never scopes.

## `model.loft`

```loft theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/loft.json","/languages/loft-fragment.json"]}}
# Small office — demo model
# Edit anything: the plan updates as you type.

project "Suite 210 TI"
units imperial

level L1 elev 0' height 10'-0"

grid A vertical   at 0'
grid B vertical   at 24'-0"
grid 1 horizontal at 0'
grid 2 horizontal at 28'-0"

walltype CMU8   width 8"    note "8in CMU, 2-hr"
walltype STUD4  width 4.5"  note "3-5/8 stud + gyp ea side"
walltype EXT-1  layers [brick 4", air 1", core: stud 6", gyp 5/8"]

# Product facts live on types, stated once (v0.3): change 3070's width and
# every 3070 in the building follows.
doortype 3070    width 3'-0" height 7'-0"
windowtype W-5040 width 5'-0" height 4'-0"

# Perimeter drawn clockwise, justify left: the drawn line is each wall's
# LEFT face in its own from→to travel — here, the outside.
wall EXT-1 W1 from (grid.B,grid.1) to (grid.A,grid.1) justify left
wall EXT-1 W4 from (grid.A,grid.1) to (grid.A,grid.2) justify left
wall EXT-1 W3 from (grid.A,grid.2) to (grid.B,grid.2) justify left
wall EXT-1 W2 from (grid.B,grid.2) to (grid.B,grid.1) justify left

# Interior partitions. W5 states grid offsets point-by-point; the anonymous
# wall rides a CARRIER (v0.2 §6.5): 9' left of grid 1 — left in ITS OWN
# A-to-W5 travel — cut by grid A and wall W5. Edit the 9' and watch it move.
wall STUD4 W5 from (grid.A + 14', grid.1) to (grid.A + 14', grid.2)
wall STUD4 from grid.A to wall.W5 at 9' left of grid.1

# Openings — doors get a swing arc, windows the triple-line symbol.
door 3070 D1 in wall.W1 at 4' short of grid.A swing left   # held back from the corner, tape-measure style
door 3070 D2 in wall.W5 at (grid.2 - grid.1)/2 swing left   # centered: half the 1-to-2 span
window W-5040 WIN1 in wall.W2 at 5' past window.WIN2 sill 3'-0"   # 5' clear of WIN2's jamb (declared below — order never matters)
window W-5040 WIN2 in wall.W2 at 12'-0" sill 3'-0"

room 210 name "OFFICE" at (7', 14')
room 200 name "OPEN AREA" at (19', 14')
```

## `views/L1-plan.loft`

```loft theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/loft.json","/languages/loft-fragment.json"]}}
# A view owns its file — this page is the plan, a declared query over the
# model. Its facts are its own: scale and cut plane, written on the view.
view plan L1-plan of level.L1 scale 1/4" cut 4'-0" name "Level 1 Floor Plan"
```
