Original Dust source, shader domain and default RGB effect
Pinned source image4.4.2.0 SHA256
6891f70a021fa9f3a0e00458c284f48d1226e68ae7fc02ad48081aed47857e93.
This is offline evidence. It neither reads the current game's settings nor
claims a screenshot of its current GPU output. Production Dust remains disabled.
The source/input question is now resolved
Extract-GalaxyEffectShaderLinks.py matches actual five-uint keys through native
loader4FA720. The Dust material's actual VS/PS are DistantMilkyWayDust_Forward0_0,
not a neighbouring shader or a same-signature guess. Their hashes are fixed in
the independent probe.
3A643D0 obtains the dynamic input descriptor from3C0D9D0, then passes it through 39FAEE0→3C01470 into the original quad.3A1E980 uploads the complete array of 56-byte records without modifying their fields. The actual descriptor is:
| Semantic | Byte offset | Source format | DXGI format |
|---|---|---|---|
| POSITION0 | 0 | 1 | 2, R32G32B32A32_FLOAT |
| POSITION1 | 16 | 38 | 10, R16G16B16A16_FLOAT |
| POSITION2 | 24 | 1 | 2, R32G32B32A32_FLOAT |
| TEXCOORD3 | 40 | 1 | 2, R32G32B32A32_FLOAT |
The static unit quad is separately made by3C10DC0/3C10980: Half4 UV/corner plus an unused float vertex ID,12-byte stride. There is no intervening rotation conversion. Original3A469D0 generates a float angle in0..2π at28-byte record+14; 3A21BC0 copies that float into half4.xyz, and half4.w receives the layer flag. The angle really reaches POSITION1.x as a half float.
The square-root domain is original behaviour
The original VS uses sqrt(1-x*x) on POSITION1.x. No sine or saturation is
inserted by the tool. The original producer supplies angles outside[-1,1].
That is a real property of the pinned source path, not a remaining ambiguity
about whether format38 means Half4 or UNorm.
research/GalaxyDustShaderProbe executes the actual original VS/PS on WARP with
the original Half4 quad,56-byte records and BC1 atlas. A controlled nonzero
tint is used only to make geometry contribution measurable. Angles0/.5/1 draw
about12384 pixels; angles2 and2π draw no RGB pixels. Readback contains no NaN
values. This observes out-of-domain geometry producing no fragments on WARP;
it does not assert all live GPUs or a newer client have identical behaviour.
The actual original coarse Dust generator emits140 records for the Sol fixture. After the original half conversion,26 have x<=1 and114 exceed1. Rendering all140 and rendering only the26 in-domain records produces exactly equal RGB images under the probe's explicitly controlled frame-fade inputs. This is evidence against silently changing the source angle with sin()/clamp(), not authority to rewrite the original renderer's angle semantics.
Actual frame blend and authored zero tint
The FGM initially says Src4/Dest1. Original frame publisher3AB44E0 explicitly overrides the Dust material at renderer8E0 to Src0/Dest2/Op0, publishes runtime handle950 and replaces quad2E0's complete material. The blend conversion is therefore RGB Zero/SourceColor/Add, alpha Zero/SourceAlpha/Add. It is a multiplicative transmission layer, not another additive luminous cloud layer.
The actual original PS computes 1 - atlasRGB * pDustColour * vertexFade, then
multiplies by HDRRead×HDRWrite. The authored FGM's pDustColour is exactly(0,0,0).
With verified constructor HDRRead256 and Write1/256, RGB transmission is1.
The original PS is therefore an RGB identity for this known default source
configuration. The probe verifies zero changed RGB pixels for all angle cases
and the full140-record coarse dataset. It separately tests tint1 as a control;
that value is never used as a replacement production default.
Alpha follows its separate original multiplication and is not included in the RGB-identity statement. The game's full-frame alpha/output handling remains separate from the tool's premultiplied composition surface.
3B11860 supplies the original three alpha/size factor pairs: (2.659,103.566),(9.826,13.726),(4.848,16.692), retaining exact source float bits. The probe's coarse record shape uses those source factors, but its near/far overlap values are deliberately controlled; complete multi-layer frame fade is not declared restored.
Reproducible evidence and remaining limits
Extract-GalaxyDustEvidence.py verifies the pinned image, format/angle constants,
actual shader links, authored zero tint and hashes of eight source functions.
It writes power-outer-sources/background/original-dust-evidence.json.
artifacts/galaxy-dust-shader-validation/report.json records the actual GPU
checks, including the explicitly controlled nonzero tint and frame fade.
The result row named real-original-coarse-dust-records exposes stable fields
for reports: sourceRecordCount=140, validHalfRotationRecords=26,
outOfDomainHalfRotationRecords=114, zeroTintChangedPixels=0 and
allVersusValidSubsetMaximumRgbDifference=0. Its
frameFadeExplicitlyControlled=true and productionDustEnabled=false must
accompany those results; the tint1 control is not a recovered runtime setting.
Remaining unknowns are any later runtime nonzero pDustColour override, complete
three-layer near/far overlap scheduling and the current live client's final
output. There is no basis to add arbitrary visible black dust to mimic the
reference. OriginalDustEnabled=false is retained, and full parity is not
claimed from the default-only RGB result.