How big is the friend in each view of a place, against the doors they go through, and how do we keep one friend the same size inside and out when the player shapes the friend? The game at 0.0.303: 26 script parts, 22,743 lines, 139 checks. Measured in the game itself, with the default friend, an adult (size 150), a small child (size 50) and a short-legged friend.
Short answers.
Inside, the friend's size follows their own body; outside on the tree's porches and bridges, it did not. The bridges set everyone to one height, smaller than inside, and a tree room's door to the next house was too low even for the default friend: so the default crawled through it inside, yet walked in through the same doorway from the porch, small (Matthew's save, legs 140, is the default). Since 0.0.302 both views scale the body the same way, and the door fits the default.
One reference body, doors made for it, one rule. The default friend takes 0.68 to 0.91 of every door made for it, inside and out; any friend crawls where their crown would be over 0.97 of the door. So the default and a child walk, an adult crawls, the same both ways.
Three doors were too low for the default and were raised: a tree room's door to the next house (1.27 of it), the witch's door out (1.10), the greenhouse's arches (1.04).
Left for a decision: the house's front door is five times the friend's height, because the house is drawn without the perspective the friend gets there; and the pictures entered whole (the witch's hut, the tents, the cave) have no door to judge from outside.
Why it is hard here: games size doors to one known character; here the player shapes the body, so every door is judged at run time against the body as it is, and every view must scale that body, never replace it with a fixed height.
How each view sizes the friend
view
the rule
does the body's shape count?
where
A place, the friend on its floor
a scale on the friend's own body: the place's figure size (SCENE_FIG), times how far back they stand (depthSize), times the size slider
yes: long legs make a taller friend
every place, inside and out
Sitting
as standing, at the seat's depth, not where the feet hang
yes
every seat
Up the spiral stair
the floor's straight below their step
yes
the castle's spiral room
The tree's porches and rope bridges, outside
till 0.0.302: BRIDGE_TALL (60 of the tree's units) whatever their shape; now 70 for the default friend and in proportion for any other (over BRIDGE_BASE, 452, the default's height in its own units)
till 0.0.302 no; now yes
the tree house
The picture through a tree room's door to a bridge
the same rule as the bridge, shrinking along the deck
till 0.0.302 no; now yes
the tree rooms
A door: walk or crawl
doorTooLow: crawl when their crown, at the door's depth, is over 0.97 of its opening
yes
every door with a shape (data-door); the cabin doors outside since 0.0.302
Every door, for the three reference friends
Figure 1. Each door's share of the friend's height, standing at it: a small child (grey dot, size 50), the default (the filled dot, legs 140, size 100), an adult (red ring, size 150). Beyond the dashed line, 0.97, a friend crawls. The share scales straight with the size slider. Measured in the game at 0.0.303, every place, castle room and tree room.
door
where
child
default
adult
the castle's gate
castle
0.46
0.91
1.36
a castle room's side doors (king, kitchen, stable, smithy, cat room)
castle rooms
0.34
0.68
1.02
the trap room's door
castle rooms
0.41
0.81
1.22
the hallway's doors
castle rooms
0.39
0.77
1.16
the dining room's doors
castle rooms
0.39
0.77
1.16
the greenhouse's arches
castle rooms
0.45
0.89
1.33
the spiral stair's lower door
castle rooms
0.41
0.81
1.22
the spiral stair's door at the top
castle rooms
0.14
0.29
0.43
a tree room's door to the next house
tree rooms
0.45
0.90
1.35
a cabin's door, from its porch
tree house
0.45
0.89
1.33
the witch's room's door out
witch's room
0.45
0.90
1.35
the house's front door
house
0.11
0.22
0.33
the far little house, from the clearing
clearing
1.21
2.41
3.62
The tree house, inside and out
the same friend
the room's door, inside
the cabin's door, outside
the default (legs 140, size 100)
0.90
0.89
an adult (size 150)
1.34 · crawls
1.34 · crawls
a small child (size 50)
0.45
0.45
short legs (legs 100)
0.81
0.81
The default friend before and after 0.0.302:
door
before
after
what changed
A tree room's door to a bridge (inside)
1.27
0.90
the door 172 tall, now 246
A cabin's door from its porch (outside)
0.76
0.89
the friend 60 tall whatever their shape, now 70 for the default and in proportion
The witch's room's door out
1.10
0.90
196 tall, now 242
The greenhouse's arches
1.04
0.89
140 tall, now 164
Why a friend the player shapes makes this harder
A game's character is a known sprite. Doors, ledges and bridges are drawn for one known height; a different character means new art, checked by eye.
Here the body is the player's. Legs from short to very long, a head, arms and a size slider: the height is a setting, so every door has to be judged at run time, against the body as it is now.
And each view has its own camera. The rooms draw in perspective, the tree outside as a flat picture with its own scale, a far view smaller still: a rule like 'the friend is 60 tall here' silently drops the body's shape, as the bridges did.
So the doors are sized to a reference, and the rule decides. One reference body (the default), doors made for it (it takes 0.68 to 0.91 of each), and one rule for every door, inside and out (crawl over 0.97); every other body follows from its own height.
The choices
choice
gives
costs
Normalize: one height for everyone in a view
Simple, and every door fits everyone
Throws away the player's shaping; what the bridges did, and what Matthew saw as wrong
Scale with the body, and let each door judge (chosen)
The shape counts everywhere; the same friend crawls through the same doors inside and out
Doors must be sized to a reference; a tall friend crawls a lot
Stoop between walking and crawling
A friend a little too tall (0.97 to 1.15 of a door) ducks rather than drops to all fours
A new animation; worth it if a tall friend crawls too often
Doors that grow with the friend
Never a squeeze
Doors change size when the friend does; the place stops being a place
What is left
where
why
The house's front door: 0.22 of it
The house is drawn as a flat picture, its own size, while the friend gets the perspective of where they stand: at its door they reach a fifth of the way up. Changing it means scaling the house scene, a design call left to Matthew.
The witch's hut, the cave, the tents, the grass hut: no door to judge outside
Each is entered as a whole picture, so nobody crawls in from outside; inside, their doors out are made for the default. An adult walks in and crawls out.
The clearing's far little house: 2.41
A far view: walking to it is a trip there, not a squeeze; exempted from the rule.
What next
1.Decide the house scene's scale: the house drawn at the friend's scale where its door stands (smaller on the screen), or left as a picture; either way, a check in the series of tools/checks/scale352.mjs.
2.The outside pictures with no door shape: give the witch's hut, the tents and the cave a door shape to judge, so an adult crawls in as they crawl out.
3.The three reference friends as a 🔬 preset: default, adult and child a tap apart, for checking a new place or door by eye.
4.A stoop: if the adult crawls too often to feel right, a ducking walk for 0.97 to 1.15 of a door.
5.Every new door sized to the default: a line in the agent instructions (written), and scale352 extended to each new door.
How this was put together
Written on 2026-10-18 by Claude, for Matthew, from ticket 352: Matthew, ticket ^ticket(352): "we crawl when we run out of tree houses, but on the exterior view, we are tall enough to go into the doors -- and quite small --- Fix this misalignment, and draft a report about the larger issue -- getting scale to be aligned; a special challenge for user-controlled characters." Then: "we need to bring background params and characters into alignment, focusing first on the default, and version that's 1.5 bigger, like an adult, and 0.5 size, like a small child." Every share was measured in the game in the app's browser: for each door with a shape, the friend's crown height at the door's depth (the rule doorTooLow uses [3]) over the door's opening, in every place, castle room and tree room, with the default body; the adult's and child's shares follow from the size slider, which scales the friend straight. The tree house's pairs were measured with each body and are kept by a check [2]; the fix is in 0.0.302 [1]. The data is in data/report.json; the page is built by drivers/build.py.