acdream/tests/AcDream.App.Tests/Rendering/Packs
Erik 75664805f8 feat(rendering): port retail one-pass detail material
Replace the building and EnvCell detail replay with retail's exact single-pass stage result, including authored surface opacity, squared detail alpha, final-alpha clipping, and the original subset pipeline/order. Arm the ordered walk command in place to close #471, delete the replay pipelines/shaders, and advance prepared content to recipe 9.

Mutation witnesses (each restored before commit):
- X=a*qA: RetailDetailTextureContractTests.BothShaderFamiliesUseTheSharedOnePassSourceAndDebugPrecedesDetailSample line 174, missing materialAlpha * detail.a * detail.a.
- X*=base alpha: same test line 175, forbidden baseTexel.a found.
- CLIP against base alpha: EnvCellAlphaDrawSourceTests.ClipShaders_UseGreaterEqualForThePerRangeReference line 260, final-X conditional missing.
- second detail draw: EnvCellAlphaDrawSourceTests.DetailOn_EveryEnvCellFamilyDrawsOnceInPlaceWithAuthoredOpacity line 105, Assert.Single saw 2 MDI calls.
- straight-alpha substitution: WalkStaticStreamPopulatorTests.ImmediateBuildingDetail_RetainsOriginalFramebufferFamily line 1244, Additive first failed (only wb-mesh-alpha-1x recorded; InvAlpha also failed).
- omit ordered arm: OrderPreservingSubmitterTests.PrepareThenDraw_OrdinaryBuildingClipBuildingOrdinary_ArmsOnePassInPlace line 305, expected (77,3.5), got (0,0).
- omit atmospheric combine: RetailDetailTextureContractTests.BothShaderFamiliesUseTheSharedOnePassSourceAndDebugPrecedesDetailSample line 173, atmospheric shared include missing.
- drop serialized opacity: ObjectMeshDataSerializerTests.SurfaceOpacity_RoundTripsBitExactlyAndDeterministically line 288, first reported 0.5 bits 1056964608 vs 1065353216.
- stale detail arm: ordered adjacency test line 307, expected following ordinary (0,0), got (77,3.5).
- per-frame surface map: EnvCellAlphaDrawSourceTests.ProductionWholeLeaf_WarmedScanSubmitRhiAndFilteredReplayDoNotAllocate line 178, expected 0 B, got 147456 B.

Verification before commit: shader compiler 23/23; focused App 213/213; Content 75/75; Core Wb 10/10; launcher migration 6/6; Release solution build 0 warnings / 0 errors; git diff --check clean.
2026-09-05 02:03:13 +02:00
..
AtmosphericAutoQualityControllerTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AtmosphericColorPipelineTests.cs docs(vm3): closeout - owner gate brief with the measured curve table; #422 filed; tests pin the shipped defaults 2026-08-22 23:53:26 +02:00
AtmosphericCpuStageProfilerTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AtmosphericGpuTimerSamplingTests.cs test(ci): harden scheduling and allocation gates 2026-08-27 19:28:10 +02:00
AtmosphericPostProcessGraphTests.cs feat(overhaul): select pack shadows from retail visibility 2026-09-04 18:20:31 +02:00
AtmosphericShaderAbiTests.cs feat(rendering): port retail one-pass detail material 2026-09-05 02:03:13 +02:00
AuthoredCelestialShadowSourceResolverTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
FoliageWindModelTests.cs fix(render): correct foliage-wind classification, receiver/caster desync, and frame binding (Campaign VM VM6 review) 2026-08-23 01:54:36 +02:00
NoOpRenderPackProductionIntegrationTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
PackSettingsUniformsTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
RenderPackAtmospherePolicyEvaluationTests.cs fix(render): foliage wind keys on the DAT-classified WeatherKind, not the day-group index (Campaign VM VM6) 2026-08-23 01:07:54 +02:00
RenderPackAutoRuntimeTests.cs test(ci): harden scheduling and allocation gates 2026-08-27 19:28:10 +02:00
RenderPackCapabilityResolverTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
RenderPackControllerTests.cs fix #425: pack resident budget is a 1080p ceiling that scales with pixel count; an explicit Apply retries a failed selection 2026-08-23 10:00:11 +02:00
RenderPackLongCycleConvergenceTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
RenderPackPerformanceWindowTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
RenderPackResidentBudgetTests.cs fix #425: pack resident budget is a 1080p ceiling that scales with pixel count; an explicit Apply retries a failed selection 2026-08-23 10:00:11 +02:00
RenderPackResourceBudgetPlannerTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
RenderPackRuntimeFailureRecoveryTests.cs feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
RenderPackSpirvValidatorTests.cs feat(rendering): port retail one-pass detail material 2026-09-05 02:03:13 +02:00
VolumetricShaftRendererTests.cs fix(render): foliage wind no longer depends on the directional-shadow gate (Campaign VM VM6 review 4) 2026-08-23 03:29:57 +02:00