-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy paththemed.arch
More file actions
56 lines (49 loc) · 2.06 KB
/
Copy paththemed.arch
File metadata and controls
56 lines (49 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Theming + materials: a two-room plan with a brick exterior, a partition,
# and a dark "blueprint" theme. Try CompileOptions.theme to override at runtime.
#
# ONE DELIBERATE WARNING, left in on purpose:
#
# W_NO_ENTRANCE x1 — this plan has exactly one door and it is on the PARTITION, so
# the two rooms open onto each other and neither opens onto the outside. That is not
# an oversight: the file is a two-room fragment whose subject is the `theme` block
# and the `material brick` clause, and it is deliberately the corpus's one example of
# a building with no way in, so the rule has a shipped positive case to fire on
# (`test/lint.test.ts` pins `themed.arch` as the SOLE `W_NO_ENTRANCE` example across
# all thirty examples — cutting a front door here would silence that pin as well as
# the warning). `arch validate` is clean; `arch validate --strict` reports this one.
plan "Themed Duplex" {
units mm
grid 50
scale 1:100
north up
theme {
background: "#1e2127"
wall: "#e8e8e8"
wallFill: "#3a3f4b"
wallHatch: "#5a6172"
room: "#272b33"
roomLabel: "#f0f0f0"
areaLabel: "#9aa0aa"
furniture: "#2f343d"
dim: "#6cb6ff"
annotation: "#cfd3da"
font: "Georgia, serif"
lineWeight: 1.3
}
let W = 6000
let H = 4000
wall exterior thickness 250 material brick { (0,0) (W,0) (W,H) (0,H) close }
wall partition thickness 100 { (3000,0) (3000,H) }
room id=a at (0,0) size 3000x4000 label "Living"
room id=b at (3000,0) size 3000x4000 label "Bedroom"
furniture bed at (3300,300) size 1500x2000 label "Bed"
furniture nightstand at (4850,700) size 300x350 in b
furniture desk at (300,300) size 1200x600 in a
furniture office_chair at (900,1000) size 450x450 in a
door at (3000,2000) width 900 wall partition hinge left swing in
window at (1500,0) width 1600 wall exterior
window at (4500,0) width 1200 wall exterior
# `faces` measures outside-to-outside: 6000 of room grid + half the 250 shell at
# each end = the 6250 the building actually is.
dim faces (0,H)->(W,H) offset 600
}