The stroke-width saturation rung: direct overflow lands, precision aliases stay split - #89
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 49 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (10)
📒 Files selected for processing (14)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Outcome
This is the stroke-width percentage-saturation capability rung.
matrix and for the cap/transform matrix. The primitive corpus moves
280 → 284; all four additions are exact and add no tolerance.
width and crosses rframe unchanged. Its ink remains painter-shaped: join,
miter limit, cap, transform, topology, and an ordinary dash cycle all matter.
stroke-width percentage precision aliasrefusal replaces it, so therefusal register remains at 56.
stroke-widthchecklist twins deliberately remain unchecked. ValidChromium-honored source values can collapse to one pinned-Stylo percentage
fact, and that class has no own checklist row: this is the The stroke-paint rung: the paint grammar celled as twins, the context refusal proven load-bearing #81
SPLIT outcome, not a full-grammar tick.
Measured verdict
Chromium evaluates a pure percentage in the browser's percentage path, with
the authored percentage multiplied by the normalized-diagonal basis before
division by 100. Positive intermediate overflow becomes the maximum finite
width; it is not semantic stroke absence.
The discriminating matrix establishes:
5e36%branch and direct saturated3.4e38%branches;two-axis compression, each with an independently visible pass;
The remaining source-precision gap is also measured rather than inferred.
Adjacent authored values can share a computed Stylo bucket while Chromium
gives them distinct used widths. A non-f32 decimal around
57384.265625%differs by 864 pixels, and non-identity percentage math reaches further
results after Stylo erases its operation history—including length terms that
cancel to zero before a pure percentage remains. These cases refuse by the
stable precision-alias name across attribute, inline, stylesheet, and inherited
ingresses. Identity
calc(N%)remains admitted; genuinely mixedlength/percentage values retain their established mixed-calc refusal.
Contract and consumer
rframe continues to carry the exact finite
f32width, cap, join, miter, anddash facts. Only the derived direction-free coverage reach widens to a finite
f64value; the backend-free architecture guard remains green.n0 keeps painter input unchanged. Its damage projection computes wide reach,
also encloses sequential-f32 affine arithmetic, intersects the finite frame,
then outward-encodes
RectF. Rect/Ellipse coverage additionally encloses theactual composed box world (
0..w/0..h); Path keeps its absolute-coordinateroute. Exact cancellation and box-composition bit regressions guard both seams.
The generic damage-union representation remains separately tracked by
#87. The pre-existing fill-only box-world analogue found by this
audit is #88. The text font-basis patrol remains
#82.
Scratch probe testimony
Run from
fixtures/web-first/under the pinned Chromium capture posture:The final discriminator SHA-256 is
5270450f65f7e29ebb0a8e9d8730d89a0a0991fb423f5a551addb9174533e15f;the raw-f64 and mixed-zero matrices are respectively
0e13545f3b02ecd0870c4c2a6fd6fdff2fab84f0c59320f51df61ccc17a65ba3and
c3cc70ca099462e3906d0019fc724fa9d773ccb0a5a5c50ae26f0b3c4d509ab5.All reproduce under Chromium
149.0.7827.55.Verification
just bake— 284/284 verified, never-overwritejust gate— 4/4just status— fresh and idempotentcargo test -p rframe -p n0 -p websemcargo test -p n0_clicargo check -p rframe -p n0 -p websem -p n0_cligit diff --checkNo checklist/FLIP file changes, no conformance score produced or inspected.