{"schema":"blu-grounds/2","frame":"a project file local metres: E = x, N = y (grid north). h = metres above the street plane. App world: x = E, y = G + h, z = -N.","decision":"D1: inside data/plot.json the app shows the finished development as designed (developer renders VIEW 11, 17-1, 1, 49, the promo film LBM Cavalli Tower.mp4, the Cavalli brochure p34 to p47). Plant species and furniture are illustrative.","credits":"Pools, decks, planting, furniture, the sandy beach with umbrellas, the palm promenade, the park and the roundabout follow the developer renders, promo film and brochure; plant species, stone finishes and furniture are illustrative. Close-up materials and planting textures from photographs by ambientCG and Poly Haven (CC0).","sources":{"proposal":"grounds layout of round 1 (VIEW 11 ray picks, the drone ortho of clip 0534, brochure p35 legend, promo frames)","north":"curved planter walls traced by eye from the drone ortho of clip 0534 (0.2 m per px) at 20 px per metre"},"colours":{"stone":"#e9e4dc","ledge":"#f7f5f0","coping":"#f4f1ea","deck":"#f6e8e0","terracotta":"#9b6b5a","terraBand":"#a06e5c","roadYellow":"#c9a94e","r3Note":"realism round 3 (his 'red line' note): the terracotta surfaces muted toward the renders (VIEW 11 sunlit band L 56 a 24 b 24; the app's band read L 49 a 33 b 31 at eye level, the deck ring L 63 a 31 b 38): terracotta #a2604a -> #9b6b5a, cycle #7c4c40 -> #855f50; terraBand = the promenade's sea side band as terracotta pavers; roadYellow = the street's kerb lines","lawn":["#56603f","#68704f"],"lawnLow":"#57553f","asphalt":"#5d5f61","path":"#d8d0c2","kerb":"#cfc8bb","hedge":["#3a5122","#526a2c"],"tile":"#c3dbee","floor":"#4f86c0","glazed":"#8e9aa1","white":"#f6f4ef","cushion":"#efe9df","olive":["#5c6b3e","#77825a"],"trunk":"#6b5a48","cypress":"#3c5527","palm":"#5f7a34","soft":"#9b6a55","bay":"#f2f2ee","sand":["#d4bb98","#dfc9a8"],"sandR4":"realism round 4 (his screenshot 45: 'flat orange'): the light natural sand of the renders (was #bb8f74, #c79d82)","promenade":"#b0aeab","cycle":"#855f50","gravel":"#9c907a","shell":"#e3e0d9","court":"#b9b6b0","meadow":["#6b6845","#807852","#4c5a33"],"bed":"#4a4232"},"levels":{"deck":{"h":7.2,"poly":[[-16.9,3.8],[-8,-13.4],[4.3,-27.7],[24.8,-32],[31.4,-31],[47,-29],[51.1,-29],[54.5,-27.5],[60,-24],[64,-10],[75,-6],[86,2],[89,14],[84.5,29.1],[76,40],[62.9,51.69],[53.36,66],[-38.5,66],[-37.5,52],[-35.6,40],[-34.4,33],[-32.6,22],[-30.8,15.5],[-25,9.6]],"faces":["retain","retain","retain","none","stone","stone","stone","stone","stone","stone","stone","stone","stone","stone","stone","stone","green","green","stone","stone","stone","stone","stone","stone"],"facesKey":"per edge i (poly[i] to poly[i+1]): retain = retaining wall down to the +4 deck with a hedge on top; stone = podium wall #e9e4dc to the street with the 0.5 m white ledge fascia; glazed = shopfront / lobby glass band; green = stone wall under a hanging greenery skirt over the full face height (2 card layers, about 70 % cover; GRD-28, promo 02); none = no wall (the infinity edge)","lobbies":{"face":17,"at":[-11,26],"w":8,"h":4,"sill":0.1},"wash":{"h":0.4}},"southDeck":{"h":4,"edge":[[-16.9,3.8],[-8,-13.4],[4.3,-27.7],[24.8,-32],[31.4,-31],[47,-29]],"poly":[[-16.9,3.8],[-19.67,0.58],[-7.88,-24],[4.9,-43.66],[21.61,-65.28],[35.5,-64],[35.8,-56],[34.6,-50],[24.6,-32.6],[24.8,-32],[4.3,-27.7],[-8,-13.4]],"faces":["planted","planted","glazed","stone","stone","stone","stone","none","none","none","none","none"],"batter":[[-16.9,3.8],[-19.67,0.58],[-7.88,-24]],"greenRoof":[[8,-28],[24,-34],[28,-45],[16,-57],[5,-40]]},"northTerrace":{"h":3,"poly":[[-17,87.5],[19.5,92],[21,100],[18,116],[-17.5,100.5]],"faces":["stone","stone","stone","stone","stone"]}},"outline":[[-16.9,3.8],[-19.67,0.58],[-7.88,-24],[4.9,-43.66],[21.61,-65.28],[35.5,-64],[35.8,-56],[34.6,-50],[34.92,-49.39],[39.08,-46.61],[31.4,-31.4],[31.4,-31],[47,-29],[51.1,-29],[54.5,-27.5],[60,-24],[64,-10],[75,-6],[86,2],[89,14],[84.5,29.1],[76,40],[62.9,51.69],[53.36,66],[-38.5,66],[-37.5,52],[-35.6,40],[-34.4,33],[-32.6,22],[-30.8,15.5],[-25,9.6]],"pools":{"lagoon":{"water":7.05,"depth":1.4,"chaikin":2,"coping":0.6,"glow":1,"poly":[[15.1,18.1],[13.1,16.5],[13.1,12.7],[11.9,12.5],[11.5,10.3],[12.3,6.1],[13.9,4.7],[14.7,-7.3],[15.9,-7.5],[15.9,-11.5],[17.3,-11.5],[24.9,-18.7],[25.6,-24.6],[24.8,-32],[31.4,-31],[32.9,-26],[33.3,-15.9],[34.3,-8.1],[32.7,-0.5],[29.9,4.5],[27.1,7.3],[27.1,9.1],[18.9,13.5],[17.9,16.1],[16.7,16.7],[16.7,18.1]],"keepStraight":[[24.8,-32],[31.4,-31]]},"island":{"c":[19.6,10.2],"r":2.8,"planter":0.5},"spa":{"c":[25,16.5],"r":3.5,"water":7.15,"depth":1,"coping":0.5,"glow":1.4},"infinity":{"a":[24.8,-32],"b":[31.4,-31],"top":7.05,"bottom":6,"channel":0.3},"linear":{"water":6,"depth":1,"rim":6.15,"glow":1.2,"poly":[[24.8,-32.4],[31.4,-31.4],[39.08,-46.61],[34.92,-49.39]],"axis":[[27,-33],[37,-48]],"jets":{"n":8,"pitch":2.2,"height":1.5}},"lower":{"water":1,"depth":0.6,"rim":1.15,"coping":0.45,"glow":1.2,"poly":[[37.1,-45.2],[45.6,-55.7],[53,-66.3],[49,-74.8],[43.8,-79.6],[38.7,-71.6],[37.2,-62.6],[39.1,-55.2]],"islands":[[41,-54],[44,-60],[46.5,-66],[45,-72.5]],"islandR":1.8,"jets":{"n":10,"rim":"east","height":1.6},"cascade":{"a":[34.92,-49.39],"b":[39.08,-46.61],"top":6,"bottom":1}}},"areas":[{"id":"north_court","kind":"path","h":0.045,"colour":"court","poly":[[-48,80],[-50,95],[-29.5,104],[9.8,108],[30,114],[38,100],[44,82],[20,72],[-20,72]]},{"id":"east_lawn","kind":"lawn","stripes":true,"poly":[[58,-34],[78,-31],[110,-24],[126,-38],[100,-58],[70,-74],[55,-60]]},{"id":"service_road","kind":"asphalt","line":[[49,-31.6],[55.5,-32.4],[64.5,-31.6],[75,-28],[95,-20.6],[116,-21.6]],"width":6.5,"kerb":true},{"id":"lower_plaza","kind":"path","poly":[[35.2,-44],[41,-40.5],[49,-47],[57.5,-64.5],[55.6,-76],[52,-80],[43.6,-83],[36,-74],[34.6,-64.6],[35.8,-56],[34.3,-49.8]]},{"id":"restaurant_forecourt","kind":"path","poly":[[34,-80],[45,-76.5],[53.6,-79.5],[54,-91],[44.6,-103],[41.5,-103.4],[33.4,-95.6],[31,-86]]},{"id":"green_roof_north","kind":"lawn","h":7.2,"poly":[[-2,48],[14,40],[26,58],[10,66],[-4,62]]},{"id":"playground","kind":"soft","poly":[[-47.5,82.5],[-36,84.5],[-34.5,92],[-46.5,91]]},{"id":"parking_west","kind":"asphalt","line":[[-52,70],[-50,40],[-46,33.5]],"width":8,"offset":[-1,7],"bays":{"depth":5,"w":2.5,"side":"in"}},{"id":"dropoff_north","kind":"asphalt","ring":{"c":[29,84],"r0":5,"r1":11.5}},{"id":"dropoff_drive","kind":"asphalt","line":[[38,86],[50.6,84]],"width":7},{"id":"north_paths","kind":"path","lines":[[[29,70],[22,67]],[[19,78],[8,75],[-6,72],[-22,70],[-40,71.5],[-55,70]],[[-41,71.5],[-41,83]]],"width":3,"ringPath":{"c":[29,84],"r0":11.5,"r1":14}},{"id":"car_park_entrance_e","kind":"asphalt","line":[[38.5,104],[27.2,107.5]],"width":6.5,"portal":true}],"northPlanters":{"kerb":0.6,"strips":[{"w":1.6,"line":[[-40,68],[-35,69.2],[-30,70.5],[-25,72],[-20,73.5],[-16,75],[-12.5,76.5],[-8,78],[-4.5,78.8]]},{"w":1.4,"line":[[-20,78.5],[-15,79.8],[-10,81],[-5.5,82.6],[-1,84.4],[3,86.4],[6.5,89]]},{"w":1.4,"line":[[-49.8,79],[-49.4,75.2],[-47,72.6],[-43.4,71.2],[-39,70.6]]},{"w":1.2,"line":[[10.4,84.6],[12.2,80.4],[15.6,77],[19.8,74.6]]},{"w":1.5,"arc":{"c":[29,84],"r":15.2,"a0":-70,"a1":95}}],"beds":[{"poly":[[10.5,85],[12,89.5],[15,92.5],[19,94],[23,93.8],[26,92.5],[23.8,91],[20,90.4],[16.5,89],[14,86.6],[12,85]]}],"rounds":[{"c":[-0.5,80],"r":3.3,"tree":true},{"c":[5,68.6],"r":5,"tree":true}],"fountain":{"c":[29,84],"r":5,"basin":0.5}},"buildings":{"restaurant":{"plan":[[44.4,-77.5],[50.8,-93.8],[42.9,-101.7],[35.5,-94],[37,-84.4]],"top":5.5,"thick":0.35,"boxInset":2.2,"boxTop":3.6,"sail":{"segments":3,"low":1.2,"high":6.5,"thick":0.25}},"guardHouse":{"c":[-55.6,71],"w":4,"d":3,"h":3,"rotDeg":2}},"pergola":{"line":[[-6,13],[4,17],[13,22],[22,25],[31,24],[40,22],[48,17],[54,10],[56,3]],"depth":4.5,"pitch":6,"r":0.25,"beam":[11.4,11.7],"gaps":0.15,"hang":{"depth":1.5,"step":0.8},"towerClear":[3,4]},"night":{"a":[0.073,0.025,0.17,2.1],"b":[0.03,0.08,0.1,0.05],"c":[1.1,1,0,0],"lightChain":{"a":[0,0.02,0.08,1.6],"b":[0.02,0.06,0.06,0.03]}},"lowSun":{"rgb":[1,0.93,0.84],"lawn":0.22,"ground":0.36},"water":{"shallow":"#a4b8c8","deep":"#56708c","env":0.6,"opacity":0.76,"basinTint":[0.6,0.6,0.64]},"terracottaBand":{"c":[36.5,-3.5],"r":36,"w":1.2},"terraces":{"faceTo":[36.5,-3.5],"dotMin":-0.25,"towers":{"poseidon":{"w":7.5,"benches":1},"cavalli":{"w":5.5,"benches":2},"oceanus":{"w":4.5,"dotMin":0.1,"benches":1}},"pergolaWalk":{"w":6},"paths":[],"cafe":{"tower":"poseidon","anchor":[5.8,21.1],"az":50,"pitch":3.1,"tables":8,"tablesPhone":5}},"props":{"loungers":{"fields":[{"id":"west","box":[[-14,-34],[32,26]],"rowAz":145,"pair":1,"gap":2.4,"rowPitch":3.2,"max":0,"maxPhone":0,"r3":"realism round 3 (26 Oct, his screenshot 33 'sunbed mess'): the lattice is off (max 0): its loungers filled every gap left between the cabanas, trees and the curved rows in a third direction; the west deck is the cabanas' (Elevated Podium Close Up), the loungers stand in the curved rows, the north and south rows"},{"id":"eastCurve","offsets":[3,6.2,9.4],"r3":"realism round 3: three tidy rows as the Elevated Podium Close Up (loungers side by side along the pool curve, a walkway to the water, a parasol over every pair, 1.95 m between pairs); the 4 staggered rows with a parasol over every second pair, plus the lattice, read as a mess from above (his screenshot 33)","from":[40,12],"to":[46,-18],"pair":1,"gap":1.95,"parasolEvery":1,"max":60,"maxPhone":32},{"id":"north","rows":[[[20,20.5],[33,13.5]],[[17.5,24],[29.5,17.5]]],"n":7,"nPhone":4},{"id":"south","rows":[[[6,-24.6],[21.5,-27.9]],[[8,-21.4],[20,-23.9]]],"n":7,"nPhone":3}]},"cabanas":{"c":[4,-14],"n":[8,7],"pitch":4.4,"az":145,"size":[2.4,2.4,2.4],"skipCopingM":2,"pottedOlive":{"planter":0.9,"every":2},"ringOnly":true,"ringPad":0.6,"nMin":-19,"r3":"realism round 3 (his screenshots 26, 33: 'white cabanas standing among the trees and planting'): only cells on the paved deck inside the terracotta circle are kept (ringOnly; VIEW 11 and the Elevated Podium Close Up show the cabanas on the paving west of the lagoon, in a tight grid with potted olives); the grid re-fitted to that paving (was c [6, -10], n [6, 5], pitch 5.2: 7 of its 17 cabanas stood on the planted roof); cells south of N -19 left to the south lounger rows"},"parasols":{"n":20,"r":1.4},"daybeds":{"r":1.2}},"trees":{"olive":{"deckSW":{"along":"levels.southDeck.edge","pitch":6,"inset":2.2,"n":12,"planter":1.2},"island":[[19.6,10.2]],"greenRoof":[[12,-36],[18,-38],[22,-43],[14,-46],[17,-51],[10,-40]],"deckPlanters":[[58,13],[64,4],[70,12],[60,-6],[70,-2]],"deckPlantersNote":"realism integ (26 Oct): olives in 1.2 m planters on the open east part of the pool deck (Elevated Podium Close Up render: olives between the lounger groups)","deckLawn":[[-31,54],[-25,60],[-17,61.5],[-33,61],[-9,62],[-28.5,48.5],[80,8],[84,17],[78,25],[86,6]],"deckLawnNote":"realism integ (26 Oct): + 4 on the deck lawn east of the pool deck ring, under Oceanus (VIEW 11 and the podium render show it planted)","eastLawnN":30,"parkTrees":{"n":34,"nPhone":16,"scale":[1.45,1.9],"realism":"realism integ (26 Oct): eastLawnN 20 -> 30, n 24 -> 34, nPhone 12 -> 16 (VIEW 11: the lawn between the towers and the promenade reads as a dense tree band; ours sparse)"},"eastLayout":{"bandShare":0.7,"band":[3,15],"roadBand":[4,11],"minSpacing":4.8,"centreClear":14,"realism":"realism integ (26 Oct): band 4..10 -> 3..15 m, road band 5..9 -> 4..11 m, spacing 6 -> 4.8 m: the 44 asked trees found room for 23 only"},"northTerrace":[[-10,95],[-2,99],[6,103],[14,106],[2,93],[12,97]],"greenRoofNorth":[[4,50],[12,48],[4,58],[16,56]]},"cypress":{"line":[[-39.2,52],[-37.2,40],[-36,33],[-34.2,22],[-32,14.6],[-26,8.4],[-19.5,3.4],[-10.6,-13.8],[3,-30],[9,-32.4]],"pitch":4,"h":[8,10]},"palms":{"line":[[70,-71],[100,-55],[123,-38.5]],"n":8,"h":[9,12]},"palmGrove":{"points":[[29.5,-72,"phoenix",11.5],[33.5,-77.5,"phoenix",10],[26.5,-66.5,"phoenix",8],[58,-38,"palm",13],[60.5,-45,"palm",12],[59,-55,"palm",14],[63,-64,"palm",12.5],[54.5,-71,"palm",11],[62,-26,"palm",12],[40.5,-117.6,"phoenix",6]],"realism":"realism palms stream (26 Oct): the palms are real downloaded models now (js/garden.js: 'phoenix' a canary palm, 'palm' a tall date palm; Envato Elements, TurboSquid, licensed to Limassol Blu Marine 3D (Leptos)); + 1 young canary palm on the roundabout lawn (VIEW 11 shows a palm there among the shrubs). The promenade rows stay palm free: VIEW 11 and VIEW 17-1 show broadleaf rows"},"cypressGroups":{"points":[[11.5,36,16],[14.2,40.5,17.5],[41,-33,10.5],[44,-35.5,11.5],[47,-33.2,10],[45,-39,12],[49,-37,11]]},"species":{"olive":{"h":[5,7],"crown":5},"carob":{"h":[7,9],"crown":6.5},"pine":{"h":[10,14],"crown":9},"cypress":{"h":[8,10],"crown":1.9},"palm":{"h":[10,14],"crown":4.2},"columnar":{"h":[8,10],"crown":3.2},"phoenix":{"h":[8,12],"crown":9},"map":"deck, roof, terrace and planter trees, east lawn: olive; east lawn park trees: carob; cypress row and the promenade's inner row (slim columnar, lighter tint): cypress; palm line and promenade outer row E 60 to 180: palm; promenade outer row: carob (round headed 6 to 7 m); SW park: olive 45 %, carob 25 %, stone pine 30 %"}},"lights":{"downlightPitch":8,"spillM":3,"wallGlowM":2.5},"textures":{"desktop":{"color":1024,"nrm":512,"trav":2048,"travn":1024,"atlas":2048,"prefer":"webp"},"phone":{"color":512,"nrm":256,"trav":0,"travn":0,"atlas":1024,"prefer":"ktx2"},"layers":[{"id":"trav","sizeM":4.8,"mean":[0.71588,0.5787,0.39792],"source":"ambientCG Travertine009, pavers 1.2 x 0.6 m running bond composited, 5 mm joints, 1 cm chamfer, pores"},{"id":"marble","sizeM":1.2,"mean":[0.93005,0.91684,0.89591],"source":"ambientCG Marble021"},{"id":"mosaic","sizeM":0.5,"mean":[0.09004,0.28659,0.34393],"source":"ambientCG Tiles020 (pool mosaic, 5 cm)"},{"id":"sand","sizeM":2,"mean":[0.45734,0.3414,0.16181],"source":"ambientCG Ground080"},{"id":"grass","sizeM":1.4,"mean":[0.05632,0.10197,0.02115],"source":"ambientCG Grass001"},{"id":"paving","sizeM":3.5,"mean":[0.34619,0.3228,0.26636],"source":"ambientCG PavingStones128, per-slab contrast halved"},{"id":"asphalt","sizeM":2.1,"mean":[0.05389,0.05597,0.05627],"source":"Poly Haven clean_asphalt"},{"id":"gravel","sizeM":1.5,"mean":[0.2023,0.191,0.15522],"source":"ambientCG Gravel022"},{"id":"hedge","sizeM":1,"mean":[0.13949,0.2472,0.03408],"source":"ambientCG LeafSet024 + LeafSet022 leaves stamped"},{"id":"fabric","sizeM":0.25,"mean":[0.11099,0.10899,0.11051],"source":"ambientCG Fabric030"}],"atlas":{"cells":{"olive":[0,0,0.25,0.25],"carob":[0.25,0,0.25,0.25],"pine":[0.5,0,0.25,0.25],"cypress":[0.75,0,0.25,0.25],"phoenix":[0,0.25,0.5,0.25],"fan":[0.5,0.25,0.25,0.25],"core":[0.75,0.25,0.25,0.25],"palmBark":[0,0.5,0.25,0.25],"bark":[0.25,0.5,0.25,0.25],"grass":[0.5,0.5,0.25,0.25],"agave":[0.75,0.5,0.25,0.25],"bougainvillea":[0,0.75,0.25,0.25],"shrub":[0.25,0.75,0.25,0.25],"oleander":[0.5,0.75,0.25,0.25],"columnar":[0.75,0.75,0.25,0.25]}},"landscape":{"desktop":{"color":1024,"nrm":1024,"prefer":"auto","preferN":"webp","preferNote":"colour as KTX2 (BC7 on a desktop GPU: 2.8 MB, the WebP would be 11 MB of GPU memory), normals as WebP (0.6 MB download against 1.8 MB of UASTC)"},"phone":{"color":512,"nrm":256,"prefer":"ktx2"},"layers":[{"id":"sand","sizeM":2.6,"mean":[0.72803,0.49896,0.27563],"source":"Envato Elements (TurboSquid) 'Detailed Earth Block Section: Desert Sand & Stone', licensed to Limassol Blu Marine 3D (Leptos): its top face, seamless, lightened to a beach sand"},{"id":"hedge","sizeM":0.8,"mean":[0.05827,0.08558,0.04411],"source":"made: small clipped hedge leaves in clumps rendered in Blender (leaf photograph: Envato 'Detailed Shrub Hedges Collection', licensed to Limassol Blu Marine 3D (Leptos))"}]},"credits":"Close-up materials and planting textures: ambientCG and Poly Haven (CC0)."},"frontage":{"build":{"pad":0.5,"sandEdgeH":-1,"waterlineH":-2.72,"waterlineR4":"realism round 4 (item 9): -2.95 -> -2.72: the sea plane is at y 0 (h -2.7), the sand met it 3 to 4 m landward of the designed waterline, so the wet band, the swash and the sea's own surf line (sea.js, on the designed waterline) sat under 0.25 m of opaque water; now the sand meets the sea at the designed waterline and runs on under it (seaApron)","seaApron":{"w":14,"slope":0.085},"wetBandM":6,"foamM":3,"kerbW":0.4,"promenadeH":0.05,"cycleW":3,"cycleInset":1.5,"redBandW":1.6,"roundabout":{"lawnH":0.35,"kerb":0.3,"trees":2,"shrubs":6},"umbrellaGrid":[3.3,5.6],"umbrellaAz":54,"parasol":{"r":1.3,"h":2.4},"lamps":{"h":4.2,"pitch":18,"fromSand":5.75},"benches":{"pitch":25,"size":[1.8,0.5,0.45],"fromSand":1.1},"redBandFrom":3.41,"r3Section":"realism round 3 (item 5, 'the red line', checked against VIEW 11): the renders have two terracotta paths and both stay: the land side cycle path (with the inner tree row) and the sea side band, which in VIEW 11 runs on the LAND side of the outer tree row (sand | tree row | band | paving), round the roundabout's sea side. Section from the sand edge: stone kerb 0 to 0.4, paving 0.4 to 1.75 with sea facing benches (1.1), the outer tree row's kerbed bed 1.75 to 3.25, the terracotta band 3.41 to 5.01 (muted terracotta pavers, granite edges), lamps at 5.75, then the paving","sightGap":{"cams":[[144.4,-294.3],[124.4,-237.7]],"targets":["lower_plaza"],"pad":1.5},"innerRow":{"pitch":5,"pitchRealism":"realism integ (26 Oct): 6 -> 5 m, VIEW 11's promenade rows read as a continuous canopy","plotInset":2,"edgeInset":0.8,"from":[52,-96],"to":[130,-40],"end":[290,52],"h":[8.5,11],"w":1.9,"r3":"realism round 3: 9..12 -> 8.5..11 m (VIEW 1: the crowns stay under the deck line seen from the sea)"},"outerRow":{"pitch":5.5,"pitchRealism":"realism integ (26 Oct): 7 -> 5.5 m","fromSand":2.5,"h":[5.2,6.4],"sp":"olive","w":1,"bed":{"w":1.5},"r3":"realism round 3, item 10 (the 'lollipop' trees of his screenshots 24 and 28): the row's carob at 0.92 width read as a round ball on a tall bare trunk; olive-type round heads 5.2 to 6.4 m with the crown down to about 2 m, in a 1.5 m kerbed planting bed (VIEW 11's planted strip)","palms":false,"palmE":[60,180],"palmH":[10,12]},"park":{"meadowH":0.05,"paths":3,"pathW":2.4,"trees":470,"treesPhone":170,"crownScale":1.5,"treesPhaseA":"phase A: VIEW 11 and VIEW 17-1 show a closed olive woodland (canopy over most of the park, paths hidden): 470 trees, olive and carob crowns 1.5 x wider (mature, 5 to 7 m across), 4.5 m spacing; phones 170","minSpacing":4.5,"pathClear":3,"mix":{"olive":0.6,"carob":0.2,"pine":0.2},"shrubs":250,"shrubsPhone":100,"beds":26,"northEdge":"conservative (the optional northNote extension is NOT taken: we do not know that building group is temporary; D1)"},"access":{"endBeforeRing":3,"r4end":"his note 26 Oct evening, the top-down view at the roundabout: cut the street before it enters the circle: the asphalt, markings, cycle lane, kerbs and lamps end 3 m before the roundabout's outer paving ring at a granite kerb, the circle's paving beyond","asphaltW":5.8,"kerbW":0.25,"cycleW":1.6,"pavementW":1.6,"westPavementW":1.2,"kerbH":0.14,"roadH":0.125,"width":10,"markings":{"w":0.12,"dash":3,"gap":3},"lamps":{"h":7,"pitch":26,"arm":1.3},"r3":"realism round 3, item 7: the street (OSM Edisson, brochure p35) in the 9 to 11 m strip: park side pavement 1.2 m and kerb, two narrow asphalt lanes (dashed white centre line, yellow kerb lines), the terracotta cycle lane narrowed 3.0 -> 1.6 m behind its kerb (VIEW 11 draws it as a thin strip) with white edge lines, the plot side pavement 1.6 m; street lamps on arms every 26 m; no cars","north":{"east":[[-96,156],[-88,141],[-79,126],[-70,111],[-63.5,97],[-61,80],[-60,60],[-53.5,32.5],[-37.5,8]],"width":10.4}}},"elements":[{"id":"sand_edge","kind":"line","rgba":[255,210,120,255],"line":[[18,-156],[34,-146],[48,-137],[62,-123],[85,-102],[102,-92],[126,-73],[153,-58],[184,-34],[220,-9],[253,10],[263,13],[300,36]]},{"id":"render_waterline","kind":"line","rgba":[0,160,255,255],"endsR5":"realism r5 beach (his round 4 notes 'the beeach is weirdly shaped', 'you forgot to do these edges here'): both ends of the waterline now curve into today's coast (sea_near.png's OSM coastline) instead of stopping at a corner, so the sand, the wet band, the apron, the foam strip and the sea's surf line run on round the beach's ends without a notch: south-west a curve from E 57 round the old corner (30, -178) to the coast at (39.6, -201), tangent to both; north-east on from (303, 28) to the coast at (334, 49.4), where the beach tapers into the sand of the existing shore","line":[[39.6,-201],[38.2,-196.4],[37.5,-192],[37.5,-187.8],[38.2,-183.8],[39.6,-180],[41.7,-176.4],[44.5,-173],[48,-169.8],[52.1,-166.8],[57,-164],[80,-147],[108,-124],[148,-93],[177,-76],[204,-50],[254,-7],[276,9],[303,28],[308,32.1],[313.1,35.9],[318.2,39.6],[323.4,43.1],[328.7,46.3],[334,49.4]]},{"id":"beach","kind":"poly","rgba":[235,200,140,200],"beachEndR3":"realism r3 sea (his 'the beeach is weirdly shaped'): the straight SW end replaced by a rounded tip along the sea mask's coast, filling the gap to the env ground","endsR5":"realism r5 beach: the sand edge, the north-east end chain, the waterline (curved ends, render_waterline) back to the south-west end chain. endChains: the land side of each end, [E, N, h] from the sand edge's end round to the waterline's end (north-east) and from the waterline's end round to the sand edge's start (south-west): the sand meets the land there at h (rising from the waterline's -2.72 to the sand edge's -1.0; north-east it stays low, the existing shore is near sea level) instead of dipping toward the apron's depth under the land side (grounds.js sandH, hook r5_beach/hooks/grounds.js.md); the env ground's bank rises from there to the yard (js/envground.js)","poly":[[18,-156],[34,-146],[48,-137],[62,-123],[85,-102],[102,-92],[126,-73],[153,-58],[184,-34],[220,-9],[253,10],[263,13],[300,36],[302,44],[306,48.5],[314,51],[322,53],[333,53.5],[334,49.4],[328.7,46.3],[323.4,43.1],[318.2,39.6],[313.1,35.9],[308,32.1],[303,28],[276,9],[254,-7],[204,-50],[177,-76],[148,-93],[108,-124],[80,-147],[57,-164],[52.1,-166.8],[48,-169.8],[44.5,-173],[41.7,-176.4],[39.6,-180],[38.2,-183.8],[37.5,-187.8],[37.5,-192],[38.2,-196.4],[39.6,-201],[35,-203.5],[29,-202.5],[23.5,-198.5],[18.5,-192.5],[15,-185],[13,-177],[13,-168.5],[15,-161.5]],"endChains":[[[300,36,-1],[302,44,-2.25],[306,48.5,-2.05],[314,51,-2],[322,53,-2],[333,53.5,-2.4],[334,49.4,-2.72]],[[39.6,-201,-2.72],[35,-203.5,-1.95],[29,-202.5,-1.3],[23.5,-198.5,-1.15],[18.5,-192.5,-1.1],[15,-185,-1.05],[13,-177,-1],[13,-168.5,-1],[15,-161.5,-1],[18,-156,-1]]]},{"id":"promenade","kind":"poly","rgba":[200,200,200,200],"poly":[[43,-104],[52,-96],[68,-77],[100,-61],[130,-40],[160,-26],[190,-8],[246.7,29.7],[290,52],[300,36],[263,13],[253,10],[220,-9],[184,-34],[153,-58],[126,-73],[102,-92],[85,-102],[62,-123],[48,-137],[34,-146],[18,-156],[6,-146],[21,-128],[24,-112]]},{"id":"roundabout","kind":"ellipse","rgba":[90,200,90,255],"c":[40.6,-117.3],"a":11.6,"b":8.4,"azDeg":139,"ringW":7},{"id":"umbrellas","kind":"clusters","rgba":[255,255,255,255],"r4":"realism round 4, item 11 (his screenshot 45: 'the clusters read as grids'): VIEW 11 counted again: rows parallel to the waterline 5 to 6 m apart with a clear lane between them, a parasol every 3.3 m along a row over its two loungers (feet to the sea); 2 x 2, 3 x 4, 2 x 3 and 3 x 6 (rows x parasols); 40 parasols, 80 loungers (phones every second)","clusters":[{"c":[161.4,-64],"rows":2,"cols":2},{"c":[140.2,-83.3],"rows":3,"cols":4},{"c":[113.5,-101],"rows":2,"cols":3},{"c":[88,-121],"rows":3,"cols":6}]},{"id":"promenade_trees","kind":"rows","rgba":[40,140,40,255],"inner_offset_inside_plot_edge_m":2,"outer_offset_from_sand_edge_m":2.5,"pitch_inner_m":6,"pitch_outer_m":7},{"id":"sw_park","kind":"poly","rgba":[60,200,60,255],"poly":[[-125,-18],[-80,-14],[-46,-14],[-32,-12],[-28.5,-18.5],[-12,-35],[-0.3,-58.9],[21.9,-90.9],[22.6,-91.7],[21,-112],[14,-130],[-2,-148],[-26,-176],[-50,-200],[-90,-190],[-125,-150]]},{"id":"access_road","kind":"poly","rgba":[120,120,130,220],"poly":[[-32,-12],[-28.5,-18.5],[-12,-35],[-0.3,-58.9],[21.9,-90.9],[22.6,-91.7],[24,-112],[43,-104],[33,-96],[30,-85],[8,-53],[-4.5,-28.5],[-21,-12]]}]}}