Fixture 001: Radial GRIN Baseline¶
Purpose¶
Fixture 001 is the compact radial GRIN baseline used to validate that the current curved-ray transport path can launch, render, capture, and report a stable result through the dedicated harness.
This note records the current harness contract and the local run history that supports promoting A2 as the official Fixture 001 baseline.
It also records the first verified repeat-sweep result for Fixture 001 so the project has a concrete example of how to characterize a fixture control surface using only hardened, fully verified runs.
Post-Field-Fix Baseline Refresh (2026-03-26)¶
The r_outer / r_inner field-region correction changed the accepted visual
output for Fixture 001 by enforcing zero field acceleration outside the active
region. The March 26, 2026 rerun is therefore accepted as the refreshed
post-fix comparison baseline even though run_verified = false against the
older pre-fix capture.
Accepted post-fix baseline:
- Timestamp:
2026-03-26T21-14-34 - Output path:
output/fixture_runs/fixture_001/2026-03-26T21-14-34 - Status:
ok - guard_progress exits:
0 - forcedAdvance events:
0 - processed_rows:
164 - traced_pixels:
48864 - source_hits:
2364 - miss_hits:
46500 - turnThreshold:
4
Promotion rationale:
- scheduler remained clean
- capture completed with full expected row coverage
- compare mismatch was against the stale pre-fix baseline, not against the current field-region logic
- resulting output is consistent with the corrected active-region cutoff
Current harness¶
- Harness script:
scripts/run_fixture_001.sh - Reporter:
tools/fixture_001_report.py - Scene:
res://test-grin-basic-visual-minimal.tscn - Fixture identity expected by launch audit:
grin_basic_visual_minimal - Fixture id:
fixture_001 - Launcher token configured by the harness:
run_fixture_001
Default thresholds and capture settings¶
FIXTURE_001_SETTLE_FRAMES=12FIXTURE_001_MIN_RH_STEP=20FIXTURE_001_MIN_PROCESSED_ROWS=64FIXTURE_001_CAPTURE_FILM_OPACITY=1.0FIXTURE_001_COMPARE_GRID=1FIXTURE_001_COMPARE_CROSSHAIR=1
What the harness records¶
The report step builds params.json, metrics.json, and summary.txt from
the Godot log and capture artifact. The primary baseline signals are:
- launch audit status
- render transport selection
- traced pixel count
- processed row count
- capture success
- scheduler guard exits and forced advances, as seen in
run.log
Verified-control contract¶
Treat a Fixture 001 run as usable for control-surface interpretation only when all of these verification checks are true:
runtime_fingerprint_present = trueassembly_timestamp_present = trueeffective_step_matches_requested = truerow_diagnostics_present = truescheduler_clean = true
This is the current baseline procedure for validating Fixture 001 controls:
- Launch only through
scripts/run_fixture_001.sh. - Rebuild against the hardened Windows runtime mirror before each run.
- Generate
params.json,metrics.json,summary.json, and ledger append through the existing report flow. - Interpret only runs that remain fully verified after report generation.
Verified characterization update (2026-03-22)¶
A verified top-config repeat sweep was run on March 22, 2026 through the
hardened Windows runtime mirror at /mnt/c/godot/godot_xPRIMEray.
The repeat set used three verified runs each for:
stepLength=0.040,errorTolerance=0.012,turnThreshold=2.0stepLength=0.040,errorTolerance=0.010,turnThreshold=2.4stepLength=0.040,errorTolerance=0.010,turnThreshold=3.2
For the turnThreshold=3.2 branch, errorTolerance=0.010 was used explicitly
as the nearest baseline-compatible path already established in prior Fixture
001 work.
Repeatability summary¶
| Config | mean hit_rate | median hit_rate | std dev hit_rate | mean traced_rate | std dev traced_rate | robust_score | verified runs |
|---|---|---|---|---|---|---|---|
0.040 / 0.012 / 2.0 |
109.654/s |
110.781/s |
1.814/s |
2361.923/s |
22.902/s |
109.874/s |
3 |
0.040 / 0.010 / 2.4 |
109.540/s |
108.830/s |
1.159/s |
2373.456/s |
4.672/s |
108.251/s |
3 |
0.040 / 0.010 / 3.2 |
112.289/s |
112.484/s |
3.249/s |
2404.632/s |
50.686/s |
110.860/s |
3 |
Topology call¶
Fixture 001 verified characterization indicates a stable local basin centered
near stepLength=0.040, errorTolerance=0.010, turnThreshold≈3.2.
The best verified operating point in current testing is 0.040 / 0.010 / 3.2,
with 0.040 / 0.010 / 2.4 as a lower-variance fallback.
This is best described as a stable basin with a mild ridge toward
turnThreshold=3.2, not a fragile single-run spike.
Why this matters¶
- The top verified point was not isolated; neighboring verified settings stayed in the same performance band.
- All nine repeat runs stayed fully verified, so the result is not tied to a build/runtime mismatch or scheduler regression.
- This gives Fixture 001 a usable state-of-the-art reference for future fixture-note writeups: record the winner, the fallback, and the basin shape.
Radial profile interpretation¶
Fixture 001 optimization improves the same outer-mid annular hit band rather
than shifting or broadening it. The best verified config, 0.040 / 0.012 / 2.0,
increases localized hit conversion in bins 5 and 6 without changing rendered
coverage.
Historical run history¶
The current local Fixture 001 history under output/fixture_runs/fixture_001
contains six recorded runs from March 19-20, 2026.
| Label | Timestamp | StepsPerRay | Status | guard_progress exits | forcedAdvance | processed_rows | traced_pixels | Notes |
|---|---|---|---|---|---|---|---|---|
| A0 | 2026-03-19T22-08-00 |
500 | ok | 18 | 18 | 164 | 39200 | First functional captured baseline, but heavily scheduler-limited |
| A1 | 2026-03-19T22-49-38 |
500 | ok | 7 | 7 | 164 | 24320 | Improved over A0, still scheduler-limited |
| A1.1 | 2026-03-19T22-55-23 |
500 | ok | 10 | 10 | 164 | 27616 | Additional 500-step run, still scheduler-limited |
| A2 | 2026-03-19T22-57-53 |
350 | ok | 0 | 0 | 164 | 56288 | First scheduler-clean capture in the current run history |
| A3 | 2026-03-20T18-26-33 |
300 | ok | 1 | 1 | 172 | 71744 | Single-parameter variant from A2; higher coverage and traced pixels, but scheduler guard regressed |
| A4 | 2026-03-20T18-29-51 |
400 | ok | 0 | 0 | 164 | 40608 | Single-parameter variant from A2; scheduler-clean, but lower traced pixel count than A2 |
StepsPerRay Sweep Comparison¶
The completed single-parameter StepsPerRay sweep around the current baseline
uses the following runs:
| Label | StepsPerRay | guard_progress | forcedAdvance | traced_pixels | processed_rows | runtime |
|---|---|---|---|---|---|---|
| A3 | 300 | 1 | 1 | 71744 | 172 | 29.458s |
| A2 | 350 | 0 | 0 | 56288 | 164 | 28.825s |
| A4 | 400 | 0 | 0 | 40608 | 164 | 29.777s |
Baseline Decision¶
A2 is now the official Fixture 001 baseline.
It remains the strongest balance of stability and output quality in the current local run history:
300produced more traced pixels, but it regressed scheduler cleanliness with oneguard_progressexit and oneforcedAdvance=1event.400stayed scheduler-clean, but it reducedtraced_pixelsfrom56288to40608and increased runtime from28.825sto29.777s.350preserves scheduler cleanliness while keeping stronger output quality than the stable400variant, making it the best current balance.
A3 variant result¶
- Label:
A3 - Timestamp:
2026-03-20T18-26-33 - Scene:
res://test-grin-basic-visual-minimal.tscn - Fixture:
grin_basic_visual_minimal - Launcher observed in run log:
manual - Transport:
GRIN_Optical - StepsPerRay:
300 - Status:
ok - Capture succeeded:
true - guard_progress exits:
1 - forcedAdvance events:
1 - ready_frames:
12 - render_health_step:
41 - processed_rows:
172 - traced_pixels:
71744 - source_hits:
3361 - miss_hits:
68383
Compared with A2, A3 only changes StepsPerRay from 350 to 300. The run
still captures successfully, but it is no longer scheduler-clean because one
guard_progress exit and one forcedAdvance=1 yield abort appear in run.log.
A4 variant result¶
- Label:
A4 - Timestamp:
2026-03-20T18-29-51 - Scene:
res://test-grin-basic-visual-minimal.tscn - Fixture:
grin_basic_visual_minimal - Launcher observed in run log:
manual - Transport:
GRIN_Optical - StepsPerRay:
400 - Status:
ok - Capture succeeded:
true - guard_progress exits:
0 - forcedAdvance events:
0 - ready_frames:
12 - render_health_step:
41 - processed_rows:
164 - traced_pixels:
40608 - source_hits:
1928 - background_hits:
6411 - miss_hits:
32269
Compared with A2, A4 only changes StepsPerRay from 350 to 400. The run
remains scheduler-clean, but traced pixel count drops from 56288 to 40608,
so A2 remains the stronger baseline in the current local history.
Official Baseline¶
- Label:
A2 - Timestamp:
2026-03-19T22-57-53 - Scene:
res://test-grin-basic-visual-minimal.tscn - Fixture:
grin_basic_visual_minimal - Launcher observed in run log:
manual - Transport:
GRIN_Optical - StepsPerRay:
350 - Status:
ok - Capture succeeded:
true - guard_progress exits:
0 - forcedAdvance events:
0 - ready_frames:
12 - render_health_step:
41 - processed_rows:
164 - traced_pixels:
56288 - source_hits:
2717 - miss_hits:
53571
Accepted Post-Fix Comparison Baseline¶
- Label:
A2-post-field-fix - Timestamp:
2026-03-26T21-14-34 - Scene:
res://test-grin-basic-visual-minimal.tscn - Fixture:
grin_basic_visual_minimal - Transport:
GRIN_Optical - Status:
ok - Capture succeeded:
true - guard_progress exits:
0 - forcedAdvance events:
0 - processed_rows:
164 - traced_pixels:
48864 - source_hits:
2364 - miss_hits:
46500
This accepted comparison baseline supersedes the older pre-fix capture for
future post-r_outer / r_inner validation work.
Next Study Direction¶
Hold A2 fixed as the reference configuration and run the next single-parameter
micro-sweep on StepLength.
Recommended rationale:
StepsPerRayhas now been bracketed at300,350, and400.StepLengthis the next most direct ray-march control that can change both scheduler behavior and output coverage while leaving the established A2 baseline intact.- A focused
StepLengthsweep should make it easier to see whether A2 can gain more traced coverage without giving back scheduler cleanliness.
Acceptance criteria for baseline reuse¶
Treat Fixture 001 as passing the baseline when the run preserves these checks:
- status =
ok - capture_succeeded =
true - launch audit status =
ok - guard_progress exits =
0 - forcedAdvance events =
0 - processed_rows >=
164 - traced_pixels >
0
Notes¶
- The recorded run history shows that reducing
stepsPerRayfrom500to350is what coincides with the first scheduler-clean capture in the current local evidence set. - The current history was gathered from existing local artifacts, not by launching a fresh run during this doc update.