Skip to main content

koyu levels

A section drawing in text. Lists the levels in descending z and breaks each storey height down into ceiling height and floor build-up.

Arguments​

koyu levels <entry.muro>

Takes one entry path.

Flags​

None.

Output​

npx tsx src/cli.ts levels examples/house/main.muro
R	z:5800	slab:500
L2	z:2900	h:2400	slab:500
  ↑ storey height 2900 = ceiling 2400 + slab 500
L1	z:0	h:2400	slab:400
  ↑ storey height 2900 = ceiling 2400 + slab 500

A level's line is tab-separated, and h and slab appear only when written. The order runs top to bottom, that is, descending z.

The ↑ line is the stack-up seen from the level on the line above it. The storey height is the difference to the next level's z, and the breakdown explains it with that level's h and the next level's slab. The topmost level, with nothing above it, gets no ↑ line.

When there is a remainder​

If the storey height exceeds ceiling plus floor build-up, the difference comes out as left over. It is the ceiling void.

npx tsx src/cli.ts levels examples/tower/main.muro
R	z:35200	slab:500
L11	z:32000	h:2600	slab:500
  ↑ storey height 3200 = ceiling 2600 + slab 500 + 100 left over
L10	z:29000	h:2500	slab:450
  ↑ storey height 3000 = ceiling 2500 + slab 500
L9	z:26000	h:2500	slab:450
  ↑ storey height 3000 = ceiling 2500 + slab 450 + 50 left over

(The head of this building's full output.)

When the breakdown is missing​

The breakdown appears only when that level has an h and the level above has a slab. Missing either leaves just ↑ storey height <n>.

Both absences are reported separately by koyu check: an undetermined ceiling height is an error, a missing floor build-up is a warning. (In either case the height checks do not run.)

Declaring a roof level with no spaces (level R 5800 slab:500) brings the top storey into the checks too. With nothing above it, the top storey height cannot be computed.

Per-space ceiling heights​

Spaces carrying h: are listed at the end, with the effective ceiling height — the value in force for that space.

npx tsx src/cli.ts levels examples/office.muro
R	z:8000	slab:1300
L2	z:4000	h:2700	slab:1300
  ↑ storey height 4000 = ceiling 2700 + slab 1300
L1	z:0	h:2700	slab:600
  ↑ storey height 4000 = ceiling 2700 + slab 1300
Per-space ceiling height: /L1/hall h:6700

Spaces without a region, and spaces not on a level, do not appear here.

Exit codes​

Exit codeMeaning
0It came out
1No level is defined, or the input could not be read
2No file path was given (usage is printed)
npx tsx src/cli.ts levels nolevels.muro
No level is defined

See also​