Layered canopy oak
layered-canopy-oak-2
dresses tree:oak-layered
— and nothing else. Appearance is invisible to the drawing set, so adding this changes no
plan, no section and no elevation.
- 20of 500 meshes
- 2slots
- 1finish
Drag to orbit · scroll to zoom
$foliage
$bark
This definition leaves
$foliage and $bark
open, and a look line fills them. Every combination is one body — same
geometry, same selector, same sheets — so the block below rewrites itself as you pick.
Only materials are slottable: a size would have to agree with the plan, so it stays on
the entity.
Generated views
The body and its drawing evidence
The deterministic renders check the body's footprint, structure and depth. Geometry, material and the selected finish stay unchanged.
Paste this
Every part: the 2 materialdefs the body resolves to, then the definition. Copying the lookdef alone still compiles and still validates — it just renders grey.
{"t":"materialdef","id":"pal-leaf-pale","of":"foliage","value":58}
{"t":"materialdef","id":"pal-timber-dark","of":"timber","value":42}
{"t":"lookdef","id":"layered-canopy-oak-2","name":"Layered canopy oak","for":"tree:oak-layered","desc":"Sculptural oak with a stout branching base and seven clearly separated horizontal foliage pads.","slots":{"foliage":"pal-leaf-pale","bark":"pal-timber-dark"},"note":"A mature oak reduced to a stout branching trunk and seven broad, overlapping canopy clouds. Their irregular horizontal spread and generous depth form one organic umbrella crown rather than a stack of separate tiers.","body":{"type":"Group","children":[{"type":"Mesh","material":"$bark","geometry":{"type":"LatheGeometry","profile":[[0,0],[0.48,0],[0.38,0.34],[0.26,0.9],[0.2,1.75],[0.14,2.8],[0,3.1]],"segments":20}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,0.12,0],[-0.2976,0.06,0.0768],[-0.62,0,0.16]],"radius":0.1,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,0.12,0],[0.288,0.06,-0.0768],[0.6,0,-0.16]],"radius":0.1,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,1.45,0],[-0.9,2.05,0.0432],[-2.3125,2.62,0.1944]],"radius":0.14,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,1.52,0],[0.9375,2.1,0.1296],[2.35,2.72,0.324]],"radius":0.14,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[-0.0375,1.75,0],[-0.525,2.45,-0.3672],[-1.25,3.35,-0.6696]],"radius":0.11,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0.0375,1.82,0],[0.5625,2.5,0.3456],[1.3125,3.5,0.6264]],"radius":0.11,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,2,0],[-0.1,2.85,0.0864],[-0.225,4,0.162]],"radius":0.095,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-2.064,2.4,0.12],"scale":[1.29375,0.34,0.86],"rotation":[0.12,0.5,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.624,2.77,0.2],"scale":[1.2213,0.34,0.84],"rotation":[0.08,1.2,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.864,2.92,-0.08],"scale":[1.2627,0.34,0.86],"rotation":[0.1,2,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[2.136,2.58,0.22],"scale":[1.2006,0.32,0.82],"rotation":[0.08,2.8,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-1.464,3.5,-0.3],"scale":[1.311,0.32,0.8],"rotation":[0.1,3.6,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.024,3.58,0.1],"scale":[1.403,0.34,0.84],"rotation":[0.08,4.4,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[1.44,3.54,0.25],"scale":[1.288,0.31,0.78],"rotation":[0.1,5.2,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.864,4.2,0.18],"scale":[1.127,0.3,0.72],"rotation":[0.08,6,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.576,4.28,-0.12],"scale":[1.104,0.29,0.7],"rotation":[0.1,0.9,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0,4.82,0.04],"scale":[0.897,0.27,0.62],"rotation":[0.08,1.8,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-2.16,3.18,0.45],"scale":[0.943,0.27,0.62],"rotation":[0.1,2.7,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[2.064,3.24,-0.42],"scale":[0.943,0.27,0.62],"rotation":[0.08,3.6,-0.03]}]},"preview":{"projection":"perspective","azimuth":-36,"elevation":14,"fov":30,"margin":1.03}}
Or take the whole pack, which brings every entry and every material at once:
cat packs/trees.ndjson model.ndjson > dressed.ndjson
Download trees pack
245 KB · NDJSON ↓