Files
tokyo-wangan-racing/tools/probe_pa_min.luau
T
jesse 6e50f9718d
CI / quality (push) Failing after 1m9s
Aux-lane suppression + PA geometry fixes; probe/verify tooling
MapBuilder.luau
  - Suppress the aux lane across samples 525-550 (AUX_SUPPRESS_FROM/TO),
    honoring the user's hand deletion in Studio so a rebuild no longer
    regenerates it.
  - Smoothstep the width ramp over AUX_BLEND=5 samples on each side. A hard
    cut produced a 26-stud lateral fence jog; the blend removes it.
  - DO NOT remove this suppression. Re-enabling it resurrects geometry the
    user deleted by hand.

rokit.toml
  - rojo 7.5.1 -> 7.7.0 to match the auto-updating Studio plugin.
    Server older than plugin fails the handshake with
    "attempt to index number with 'protocolVersion'".

tools/
  - 34 read-only probe/verify/capture scripts used to measure the datamodel
    instead of reasoning from source.

Verified-good baseline at this commit:
  total parts       16788
  PAWestSlip        60 segs, 34.4 deg total bend, worst 1.4, 0 kinks >5
  PAEastSlip        60 segs, 30.7 deg total bend, worst 1.3, 0 kinks >5
  AuxLane parts     30 (samples 525-550 deliberately absent)
  barrier coverage  823 samples, 0 unguarded
  fence jogs >10st  0
2026-08-06 08:27:47 -04:00

37 lines
1.0 KiB
Luau

-- Minimal PA locator. The full inventory probe returned an empty error, so
-- start small and confirm the basics work before adding anything back.
local out = {}
local function say(s) table.insert(out, s) end
local map = workspace:FindFirstChild("Map")
if not map then return "Map MISSING" end
say("=== Map children ===")
for _, c in ipairs(map:GetChildren()) do
local n = 0
for _, d in ipairs(c:GetDescendants()) do
if d:IsA("BasePart") then n += 1 end
end
say((" %s (%s) parts=%d"):format(c.Name, c.ClassName, n))
end
local land = {}
for _, s in ipairs({ "PAWestSlip", "PAEastSlip" }) do
local best, bestK = nil, -1
for _, d in ipairs(map:GetDescendants()) do
if d:IsA("BasePart") then
local k = d.Name:match("^" .. s .. "_Deck_(%d+)$")
if k and tonumber(k) > bestK then
bestK = tonumber(k)
best = d
end
end
end
if best then
land[s] = best.Position
say(("%s landing: (%.0f, %.0f, %.0f)"):format(s, best.Position.X, best.Position.Y, best.Position.Z))
end
end
return table.concat(out, "\n")