18 lines
2.9 KiB
Markdown
18 lines
2.9 KiB
Markdown
# Corridor rounding correction: verified isolated result
|
|
|
|
Tested source345f7b3d5b64cef6e75f907c4d47f5b5658f1eba corrects the corridor experiment previously tested on903d85d. It remains unwired. The earlier18 passing tests are preserved in ../scenario-label-gates-20260913/README.md; those tests missed the arithmetic counterexamples below. This record supersedes that earlier corridor candidate's acceptance, without rewriting its raw evidence.
|
|
|
|
## Finding and correction
|
|
|
|
Independent source review found that admitting finite band endpoints did not ensure safe output after computing width=end-start. With x=f32::from_bits(0xfe79636e), width=f32::MAX, the reconstructed width becomes infinity although the right edge is finite. With band x=-999948.5625,width1000000 and an intersecting blocker starting at f32(2.1), naive reconstruction returns a right edge2.125, crossing the blocker.
|
|
|
|
The corrected conversion computes the difference in f64, caps it to finite f32 and rounds inward by one next_down step if nearest conversion overshot the admitted end. The guarantee is contained representable geometry, not exact-real arithmetic or raster-ink coverage. Two new tests explicitly establish the old arithmetic's failure before requiring a positive, finite, contained returned rectangle. A separate source re-review found no remaining issue in the conversion/use and confirmed one inward step is sufficient for these admitted finite f32 inputs. No native review is implied.
|
|
|
|
## Executed gate
|
|
|
|
The exact portable wrapper compiled with rustc1.98.1 gnullvm and warnings denied. It listed20 tests. Normal execution passed19,0 failed,1 intentionally ignored (1.81s). The exact global-font mutation then passed alone in a fresh process:1 passed,0 failed,0 ignored,19 filtered (0.10s). Face count167→168 and Font Version0→1 accompanied rejection of every old-label consumer and old-session resolution. Thus all20 selected evaluators passed.
|
|
|
|
All five captured source/lock/wrapper inputs and the identified executable remained unchanged. Artifacts.json binds the raw successful compiler receipt/command, exact listing, test logs/receipts, input manifests, dependency identities and binary SHA256. The compiler emitted no output, so there is no successful compile.log. Reproduction method and third-party dependency limitations remain as documented in the prior result; this is an isolated rustc evaluator, not a desktop Cargo or WGPU/native gate. A separate local output directory allowed this small evaluator to use existing dependency artifacts while the independent navigation/rename Cargo build continued; it changed no shared Cargo output.
|
|
|
|
The production geometry/camera/paint/hit/navigation integration, native glyph-ink and self/reversed workflows, persistence and gesture behavior are still pending. Linux remains user-deferred. Live scope and continuation: Gitea issue20; combined Windows integration is issue27.
|