CI / quality (push) Failing after 1m9s
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
57 lines
1.8 KiB
Luau
57 lines
1.8 KiB
Luau
-- What is actually on screen right now? Don't assume "missing" means empty --
|
|
-- distinguish (a) no Map at all, (b) Map present but stripped, (c) Map fine.
|
|
local out = {}
|
|
local function say(s) table.insert(out, s) end
|
|
|
|
say("place: " .. tostring(game.Name))
|
|
|
|
local map = workspace:FindFirstChild("Map")
|
|
if not map then
|
|
say("workspace.Map: MISSING ENTIRELY")
|
|
else
|
|
local parts, total = 0, 0
|
|
for _, d in ipairs(map:GetDescendants()) do
|
|
total += 1
|
|
if d:IsA("BasePart") then parts += 1 end
|
|
end
|
|
say(("workspace.Map: present descendants=%d parts=%d"):format(total, parts))
|
|
|
|
local kids = {}
|
|
for _, c in ipairs(map:GetChildren()) do
|
|
local n = 0
|
|
for _, _d in ipairs(c:GetDescendants()) do n += 1 end
|
|
table.insert(kids, ("%s(%d)"):format(c.Name, n))
|
|
end
|
|
say("Map children: " .. (#kids > 0 and table.concat(kids, ", ") or "NONE"))
|
|
end
|
|
|
|
-- Is anything else sitting loose in workspace?
|
|
local loose = {}
|
|
for _, c in ipairs(workspace:GetChildren()) do
|
|
if c:IsA("BasePart") or c:IsA("Model") or c:IsA("Folder") then
|
|
table.insert(loose, c.Name)
|
|
end
|
|
if #loose > 15 then break end
|
|
end
|
|
say("workspace top-level: " .. table.concat(loose, ", "))
|
|
|
|
-- Where is the camera looking? If the map exists but the camera is parked in
|
|
-- empty space, "gone from my screen" means a camera problem, not a build one.
|
|
local cam = workspace.CurrentCamera
|
|
if cam then
|
|
say(("camera pos=(%.0f, %.0f, %.0f)"):format(cam.CFrame.Position.X, cam.CFrame.Position.Y, cam.CFrame.Position.Z))
|
|
end
|
|
|
|
-- Spawn / reference point so we know where the map SHOULD be.
|
|
local ref
|
|
for _, d in ipairs(workspace:GetDescendants()) do
|
|
if d:IsA("BasePart") and d.Name:match("Deck") then ref = d break end
|
|
end
|
|
if ref then
|
|
say(("sample deck part '%s' at (%.0f, %.0f, %.0f)"):format(ref.Name, ref.Position.X, ref.Position.Y, ref.Position.Z))
|
|
else
|
|
say("no Deck part found anywhere in workspace")
|
|
end
|
|
|
|
return table.concat(out, "\n")
|