Infinity edge pool
infinity-edge-pool
dresses pool
— and nothing else. Appearance is invisible to the drawing set, so adding this changes no
plan, no section and no elevation.
- 25of 500 meshes
- 6slots
- 1finish
Drag to orbit · scroll to zoom
$surface:plaster
$surface:tile
$surface:lane
$surface:coping
$accent
$glazing
This definition leaves
$surface:plaster and $surface:tile and $surface:lane and $surface:coping and $accent and $glazing
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 6 materialdefs the body resolves to, then the definition. Copying the lookdef alone still compiles and still validates — it just renders grey.
{"t":"materialdef","id":"pack-pool-lane","of":"paving","value":20,"accent":"#0d456b","texture":"tile-grid","body":{"roughness":0.18}}
{"t":"materialdef","id":"pack-pool-tile","of":"paving","value":42,"accent":"#245a72","texture":"tile-grid","body":{"roughness":0.2}}
{"t":"materialdef","id":"pack-pool-water","of":"glass","value":72,"accent":"#74bed0","body":{"type":"MeshPhysicalMaterial","transmission":0.9,"ior":1.33,"clearcoat":0.62,"clearcoatRoughness":0.12,"thickness":0.48,"attenuationColor":"#2a91a8","attenuationDistance":4.6}}
{"t":"materialdef","id":"pal-grey","of":"paint","value":58}
{"t":"materialdef","id":"pal-off-white","of":"paint","value":86}
{"t":"materialdef","id":"pal-stone","of":"stone","value":86}
{"t":"lookdef","id":"infinity-edge-pool","for":"pool","desc":"Rectangular pool with one vanishing overflow edge and flush waterline.","preview":{"projection":"perspective","azimuth":34,"elevation":34,"fov":33,"margin":1.06},"slots":{"surface:plaster":"pal-off-white","surface:tile":"pack-pool-tile","surface:lane":"pack-pool-lane","surface:coping":"pal-stone","accent":"pal-grey","glazing":"pack-pool-water"},"body":{"type":"Group","children":[{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":8,"height":0.2,"depth":4.7},"position":[0,0.1,0]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":8,"height":1.5,"depth":0.2},"position":[0,0.95,-2.25]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.2,"height":1.5,"depth":4.3},"position":[-3.9,0.95,-0.1]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.2,"height":1.5,"depth":4.3},"position":[3.9,0.95,-0.1]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":8,"height":1.35,"depth":0.18},"position":[0,0.875,2.2]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":7.6,"height":0.17,"depth":0.045},"position":[0,1.35,-2.128]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.045,"height":0.17,"depth":4.18},"position":[-3.777,1.35,-0.03]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.045,"height":0.17,"depth":4.18},"position":[3.777,1.35,-0.03]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":7.6,"height":0.22,"depth":0.045},"position":[0,1.3,2.092]},{"type":"Mesh","material":"$surface:coping","geometry":{"type":"RoundedBoxGeometry","width":8,"height":0.11,"depth":0.34,"radius":0.03,"segments":2},"position":[0,1.545,-2.17]},{"type":"Mesh","material":"$surface:coping","geometry":{"type":"RoundedBoxGeometry","width":0.34,"height":0.11,"depth":4,"radius":0.03,"segments":2},"position":[-3.83,1.545,-0.08]},{"type":"Mesh","material":"$surface:coping","geometry":{"type":"RoundedBoxGeometry","width":0.34,"height":0.11,"depth":4,"radius":0.03,"segments":2},"position":[3.83,1.545,-0.08]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.34,"height":0.88,"depth":2},"position":[-3.63,0.64,-0.65]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.34,"height":0.58,"depth":2},"position":[-3.29,0.49,-0.65]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.34,"height":0.29,"depth":2},"position":[-2.95,0.345,-0.65]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.33,"height":0.025,"depth":2},"position":[-3.63,1.0925,-0.65]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.33,"height":0.025,"depth":2},"position":[-3.29,0.7925,-0.65]},{"type":"Mesh","material":"$surface:tile","geometry":{"type":"BoxGeometry","width":0.33,"height":0.025,"depth":2},"position":[-2.95,0.5025,-0.65]},{"type":"Mesh","material":"$glazing","geometry":{"type":"BoxGeometry","width":7.56,"height":1.2,"depth":4.08},"position":[0,0.82,-0.08]},{"type":"Mesh","material":"$glazing","geometry":{"type":"BoxGeometry","width":7.54,"height":0.78,"depth":0.055},"position":[0,1.18,2.31]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":8,"height":0.12,"depth":0.74},"position":[0,0.06,2.72]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":8,"height":0.32,"depth":0.12},"position":[0,0.22,3.04]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.18,"height":0.32,"depth":0.72},"position":[-3.91,0.22,2.72]},{"type":"Mesh","material":"$surface:plaster","geometry":{"type":"BoxGeometry","width":0.18,"height":0.32,"depth":0.72},"position":[3.91,0.22,2.72]},{"type":"Mesh","material":"$glazing","geometry":{"type":"BoxGeometry","width":7.6,"height":0.2,"depth":0.56},"position":[0,0.3,2.72]}]}}
Or take the whole pack, which brings every entry and every material at once:
cat packs/pools.ndjson model.ndjson > dressed.ndjson
Download pools pack
31 KB · NDJSON ↓