<!-- SOLID CITY · part 501 -->
ral Roads terrace
  if (window.CityVillageMauna && CityVillageMauna.standY) { var vy = CityVillageMauna.standY(P.x, P.z); if (vy > gy) gy = vy; }
  if (window.CityMountainHomes && CityMountainHomes.standY) { var mhy = CityMountainHomes.standY(P.x, P.z, P.y); if (mhy > gy) gy = mhy; }   // stand in the Ancestors' Homes (pads, lanai, floors, stairs)   // stand on Kauhale Mauna terraces
  if (window.CitySkyTrain && CitySkyTrain.standY) { var sky2 = CitySkyTrain.standY(P.x, P.z, P.y); if (sky2 > gy) gy = sky2; }   // stand on the sky trains' observation decks + the ward station discs
  if (window.CityRingCity && CityRingCity.standY) { var rc2 = CityRingCity.standY(P.x, P.z, P.y); if (rc2 > gy) gy = rc2; }   // stand on the Ring City's floors and port
  if (window.CityCrystalCrown && CityCrystalCrown.standY) { var cc2 = CityCrystalCrown.standY(P.x, P.z, P.y); if (cc2 > gy) gy = cc2; }   // stand on the Crystal Crown's land
  if (window.CityStairOfLight && CityStairOfLight.standY) { var sl2 = CityStairOfLight.standY(P.x, P.z, P.y); if (sl2 > gy) gy = sl2; }   // stand on the Stair of Light
  if (window.CityServitude && CityServitude.standY) { var sv2 = CityServitude.standY(P.x, P.z, P.y); if (sv2 > gy) gy = sv2; }   // stand on the Servitude's layers
  if (window.CityTunnelBore && CityTunnelBore.standY) { var ty = CityTunnelBore.standY(P.x, P.z); if (ty > gy) gy = ty; }   // stand on the Bore floor
  if (window.CityStarwell && CityStarwell.standY) { var wy = CityStarwell.standY(P.x, P.z); if (wy > gy) gy = wy; }   // stand on the Starwell floor
  if (window.CityHyperTrain && CityHyperTrain.standY) { var hy = CityHyperTrain.standY(P.x, P.z); if (hy > gy) gy = hy; }   // stand on train platforms
  if (window.CityHyperCity && CityHyperCity.standY) { var hcy = CityHyperCity.standY(P.x, P.z); if (hcy > gy) gy = hcy; }   // stand on hyper building floors
  if (window.CityAnnex && CityAnnex.standY) { var any = CityAnnex.standY(P.x, P.z); if (any > gy) gy = any; }   // stand on the Annex floors
  if (window.CityQuadrantCrown && CityQuadrantCrown.standY) { var qcy = CityQuadrantCrown.standY(P.x, P.z); if (qcy > gy) gy = qcy; }   // stand on Quadrant Crown floors
  if (window.CitySpaceport && CitySpaceport.standY) { var spy = CitySpaceport.standY(P.x, P.z); if (spy > gy) gy = spy; }
  if (window.CityLostWings && CityLostWings.standY) { var lwy = CityLostWings.standY(P.x, P.z, P.y); if (lwy > gy) gy = lwy; }
  if (window.CityOctaPool && CityOctaPool.standY) { var opy = CityOctaPool.standY(P.x, P.z, P.y); if (opy > gy) gy = opy; }
  if (window.CitySkyward && CitySkyward.standY) { var sky = CitySkyward.standY(P.x, P.z, P.y); if (sky > gy) gy = sky; }   // stand on the Skyway Branch deck
  if (window.CityJubilee && CityJubilee.standY) { var jub = CityJubilee.standY(P.x, P.z, P.y); if (jub > gy) gy = jub; }   // stand on the Jubilee discs
  if (window.CitySouthGate && CitySouthGate.standY) { var sgt = CitySouthGate.standY(P.x, P.z, P.y); if (sgt > gy) gy = sgt; }   // stand on the South Gate's deck
  if (window.CityWardHouses && CityWardHouses.standY) { var wh = CityWardHouses.standY(P.x, P.z, P.y); if (wh > gy) gy = wh; }   // stand in the Pilot House + on the joins
  if (window.CityBetweenStones && CityBetweenStones.standY) { var bsy = CityBetweenStones.standY(P.x, P.z, P.y); if (bsy > gy) gy = bsy; }
  if (window.CityFirstParking && CityFirstParking.standY) { var pky = CityFirstParking.standY(P.x, P.z, P.y); if (pky > gy) gy = pky; }   // stand on the South Lot (apron, ramp, lot, Long Road) and the First City podium   // stand on the Between Stones platform   // stand at the Octahedron Pool (terrace + wading floor)   // stand in the Lost Wings Grove (clearing + deck)   // stand on the spaceport pads (Spatial Intelligence)
  if (window.CityImperialColosseum && CityImperialColosseum.pos) { var cp = CityImperialColosseum.pos; if (Math.hypot(P.x - cp.x, P.z - cp.z) < 290) { var cy = (function(){ try { return CityImperialColosseum.group().position.y + 2; } catch(e){ return -1000; } })(); if (cy > gy) gy = cy; } }   // stand on the Imperial Colosseum terrace
  var sty = solidsTopSupport(P.x, P.z, 0); if (sty > gy && sty <= P.y + STEP_UP) gy = sty;   // COLLISION ON FOR ALL THINGS (the King's word, 2026-10-13), REFINED the same day by the support classes: every solid still collides; only a solid whose meaning is support may hold a walker — under the same eligibility gate as every standing law; since THE GATE SPLIT (2026-10-14) that gate is STEP_UP, 0.45 m for a walker
  if (!RF && gy < 1 && heightAt(P.x, P.z) < -1.5) { P.x -= (P.x - (P.lx || P.x)); P.z -= (P.z - (P.lz || P.z)); gy = groundAt(P.x, P.z); help('The sea is too deep to walk — take a ship from the spaceport.', 3); }
  P.lx = P.x; P.lz = P.z;
  if (RF) {
    if (S.rflyLand) { if (P.y <= gy + 0.02) { P.y = gy; S.rfly = false; S.rflyLand = false; S.rflyV = 0; if (window.CityRoyal && CityRoyal.onLand) CityRoyal.onLand(); } }
    else if (P.y 