acdream/docs/research/2026-08-22-atmospheric-stage1-automated-gate.md

4.7 KiB

Campaign AR Stage 1 automated gate

Date: 2026-08-22 Verdict: PASS — every Stage 1 gate that does not require physical visual or desktop-performance judgment is complete. Those judgments were deliberately outside this automated report and subsequently passed in the Stage 1 live-gate report.

Scope

This report covers the current authored-celestial implementation: the visible above-horizon sun, dominant haloed moon, secondary moon, and no-source states; the selected source's direction-versus-energy handoff; the 336-byte render-pack shadow ABI; the unchanged authoritative retail path; and local deterministic performance and lifetime contracts.

It does not itself claim that a physical display proves shadow alignment, source-transition continuity, temporal pixelation/shimmer quality, or desktop frame pacing. It did not itself begin Campaign AR Stage 2; the subsequent project-owner live approval did.

Results

Gate Result
Shader compilation 24/24 Vulkan shader pairs ready
Retail shader preservation all 18 pre-campaign SPIR-V SHA-256 oracles exact; no tracked retail SPIR-V change
Focused App renderer validation 344/344 passed
Core sky loader 14/14 passed
SDK and standalone pack validator 30/30 passed
MossTank plugin regression 48/48 passed
Forced locked restore passed for the complete solution graph
Complete Release build after locked restore passed, 0 warnings, 0 errors
Fresh-process hermetic Release gate 14,928/14,928 passed, 0 skipped, 0 failed, 14 assemblies
App assembly inside the complete gate 5,823/5,823 passed

The release evidence bundle is artifacts/atmospheric-rendering/stage1-moon-release-gate/. Its release-gate-summary.json, TRX files, logs, environment inventory, and SHA256SUMS.txt are the machine-readable authority for the fresh-process total.

Performance and lifetime coverage

The complete App gate includes these deterministic contracts:

  • DirectionalShadowCasterFrameTests.WarmStableFrame_AllocatesZero builds a 9,500-static-caster scene, warms it, then performs 256 stable frames with zero managed bytes, no additional scene-index copy, no classification, and no topology rebuild.
  • DirectionalShadowCasterFrameTests.WarmDenseChangedFrames_AllocateZeroAndReadNoSceneRecords proves dense animated-transform refresh stays allocation-free and does not reread scene records.
  • AtmosphericCpuStageProfilerTests.WarmedObservationAllocatesNothing and AtmosphericGpuTimerSamplingTests.WarmSamplingDecisionsAllocateZero keep the measurement path allocation-free after warmup.
  • RenderPackLongCycleConvergenceTests.RepeatedPackResizeFailureGenerationAndFlightCyclesConvergeExactly repeatedly crosses Low, Medium, High, retail selection, resize, injected failure/recovery, both frame-flight slots, render-generation replacement, and terminal disposal for 12 cycles. Every pack resource, registration, receiver candidate, transform owner, texture slot, and pipeline-format lease returns to its exact baseline.
  • RenderPackLongCycleConvergenceTests.DeviceRecreationIsFullRendererTeardownThenANewContextAndDevice proves recreation is complete old-renderer/context/device teardown followed by an independent activation generation on a fresh device.

These are CPU-side and recording-RHI gates. The historical physical AMD rows remain valid for their exact pre-moon binaries and stated scope, but they are not reused as current sun-and-moon image-quality or desktop-performance proof.

Authoritative-path and scope audit

  • Shader regeneration expands includes and injects pack-only definitions only for pack shaders. Unchanged retail sources retain their existing committed binaries; the source manifest still forces a recompile after a real source edit.
  • The exact pre-campaign retail SPIR-V oracle passes after ordinary shader regeneration.
  • No source file under src/AcDream.Runtime changed for this campaign gate.
  • No physics or collision source changed.
  • No retail GLSL source changed.
  • Pack-off production integration continues to require zero enhancement passes, resources, casters, cascades, draws, or dispatches and its pinned framebuffer and resource ledger remain exact.

Pending project-owner gate

When the desktop is healthy, launch the corrected Release client against ACE and stop for the project owner to judge:

  • sun, dominant-moon, and secondary-moon shadow alignment;
  • sun-to-moon, moon-to-moon, and no-source transitions;
  • temporal pixelation/shimmer during camera and celestial motion; and
  • desktop smoothness, frame pacing, and FPS behavior.

Stage 2 and campaign closeout remain gated on that explicit approval.