# BRIEF — B2: Depot (-level_30) wrong-colour / garbage textures M-29 diagnostic pass. **Not fixed.** Evidence captured, leading hypothesis recorded. Companion: `docs/BACKLOG.md` B1/B2, `docs/SMALL-FIXES.md` C-section. ## Symptom (captured) `-level_30`, opening loading-bay area, `GE_PCDUMP` frames ~700-1150 (camera panning up toward the roof): - The **ceiling / roof surface** renders as bright blue with a dense green speckle and radial "light-ray" streaks emanating from a point. On N64 this is a dark, low-contrast corrugated roof. - Walls (green wall panels right, tan crates left) look approximately correct — mild green tint at most. - HUD ammo digits mirrored = D116, unrelated. Frames: `ppm/frame_0007..1150` this session (regenerate with `GE_PCDUMP="700-1600:150" ./build-pc/ge007.x86_64.exe -level_30`). ## UPDATE (M-29, later): filtering RULED OUT Enabling N64 3-point filtering + trilinear mips + 4x anisotropy game-wide (the B1 work, now default) **did not change the Depot roof** — the blue speckle + radial rays render identically at 640x480 native. So this is NOT grazing-angle aliasing. It is a real texture-data / UV / effect bug on that specific surface. The radial rays converging to a point look like either a broken texture matrix (rotating/scrolling tc), garbage UVs on the ceiling geometry, or a mis-rendered light-shaft effect (wrong blend/opacity). Needs the `GE_DTEX` probe below to identify what draws it. ## (superseded) earlier hypothesis: grazing-angle aliasing / B1 The radial-ray + sparkle pattern is the **classic grazing-angle aliasing** signature of a high-frequency texture sampled with point/bilinear filtering and no working LOD/mipmap chain. The ceiling is at a very shallow angle to the camera in these frames — exactly where N64 3-point + LOD filtering suppresses shimmer and our fast3d path does not (see BACKLOG B1: "whole game has an interlaced/shimmering look"; `port/fast3d/gfx_pc.cpp` mip handling is stubbed — `gfx_lod_tile_offset` / "for now just ignore smaller mips" at ~1540, and D107 notes fast3d fabricates a crop when detail textures are off). **Decode path was audited and looks correct:** - `gfx_dp_load_tlut` byteswaps entries (`PD_BE16`), `palette_to_rgba32` decodes RGBA16 5551 and IA16 correctly, `rdp.palette_fmt` is set from `other_mode_h & (3<