# Mega Low Shop wedge audit, r328

## Identification

The blue wedge in the packaged Route 736 view is the source object family
`XO_SHOPBEAM_PERFORMANCE_1A__0_0`, not part of the Mega Low Mart building
mesh. The relevant L4RA instance is GLB node 32592. Its source placement matrix
has translation `(-1047.8281, -142.3200, 24.9957)` and preserves the packed
source rotation. Transforming the mesh's 36 local vertices with the viewer's
column-vector matrix convention gives world bounds approximately
`(-1056.05, -151.62, 14.72)` to `(-1047.37, -142.18, 25.12)`. The mesh has 32
triangles. Its footprint overlaps the storefront threshold and the four
`XO_DOORPIECE[ A-D ]` steps at approximately `(-1047.09, -142.11)`, which is
consistent with an authored shop entrance marker/effect. Its object name and
placement support that interpretation; they do not prove its retail visual
effect.

The viewer's accessor-corner AABB is more conservative than the bounds of the
36 referenced vertices: `(-1057.82, -153.31, 14.62)` to
`(-1042.25, -136.97, 28.22)`. This matches the live
`__nfsuSceneObjectsNear` report and explains the wider bounds from that
diagnostic.

The host building is `XB_MEGALOWMART_1A_RB_00`, centered near
`(-1035.39, -126.03)`, with world bounds around `(-1066.13, -156.77, 16.65)` to
`(-1004.66, -95.30, 36.65)`. The beam is at its frontage, not displaced to an
unrelated road location. No placement or building transform correction is
supported by this comparison.

## Why it renders as a solid blue wedge

The beam primitive references source texture key `0x2e95ce7c`, but the packaged
GLB records it as `prop (missing 2e95ce7c)` and embeds no matching image. Its
vertex colors are two opaque blue values: `(0,36,100,255)` and `(0,23,87,255)`.
With the viewer's missing-texture `prop` fallback color `(0.52,0.43,0.29,1)` and
city vertex-color modulation, the fallback produces a dark blue surface. The
material has no `BLEND` alpha mode, so the viewer draws it opaque. This
explains the wedge's color and opacity in capture 471 without implying that the
source placement is wrong.

The related unresolved-slot audit for `0x2e95ce7d` concerns light-pole and
MegaLight cards, not this distinct `0x2e95ce7c` slot. It must not be used to
classify or omit this beam. The installed regional and global texture tables
have not yielded the `0x2e95ce7c` image, and no source render-state record has
been recovered for this slice. Its intended retail texture, alpha/blend state,
and whether it should be visible in free roam remain unverified. Therefore the
beam should stay in the scene until that effect state is recovered; removing it
or forcing transparency would be a guess.

## Evidence and limitation

- Packaged capture: [`471-r327-live-route736-capture.png`](../webgl-city/review/images/471-r327-live-route736-capture.png)
- Regional geometry: `city-l4ra-textured-clean.glb`, mesh
  `XO_SHOPBEAM_PERFORMANCE_1A__0_0`, node 32592.
- Exporter placement interpretation: `tools/export_nfsu2_world.py` reads the
  L4RA instance type index at `+0x18`, position at `+0x20`, and nine signed
  rotation values at `+0x2c`, scaling rotations by 8192. The viewer applies
  the same matrix convention when building scene batches.
- Viewer material handling: `webgl-city/viewer.js` uses vertex color for city
  geometry and enables blending only for GLB materials marked `BLEND`.

The current GLB derives from the recovered source bundle, but the raw L4RA
bundle and matching source texture are not available in this workspace for a
fresh binary-level record check. The image establishes the WebGL appearance,
not how retail renders this marker. Recovering the texture or the retail draw
state for slot `0x2e95ce7c` is the evidence needed for an exact visual fix.


## r339 follow-up: exact shared-pack recovery

The earlier statement that the installed tables had not yielded `0x2e95ce7c` is superseded. Offline, read-only inspection of the XP VM disk recovered `GLOBAL/InGameCommon.bun`; its TPK contains the exact `SFX_LIGHT_BEAMA` record for this key (32×256 DXT3, usage 2, blend 2). The L4RA exporter now resolves the key from that shared pack, and the Route 736 comparison shows a textured translucent beam with the shop visible behind it. This corrects the missing-image fallback, while the mapping from TPK blend metadata to retail draw state remains approximate. See [r339 recovery note](city-ingamecommon-texture-recovery-r339.md) and captures [before](../webgl-city/review/images/481-r339-shopbeam-before.png) / [after](../webgl-city/review/images/482-r339-shopbeam-after.png).
