Repository navigation
PNT1 2/8: border-radius, parsed as Chrome 145 and drawn natively on iOS and Android - #81
Open
thejackshelton wants to merge 3 commits into
Open
thejackshelton wants to merge 3 commits into
thejackshelton wants to merge 3 commits into
Conversation
…its four corner longhands, parsed and computed as Chrome 145 does and drawn by Dragon on iOS and Android. The radius family and border-radius shorthand (css/properties/radius.ts, shorthands/radius.ts, the paint value parser hook), the native checks (analysis/paint-values/radius.ts), the radius lowering and emitter (a rounded border-box path from the translated paint-radius.ts, the rounded background and border stages, the rounded overflow clip), the radius sample points and host paint model with the pnt1-radius proofs against Chrome, the radius fixtures, and the radius-square raster plant. Split from pnt1-shadow-v2 53ca9f7db2
…ixed point after 3 passes): grammar and UA tables, profiles, captures, DPR, break, font, media and pixel captures and vectors with the radius longhands and fixtures, emitted CSS, tw sweep, the north-star check, corpus-dpr.json and a host-only lanes.json
… master's 13782; the shadow branch adds its own), each still read as Chrome reads it
This was referenced Oct 5, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PNT1 part 2 of 8 (T115; notes/T046-paint-spec.md §5.2): border-radius and its four corner longhands. They are parsed and computed as Chrome 145 does, and Dragon draws them on iOS and Android with the translated
paint-radius.tsfrom part 1.Stacked on part 1. The base is
review/pnt1-paint-engines, a copy of part 1's head. CI runs only for basesmasterandreview/**. This PR shows only the radius commits, and the chain lands as a PNT1 train after trains 1–4.What changed
css/properties/radius.ts) and theborder-radiusshorthand (shorthands/radius.ts).css/paint-parsers.ts, called fromstylesheet.ts), with Chrome's parsing checks.analysis/paint-values/radius.ts: rounded border styles Dragon does not draw are refused.emit/paint/radius.ts, theroundedPathhook innative-support.ts).paint-samples/radius.ts), which keep base points off antialiased arcs.parity/test/paint-model.ts), withpnt1-radius.testandpnt1-radius-edges.test.radius-squareraster plant.Changed tests (reasons)
paint-seams,seams,gridands4btests: the radius module, longhands and shorthand are registered. The pinned lists and the longhand count gain them.device-run.testanddevice-lanes.test: theradius-squareplant joins SUPPORT_PLANTS, PLANT_CASES and PLANT_RULES. The plant-verdict test uses its rule.state-program.test: border-radius is refused by name rather than dropped.native-backends.test: the background is now written throughdragonBackgroundon both backends, because a rounded box paints its colour itself.p6a-dash-oracle.test: a rounded box is drawn by the rounded border painter, which the border stage tries before T116's side painter. The side-painter oracle therefore skips such a box.pnt1-radius.testcompares those borders against Chrome.css-escapes.test: twins 13782 → 13795. The radius longhands and fixtures add 13 escaped twins, and each still reads as Chrome reads it.What passed
pnpm regen: fixed point after 3 passes (outputs in d779905), then 0 steps after the last source commit.pnpm typecheck: clean.pnpm test: 3667 passed, 12 failed, 1 skipped.swiftcfor the iOS simulator, and the Kotlin compiles withkotlincagainst android-36.The 12 failing tests are the device-record checks (lanes.test, lanes-records.test, device-failures.test, p6a-promotion.test, lanes-concurrent.test). They fail only because the committed
packages/parity/out/lanes.jsonis host-only: the device lanes run under the device lease at this branch's turn in the PNT1 train. No device run has been made for this branch.🤖 Generated with Claude Code