Trestle table
trestle-table
dresses furniture:dining-table
— and nothing else. Appearance is invisible to the drawing set, so adding this changes no
plan, no section and no elevation.
- 4of 500 meshes
- 1slot
- 2finishes
Drag to orbit · scroll to zoom
$surface
This definition leaves
$surface
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.
Paste this
Every part: the 1 materialdef the body resolves to, then the definition. Copying the lookdef alone still compiles and still validates — it just renders grey.
{"t":"materialdef","id":"pal-timber-dark","of":"timber","value":42}
{"t":"lookdef","id":"trestle-table","for":"furniture:dining-table","desc":"Rectangular dining table on two angled trestle supports.","slots":{"surface":"pal-timber-dark"},"body":{"type":"Group","children":[{"type":"Mesh","geometry":{"type":"BoxGeometry","width":2,"height":0.07,"depth":0.95},"material":"$surface","position":[0,0.74,0]},{"type":"Mesh","geometry":{"type":"BoxGeometry","width":0.09,"height":0.7,"depth":0.72},"material":"$surface","position":[-0.78,0.35,0]},{"type":"Mesh","geometry":{"type":"BoxGeometry","width":0.09,"height":0.7,"depth":0.72},"material":"$surface","position":[0.78,0.35,0]},{"type":"Mesh","geometry":{"type":"BoxGeometry","width":1.34,"height":0.08,"depth":0.09},"material":"$surface","position":[0,0.28,0]}]}}
Or take the whole pack, which brings every entry and every material at once:
cat packs/furniture.ndjson model.ndjson > dressed.ndjson
Download furniture pack
33 KB · NDJSON ↓
The 2 finishes this pack ships
Combinations the pack author curated, rendered under one light and one camera because a comparison needs everything but the variable held still. Pick one to load it above — or mix your own with the slot controls.