Activities range annulus
This is the range branch of original 3B33690; its separate 1C0 extent/FocusBillboard and per-system influence links remain distinct. The current range input is the actual cached navigation centre and PowerService radius, not player position or a recent counter.
3A26BF0 supplies callback table 551F838: entry0 3A1E740 forwards to64-byte append 3C05790. Per-viewport primitive+30 is constructed by 3A441A0 using render-config+108, constructor 3C01F30, and the actual FocusRing/GalaxyMapFocusRing material. Entry8 is a separate FocusBillboard consumer.
The range record is {centreXYZ,1; UaxisXYZ,inner; VaxisXYZ,outer; RGB,alpha}. Actual constant triplets are U=(1,0,0), V=(0,0,1), colour=(1,1,1,0). Thus this annulus is on the cached centre's Galactic XZ plane. The previous warning against assigning an arbitrary XZ circle applies to the other camera-facing extent branch, not this range record. Half-width is exactly .05*clamp(EyeDistance/R,1,6), with inner/outer R±width.
Constructor parameter16 becomes primitiveCount32. Actual draw 3C16450 ->51BE30 uses type5's conversion bytes (1,2) at 4E2DE48, yielding34 vertices. 5101A0 maps type5 through 4E2DE78[5]=5 and calls actual context+C0/IASetPrimitiveTopology: this is a34-vertex triangle strip with17 pairs, closing16 quads. The VS uses an expanded even/outer radius outer/cos(pi/16) and the unchanged odd/inner radius. It does not need a guessed index buffer.
The source material provides quadCount16, dashCount200, radialFeather.8, segmentFeather.3 and solidRatio.85. Original VS/PS bytecode is already extracted; the PS clips inside/outside, evaluates radial and angular feathering, applies original emissive rescaling and HDR Write to RGB, and preserves instance alpha. The compiled blend state is One/InverseSourceAlpha/Add. With the range producer's alpha0 this adds RGB without obscuring the scene.
GalaxyOriginalPowerActivityRingGeometry constructs the original64-byte record and supplies CPU vertex/shading references. GalaxyPowerActivityRingGraphics.cs and its separate HLSL use b11. The initial slice required an explicit known original emissive scalar. The next slice adds the tool view's owned original ManualExposure result at t20: the PS directly reads texel1 times.125, as rescaling type2 requires. Explicit probe scalars retain priority; invalid explicit scalars remain unknown. If neither a valid explicit source nor a created/ready owned exposure resource exists, the ring is suppressed. A created zero default is distinguished from a completed Manual computation. Additional extent, original influence links and complete auto/runtime exposure remain unfinished.
research/GalaxyPowerActivityRingProbe links the actual independent rendering partial, executes it on WARP, and compares the new VS/PS with the original compiled DXBC. Synthetic wide annulus/exposure inputs sample6792 lit pixels: max absolute error0.0007171035, mean2.08e-7. It also confirms zero output alpha, additive repeats, missing-bound suppression and the production unknown-source gate. The fixture exposure texture is explicitly synthetic, not a captured game value. Core adds four focused behavioral regressions. No game process, DLL installation or original game call occurs.
Trace-GalaxyPowerActivityRing.py records the bounded producer/consumer bodies, exact primitive-count and topology tables, source FGM parameters, compiled blend descriptor and original shader hashes in power-outer-sources/focus-ring/original-ring.json. The old pinned6891 source is used only as offline evidence; this implementation adds no Native RVA dependency.