Skip to main content

koyu runs

Lists the vertical circulation. The number of risers, the tread, the landing and the slope are nowhere in the source. They are derived from the region and the storey height. This command is how you see what was derived.

Arguments

koyu runs <entry.muro>

Takes one entry path.

Flags

None.

Output

One run per line. A run stands between two levels, so a stair through three storeys is two lines, not three.

npx tsx src/cli.ts runs examples/basement/main.muro
B2→B1	lift	EV	/B2/ev
B2→B1	ramp	車路	rise 3700mm	return	slope 1/7.2	going 26800mm	/B2/ramp
B2→B1	stair	避難階段	rise 3700mm	return	21 risers of 176mm, tread 300mm	going 6000mm	/B2/st
B1→L1	lift	EV	/B1/ev
B1→L1	ramp	車路	rise 3700mm	return	slope 1/7.2	going 26800mm	/B1/ramp
B1→L1	stair	避難階段	rise 3700mm	return	21 risers of 176mm, tread 300mm	going 6000mm	/B1/st
L1→R	lift	EV	/L1/ev

Columns are tab-separated and their number depends on the device.

ColumnContents
1<lower level>→<upper level>. Just the lower name when there is no upper
2The device — stair / ramp / escalator / lift
3Display name
4rise <n>mm — the height climbed
5return (it turns back) or straight
6For a stair, <n> risers of <riser>mm, tread <tread>mm; for a ramp or escalator, slope 1/<n>
7going <n>mm — the run length
8The space path

Only lift stops at two columns. A lift has no steps, no slope and no going, so the path follows the display name directly.

B2→B1	lift	EV	/B2/ev

An escalator is reported by slope, not by steps.

npx tsx src/cli.ts runs examples/complex/main.muro
L1→L2	escalator	エスカレーター	rise 6600mm	straight	slope 1/1.5	going 9800mm	/L1/es

(An excerpt from this building's full output.)

When there is no vertical circulation

If none of stair, ramp, escalator or lift is declared, it says so.

npx tsx src/cli.ts runs examples/two-rooms.muro
There is no vertical circulation (write stair:N / ramp:N / escalator:N / lift:1 on a space)

Writing a stair boundary (boundary /a /b type:stair) alone puts nothing here. A boundary kind is the relation "these two spaces are joined by a stair", not the form of the stair itself. For the form, write stair:<direction of climb> on the stair space. examples/house has only the former, so runs returns the line above.

What follows from it being derived

Change the storey height and the same stair enclosure gets a different step division. There is nothing to write differently — the number of risers changing when the storey height changes is what derivation means. In examples/basement above, B2→B1 and B1→L1 are both rise 3700mm, so both come out as 21 risers; in a building with unequal storeys the same enclosure gets different divisions floor by floor.

Whether the derived dimensions are comfortable to climb is not said here. Whether the form is uniquely determined is koyu check's job, and whether the steps are cramped or the slope is outside normal use is what koyu validate says with stair.proportion and run.slope.

Exit codes

Exit codeMeaning
0Always — including when there is no vertical circulation at all
1It could not be read because of a syntax or composition error
2No file path was given (usage is printed)

Do not read the absence of vertical circulation as a pass. Forgetting to write stair: gives exactly the same output.

See also

  • koyu validate — the step and slope judgements (stair.proportion / run.slope)
  • koyu check — the diagnostics for whether the run's form is determined
  • koyu axo — seeing the derived runs as solids
  • .muro reference — how to write stair, ramp, escalator and lift