FlowPane has the following defects: 1. Raw insets are used for measurement and layout. 2. Snapped allocations are not re-snapped after arithmetic. 3. The preferred-size methods sometimes apply `snapSizeX/Y` to an already composed run span. 4. `prefWrapLength`, supplied widths/heights, and the pane’s own allocated width/height are used raw when deciding where to wrap. 5. Content bias is only partially handled. 6. The cached runs contain snapped sizes and gaps, but the cache key records only `maxRunLength`; it does not include `isSnapToPixel` or the X/Y render scales.
--------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - fix - tests Changes: https://git.openjdk.org/jfx/pull/2269/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=2269&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8390771 Stats: 501 lines in 2 files changed: 398 ins; 36 del; 67 mod Patch: https://git.openjdk.org/jfx/pull/2269.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/2269/head:pull/2269 PR: https://git.openjdk.org/jfx/pull/2269
