# Original galaxy grid and StarMapLine source pass This is an offline source/texture/shader restoration. The extraction does not run game code, attach to a game process or issue network requests. `OriginalGridWorldWidthRestored=true` concerns the verified world quad and width. `OriginalGridFullRestored=false` retains the remaining projection, shared output and sampler-quality boundaries. ## Actual grid material and primitive All native addresses below refer to pinned image SHA256 `6891f70a021fa9f3a0e00458c284f48d1226e68ae7fc02ad48081aed47857e93`, not the updated live executable. `3A1EDE0` writes exactly198 world segments into `*(renderer.viewport[index]+40)`, **viewport slot8**. Slot6 is the separate focus ring and is not the grid. `3A441A0` constructs slot8 through `39FAC80`, using render-config fieldF8. The frozen configuration at295:14000 gives the exact name `SectorLine`; original format string551F708 is `%s_nodepth`. This therefore selects the actual `sectorline_nodepth` FGM, shader class `StarMapLine`. Render-config1A0 is a style pointer to506:4096, not a material. Its source RGBA is `(.3,.9,.9,.15)` and world half-width is `.02`ly. Config1A8 is byte8 and becomes the atlas-row divisor. `Core.GalaxyOriginalGrid` provides the source generation, snapped relative coordinates, decade-dependent widths and198 segments. The renderer adds the original Sol origin `(49985,40985,24105)` before storing float endpoints, as the original producer does. The constructor chain `39FAC80→3C01470→3C10980` supplies six original half4 corner/UV vertices and an extra float endpoint selector: | Vertex | UV/corner float4 | Selector | |---|---|---| |0|(0,1,-1,-1)|1| |1|(0,0,-1,1)|1| |2|(1,0,1,1)|2| |3|(1,0,1,1)|2| |4|(1,1,1,-1)|2| |5|(0,1,-1,-1)|1| `3C11750` stores each64-byte record as XYZ at0, second XYZ at12, half4 at24, RGBA at32, pattern float4 at48. The grid supplies half4`(10,.1,halfWidth,10)` and pattern`(0,8,1,0)`. The line shader uses the half4's Z component directly. There is no fixed pixel width, minimum pixel expansion or extra scale factor. The original VS normalizes the line direction and eye direction, expands each endpoint by `normalize(cross(viewDirection,lineDirection))*corner.w*halfWidth`, and selects endpoint2 only when the mesh selector exceeds1.5. Along-line UV is zero at the first endpoint and `segmentLength*pattern.z+pattern.w` at the second. Vertical UV is `(corner.y+pattern.x)/pattern.y`, so the grid selects exactly the first eighth of the original pattern atlas. ## Exact texture and distance fade `Build-OriginalGalaxyGrid.py` verifies the original material bundle and config hashes, exact image hash, actual graphics format-reader instructions, source quad constants and publisher vtable. It copies `sectorline_nodepth.pdiffusetexture` from source resource19b9e393c96329f63707aeade6a46e8cf3b71398. The texture is512²,10 mips,353280bytes including original row padding. Internal format107 is mapped by the real table4E2E500 to DXGI98/BC7_UNorm. It is not a guessed colour format or an sRGB substitute. The payload SHA256 is `218423e603214f4957bfbc49cab9d91c22f088acdc01a845b079864e589b68bb`; deterministic gzip is4719bytes. The actual decoded atlas alpha was inspected. Its first row is a continuous white interior with transparent edges; the other seven rows contain distinct dash patterns. It must not be replaced by a synthetic constant-alpha line. The original pixel shader computes `t=saturate(length(eye)*.04)`, interpolates the two radius values and two range values, then evaluates `saturate((distance-radius*range)/(radius-radius*range))`. Final alpha is that fade times the sampled atlas alpha times source RGBA alpha. RGB is source RGB times the shared RGB multiplier. The production pass converts the unassociated source output to the map surface's premultiplied blend convention without changing its RGB composition. Original `3A5BD80` creates publisher3A09210 at renderer8D0 and associates it with material940. Its vtable551EF18+10 is the same `3AAC040` named-property publisher as other galaxy materials. `3AB44E0` copies config98 into named wrappers `gAlphaFadeRange=.38`, `gAlphaFadeRadius=2.31`, `gAlphaFadeRangeFar=.06`, `gAlphaFadeRadiusFar=2`. The effect's retained frozen reflection block contains the four local descriptors in Radius, RadiusFar, Range, RangeFar order; their exact32-byte records are preserved in `original-grid-line.json`. The final GPU scalar-offset interpretation is kept distinct from proof that these names and values are published. The source-space pass uses this explicit order; it does not claim a fully restored runtime material pipeline. The base StarMapLine variant is used. The NearFade variant has an additional camera-forward depth fade, but the selected FGM has no NearFade parameters. A material-feature activation path for that variant is not assumed. ## Independent verification `research/GalaxyGridShaderProbe` compiles the **production** rendering partial and HLSL, and uploads the original embedded BC7 texture. It renders Sol, galactic-centre and distant cameras. It separately draws the same records with the actual original VS/PS DXBC, original half4 mesh and original input semantics. Controlled shared RGB multiplier1 and identical fade inputs are supplied to both paths; this validates the port without claiming that1 is the game's runtime multiplier. At1600×900 the mean maximum-channel absolute8-bit difference is.0777/.0536/.0181 for Sol/core/far. Pixels differing by more than3 levels are3300/233/28 out of1,440,000. The small nonzero differences are consistent with the port evaluating the current camera projection through camera basis/eye subtraction while the original DXBC receives a precomputed matrix. A separate actual rasterization fixture gives40pixels at scale20 and10pixels at scale5 for a1ly world half-width, and zero width submits no primitive. All three rendered full-size images were viewed; they retain fine perspective lines and original decade widths. Two Core regressions verify the exact padded BC7 mip chain, named fade data and independently decoded atlas rows/borders. Their success does not certify screenshot parity or complete original frame output. ## Remaining boundaries Original ordinary-screen FOV56.249000549°, narrow-aspect compensation and near.1 are now integrated in Core and GPU. Infinite reverse-depth projection is now separate from finite QueryFar catalogue/draw bounds; the original native LOD radius remains unconfirmed. The actual shared RGB multiplier/final HDR output, exact runtime sampler quality and final material scalar binding remain separate evidence. The current sampler performs linear mip filtering with wrap, and the controlled shader comparison uses the same state on both paths. No arbitrary line brightness or minimum pixel width is introduced to hide these gaps.