const tileSize = 16

const orange = defaultColor('orange')
const grey = defaultColor('lightgrey')

const alignBottom = align('ny')

const empty = () => new THREE.Geometry()

const tile = () => _([tileSize, 1, tileSize], alignBottom)
const orangeTile = () => orange(tile())
const greyTile = () => grey(tile())

const box = () => _([tileSize, tileSize, tileSize], alignBottom);
const orangeBox = () => orange(box())
const greyBox = () => grey(box())

return [
  [greyBox(), orangeBox(), orangeTile()],
  [greyTile(), greyTile(), orangeTile()],
  [empty(), greyTile(), orangeTile()],
]
  .map((row, rowIndex) =>
    row.map((geometry, colIndex) =>
      t(colIndex * tileSize, 0, rowIndex * tileSize)(geometry),
    ),
  )
  .reduce((a, b) => a.concat(b), [])

@@ -312,16 +312,21 @@
 onst box
+Large
  = () =%3E
@@ -389,16 +389,21 @@
 rangeBox
+Large
  = () =%3E
@@ -409,24 +409,29 @@
 %3E orange(box
+Large
 ())%0Aconst gr
@@ -435,16 +435,21 @@
  greyBox
+Large
  = () =%3E
@@ -461,61 +461,617 @@
 (box
-())%0A%0Areturn %5B%0A  %5BgreyBox(), orangeBox(), orangeTile()
+Large())%0A%0Aconst boxMedium = () =%3E _(%5B0.5 * tileSize, 0.5 * tileSize, 0.5 * tileSize%5D, alignBottom);%0Aconst orangeBoxMedium = () =%3E orange(boxMedium())%0Aconst greyBoxMedium = () =%3E grey(boxMedium())%0A%0Aconst boxSmall = () =%3E _(%5B0.25 * tileSize, 0.25 * tileSize, 0.25 * tileSize%5D, alignBottom);%0Aconst orangeBoxSmall = () =%3E orange(boxSmall())%0Aconst greyBoxSmall = () =%3E grey(boxSmall())%0A%0Areturn %5B%0A  %5B%0A    $$(%5B%0A      greyBoxLarge(),%0A      _(greyBoxMedium(), ty(tileSize)),%0A      _(greyBoxSmall(), ty(1.5 * tileSize)),%0A    %5D),%0A    orangeBoxLarge(),%0A    $$(%5BorangeTile(), _(orangeBoxMedium(), tx(0.2 * tileSize))%5D),%0A  
 %5D,%0A 
@@ -1088,32 +1088,36 @@
 (), greyTile(), 
+$$(%5B
 orangeTile()%5D,%0A 
@@ -1112,16 +1112,59 @@
 geTile()
+, _(orangeBoxSmall(), tx(0.3 * tileSize))%5D)
 %5D,%0A  %5Bem

Add more box-sizes to orange-box example.