feat(pa): clear generated PA dressing for Creator Store assets
Three changes, all behind flags rather than deletions so the surveyed geometry is recoverable: 1. Stall paint off (DRAW_STALL_PAINT=false). Row placement math and the PACapacity record still compute; they just emit no parts. 2. PARing deck removed. It laid a 44-wide circular band of road deck around the PA, measured flush with the apron (both tops y=47.00) and entirely inside the apron footprint -- redundant pavement reading as a leftover ring where the old barriers were. The arc loop still runs; junctions, ramps and flares are still positioned off it. 3. Generated PA structures off (DRAW_PA_STRUCTURES=false): PAHonkan, PANibankan, PAToiletNorth, PAKioskWest, PAHutWest + glazing, and the props (Lawson, toilet block, fountain, smoking shelters, motorcycle bay, EV chargers) and their two signs. OSM survey positions preserved in code as the placement reference for the store assets. Kept: PALowCarBump (gameplay, the 段差 anti-車高短 bumps) and the main 大黒PA sign. Verified in live Edit datamodel after rebuild: all 13 removed part names plus *Glazing report absent; PAFloor=1, PAPerimeter=78, PALowCarBump=3, PARampFlare=2 remain; apron continuity 361/361 raycast sample points hit solid ground, holes=0 -- no gap left where the ring deck was. 17385 -> 17277.
This commit is contained in:
@@ -1013,7 +1013,23 @@ local function buildPA(map: Folder)
|
||||
-- pure geometry with no asset IDs, and 0.06 studs proud is under tyre
|
||||
-- resolution -- you cannot feel it.
|
||||
local PAINT_T = 0.12
|
||||
|
||||
-- STALL PAINT DISABLED (2026-08-02, user call): the generated stall
|
||||
-- markings are being replaced with pre-made parking assets from the
|
||||
-- Creator Store. Set this back to true to restore the painted lines.
|
||||
--
|
||||
-- Deliberately a FLAG rather than deleting markRow and its callers: the
|
||||
-- row placement below is surveyed against OSM (二番館 frontage, the 大型
|
||||
-- rows, the 身障者用 bays) and feeds PACapacity, which the headless
|
||||
-- verifier asserts. Ripping it out would throw away that survey work and
|
||||
-- silently change the recorded capacity. With the flag off, every stall
|
||||
-- position is still computed -- they just emit no geometry.
|
||||
local DRAW_STALL_PAINT = false
|
||||
|
||||
local function paint(name, size, x, z, colour)
|
||||
if not DRAW_STALL_PAINT then
|
||||
return nil
|
||||
end
|
||||
local m = part({
|
||||
Name = name,
|
||||
-- caller passes the old 2.2 in size.Y; ignore it and use PAINT_T
|
||||
@@ -1220,7 +1236,18 @@ local function buildPA(map: Folder)
|
||||
local segMid = (p0 + p1) / 2
|
||||
local segLen = (p1 - p0).Magnitude + 1.5
|
||||
local segCF = CFrame.lookAt(segMid, p1, UP)
|
||||
deck("PARing", Vector3.new(RING_W, 2, segLen), segCF)
|
||||
-- PARing deck REMOVED (2026-08-02, user call): this laid a 44-stud-wide
|
||||
-- band of road deck in a circle around the PA. Measured flush with the
|
||||
-- apron (both tops at y=47.00) and entirely inside the apron footprint
|
||||
-- (ring bbox X -4535..-3712 vs apron X -4538..-3710), so it was not
|
||||
-- structural -- just a differently-shaded ring of pavement painted over
|
||||
-- asphalt the apron already provides. Reads as a leftover ring where
|
||||
-- the old barriers used to be. Deleting it leaves no hole: the apron
|
||||
-- slab underneath is continuous.
|
||||
--
|
||||
-- The loop itself still runs: `junctions` and the ramp/flare geometry
|
||||
-- below are positioned off these arc points, so the circle is still
|
||||
-- the reference line -- it just no longer emits a deck.
|
||||
|
||||
-- Ring edge: NO barrier on the circulation road any more.
|
||||
--
|
||||
@@ -1542,10 +1569,25 @@ local function buildPA(map: Folder)
|
||||
return math.rad(angDeg - 90)
|
||||
end
|
||||
|
||||
-- GENERATED PA STRUCTURES DISABLED (2026-08-02, user call): the placeholder
|
||||
-- buildings and props are being replaced with Creator Store assets placed
|
||||
-- by hand into workspace.PAProps. Flip this back to true to restore them.
|
||||
--
|
||||
-- A flag, not a deletion: every position below is surveyed against a real
|
||||
-- OSM way (本館, フォンターナ way 88790141, toilets 88790136, kiosk 88790109,
|
||||
-- hut 88790185) via osmX/osmZ with OSM_SHIFT_N + OSM_SCALE. That survey is
|
||||
-- the useful part -- it tells you exactly where each real structure stands,
|
||||
-- which is the reference for placing the store assets. Keeping the calls
|
||||
-- live but silent preserves it.
|
||||
local DRAW_PA_STRUCTURES = false
|
||||
|
||||
-- `long` runs along the building's own long axis, `wide` across it.
|
||||
-- Footprints are scaled by the same OSM_SCALE as the positions, so the lot
|
||||
-- stays a faithful uniform reduction rather than a stretched one.
|
||||
local function building(name, long_m, height_m, wide_m, xe, zn, angDeg)
|
||||
if not DRAW_PA_STRUCTURES then
|
||||
return nil
|
||||
end
|
||||
local sy = height_m * M
|
||||
local cf = CFrame.new(osmX(xe), DECK_Y + sy / 2, osmZ(zn)) * CFrame.Angles(0, osmYaw(angDeg), 0)
|
||||
local b = part({
|
||||
@@ -1580,12 +1622,16 @@ local function buildPA(map: Folder)
|
||||
-- x -45..-18, z -66..-43, hence a ~46 x 34 m block centred (-32,-53)
|
||||
-- squared up to the 45 deg lot grid.
|
||||
building("PAHonkan", 46, 13, 34, -32, -53, 45)
|
||||
makeSign("本館 MAIN BUILDING", CFrame.new(osmX(-32), DECK_Y + 15 * M, osmZ(-53) + 20 * M), pa)
|
||||
if DRAW_PA_STRUCTURES then
|
||||
makeSign("本館 MAIN BUILDING", CFrame.new(osmX(-32), DECK_Y + 15 * M, osmZ(-53) + 20 * M), pa)
|
||||
end
|
||||
|
||||
-- フォンターナ・ダイコク / ベイサイドテラス -- NE tip. OSM way 88790141,
|
||||
-- oriented bbox 28 x 43 m at bearing +43 deg, centre (+13.9, +123.1).
|
||||
building("PANibankan", 43, 7, 28, 13.9, 123.1, 43)
|
||||
makeSign("フォンターナ・ダイコク", CFrame.new(osmX(13.9), DECK_Y + 9 * M, osmZ(123.1) + 16 * M), pa)
|
||||
if DRAW_PA_STRUCTURES then
|
||||
makeSign("フォンターナ・ダイコク", CFrame.new(osmX(13.9), DECK_Y + 9 * M, osmZ(123.1) + 16 * M), pa)
|
||||
end
|
||||
|
||||
-- Remaining mapped structures, each from its own OSM building way.
|
||||
building("PAToiletNorth", 21, 5, 7, -17.5, 109.8, -44) -- way 88790136
|
||||
@@ -1595,6 +1641,9 @@ local function buildPA(map: Folder)
|
||||
-- Free-standing amenity nodes. Small props, but they are what stops the
|
||||
-- apron reading as an empty car park.
|
||||
local function prop(name, sx_m, sy_m, sz_m, xe, zn, colour, mat)
|
||||
if not DRAW_PA_STRUCTURES then
|
||||
return nil
|
||||
end
|
||||
local p = part({
|
||||
Name = name,
|
||||
Size = Vector3.new(sx_m * OSM_SCALE * M, sy_m * M, sz_m * OSM_SCALE * M),
|
||||
@@ -1620,6 +1669,9 @@ local function buildPA(map: Folder)
|
||||
-- EV rapid charger: first on any Japanese expressway, installed 2008-10-10.
|
||||
-- OSM charging_station node sits at (-58.3, +30.2), on the west flank.
|
||||
for k = 0, 1 do
|
||||
if not DRAW_PA_STRUCTURES then
|
||||
break
|
||||
end
|
||||
local ev = part({
|
||||
Name = "PAEVCharger",
|
||||
Size = Vector3.new(1.6 * M, 2.2 * M, 0.9 * M),
|
||||
|
||||
Reference in New Issue
Block a user