Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1060 commits
Select commit Hold shift + click to select a range
07bd59c
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
557c48a
Combo differential: capture the face and pixels with keyboard cues hi…
hsoliwal Oct 18, 2026
40f5dff
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
a9825a3
Render modes: storm-proof build and verification scripts (bounded mem…
hsoliwal Oct 18, 2026
63a6da9
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
87e44aa
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
18fc762
Table T-Table-12: TableViewport 100 % line, 91.3 % branch
hsoliwal Oct 18, 2026
c3dff69
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
c8aa0f3
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
a57ba5a
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
e967f7d
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
b835906
Render modes: prove the test build complete before snapshotting it
hsoliwal Oct 18, 2026
b5e7172
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
9439ba1
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
8a2cfa2
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
7f4a9e3
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
88069e3
Combo cue evidence: the cue-state traffic of the read-only differenti…
hsoliwal Oct 18, 2026
5c9f8b2
Tree viewport: regression test for writes through reused native handl…
hsoliwal Oct 18, 2026
56d9125
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
80d1091
Enhanced API: coverage 100% lines, 93.5% branches (remaining 15 are S…
hsoliwal Oct 18, 2026
36cc899
Tree viewport coverage: edge-case UI tests; TreeViewport at 99.2% lin…
hsoliwal Oct 18, 2026
6b73f4b
Enhanced API: 44/44 in viewport and original on the jar rebuilt from …
hsoliwal Oct 18, 2026
fbb567f
docs(m3): Combo differential hides keyboard cues; cue traffic equal o…
hsoliwal Oct 18, 2026
ea39a4c
Merge fork master (fleet PRs #214-#223) into integration, keeping eve…
hsoliwal Oct 18, 2026
3827f5f
Merge remote-tracking branch 'origin/m3/tree-viewport-20261016' into …
hsoliwal Oct 18, 2026
58fe2c7
Coverage (brief rule 15): scroll bar geometry edges; WidgetMode recor…
hsoliwal Oct 18, 2026
50e8486
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
53f2fa4
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
2f615f2
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
55dd5b6
Table T-Table-12: TableViewport 100 % line, 99.8 % branch (478/479)
hsoliwal Oct 18, 2026
b7de2be
Merge commit '3827f5f296' into m3/enhanced-api-20261017
hsoliwal Oct 18, 2026
b7d8388
Viewport programme plan: Tree flawless milestone, integration round 7…
hsoliwal Oct 18, 2026
96e1038
Viewport programme plan: Swing leaf 2 (#1394), Table 100/99.8 coverag…
hsoliwal Oct 18, 2026
e66e672
Enhanced API: algorithm catalogue (rule 21) for the choices of leaves…
hsoliwal Oct 18, 2026
841f06b
merge: viewport integration round 7 (3827f5f296) into the Table branch
hsoliwal Oct 18, 2026
257fc2d
Enhanced API map: ingest the Table agent's four API candidates (first…
hsoliwal Oct 18, 2026
8af503a
Enhanced API leaf 4 design: token lanes for M3TokenCursor (shape reus…
hsoliwal Oct 18, 2026
c7885c9
Enhanced API leaf 4 (tests pending): M3TokenVocabulary, M3TokenMatch,…
hsoliwal Oct 18, 2026
8546319
docs(m3): List resize and zoom recordings predate a system highlight …
hsoliwal Oct 18, 2026
4470b70
docs(m3): the resize and zoom runs stopped at the first pixel differe…
hsoliwal Oct 18, 2026
81b33c3
Tree viewport: selection left by native caret moves on deletion (part…
hsoliwal Oct 18, 2026
922215f
Tree viewport coverage: JaCoCo report and scripts under docs/m3/tree-…
hsoliwal Oct 18, 2026
f0b6da1
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
7fc7fbf
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
2c03a60
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
4514998
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
3bce6b7
Enhanced API leaf 4 green: token vocabulary, token matching and word …
hsoliwal Oct 18, 2026
ce49941
list_viewport_run.sh, list_coverage.sh: M3_RUNS and M3_COV move recor…
hsoliwal Oct 18, 2026
e8f788f
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
bbaa179
Viewport programme plan: List/Combo cue proof, donor-atomize done (#1…
hsoliwal Oct 18, 2026
1f20e17
Tree viewport evidence: VkSubtractCollapseOracle, stock vs viewport f…
hsoliwal Oct 18, 2026
064d463
docs(m3): List resize and zoom recorded again with the official jar; …
hsoliwal Oct 18, 2026
fc9bd9f
docs(m3): rewrap the resize and zoom note
hsoliwal Oct 18, 2026
2d90def
Merge integration round 7 (3827f5f296) into render modes
hsoliwal Oct 18, 2026
a1f0def
Enhanced API leaf 4: cite M3jdk21 PR #1402 (M3TokenCursor identical t…
hsoliwal Oct 18, 2026
3ee0145
Enhanced API leaf 4 doc: header cites PR #1402
hsoliwal Oct 18, 2026
0caca14
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
db09796
Enhanced API leaf 5 design: M3Emptiness, a uniform zero-crossing even…
hsoliwal Oct 18, 2026
65cf68c
Enhanced API leaf 5 (seam pending): M3Emptiness listener API and latc…
hsoliwal Oct 18, 2026
2b00c2f
Render modes: drawn planes paint natively when none of the damage is …
hsoliwal Oct 18, 2026
fd606dc
Render modes: document the native paint of a damage nobody sees
hsoliwal Oct 18, 2026
26c75d9
Enhanced API leaf 5 seam (build pending): win32 Tree, Table and List …
hsoliwal Oct 18, 2026
21fddee
Enhanced API leaf 5 (build pending): ordered re-entrant announcements…
hsoliwal Oct 18, 2026
81b0304
Enhanced API leaf 6 design: M3RowMath, visible-row rank/select of a T…
hsoliwal Oct 18, 2026
7046f0f
Enhanced API leaf 6 (build pending): M3RowMath with the TreeViewport …
hsoliwal Oct 18, 2026
e7e7b8d
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
e83fa13
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
5477a77
WIP checkpoint (interval sweep)
hsoliwal Oct 18, 2026
b1b8d67
Enhanced API: leaves 5-6 code-complete and unbuilt; builds parked whi…
hsoliwal Oct 18, 2026
283055c
list_coverage.sh: split the one-line JaCoCo XML with tr (0.2 s); a gl…
hsoliwal Oct 18, 2026
67b79cd
docs(m3): first full List and Combo coverage run on lv17 (to be repea…
hsoliwal Oct 18, 2026
e45bf20
docs(m3): why onSpace is not covered: the caret stayed within the nat…
hsoliwal Oct 18, 2026
1a32e1d
ListViewport: Tree's names for the same steps (scrollIntoView -> keep…
hsoliwal Oct 18, 2026
66f516a
docs(m3): ListViewport naming against TreeViewport (28 shared names) …
hsoliwal Oct 18, 2026
6ede58a
ListViewport: -Dswt.viewport.list.reach lowers the native reach for t…
hsoliwal Oct 19, 2026
fe6a0b5
List viewport tests: the context-menu key in the differential, a setI…
hsoliwal Oct 19, 2026
2951930
Enhanced API leaf 7 design: M3Residency views over the viewport windo…
hsoliwal Oct 19, 2026
ac196ff
Combo differential: a read-only combo with a Verify listener that log…
hsoliwal Oct 19, 2026
bb7ab44
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
b35bb7d
list_coverage.sh: the differentials again with a short native reach (…
hsoliwal Oct 19, 2026
5b25288
Viewport programme plan: donor wave 2 (Skija JetBrains+HumbleUI linea…
hsoliwal Oct 19, 2026
63f2464
Enhanced API leaf 7 (build pending): M3Residency with win32 viewport …
hsoliwal Oct 19, 2026
3e98977
docs(m3): resize and zoom recorded fresh on S: pass on lv17; the Comb…
hsoliwal Oct 19, 2026
ab7bcb1
Render modes: pixels a step answers with are evidence and, in the dra…
hsoliwal Oct 19, 2026
b4a8ebc
Enhanced API leaf 7 (build pending): Test_M3Residency
hsoliwal Oct 19, 2026
0e0c766
Test_VirtualRowWindowPlan: rowOf over every window and out of range, …
hsoliwal Oct 19, 2026
89f5066
Fix TreeItem.destroyWidget seam: keep the tree before releaseHandle c…
hsoliwal Oct 19, 2026
bf4fa05
Enhanced API leaf 8 design: M3BulkUpdates over beginBatch and the emp…
hsoliwal Oct 19, 2026
5fd8b1e
Render modes: drawn-plane hooks re-applied by recipe on integration r…
hsoliwal Oct 19, 2026
1d9652e
Enhanced API leaf 8 (build pending): M3BulkUpdates.run for Tree, Tabl…
hsoliwal Oct 19, 2026
d3324f6
Enhanced API leaf 8 (build pending): Test_M3BulkUpdates against unbat…
hsoliwal Oct 19, 2026
da91e03
Table viewport: names converge on the Tree viewport (rule 9), documented
hsoliwal Oct 19, 2026
2fbfc25
Enhanced API leaf 5: hold Table and Tree setItemCount (stock paths cr…
hsoliwal Oct 19, 2026
e0efe30
Enhanced API leaf 9 design: M3Prefetch ranges from the viewport windows
hsoliwal Oct 19, 2026
16cd81c
Enhanced API leaf 9 (build pending): M3Prefetch with window seams in …
hsoliwal Oct 19, 2026
37332c7
Enhanced API leaf 9 (build pending): Test_M3Prefetch replays the even…
hsoliwal Oct 19, 2026
ec7448d
Enhanced API leaf 10 design: M3DiffApply, identity diff by LIS
hsoliwal Oct 19, 2026
b055254
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
fdb5205
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
fd25a2b
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
11b54f2
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
312ac9f
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
0ba1f60
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
87033f6
Enhanced API leaves 7, 9 and 10: the Table viewport window is for tab…
hsoliwal Oct 19, 2026
5ab5ea4
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
bd4c2bd
Enhanced API leaf 10 (build pending): Test_M3DiffApply against a quad…
hsoliwal Oct 19, 2026
dac55fa
Viewport programme plan: fold all viewport logic into M3JDK collectio…
hsoliwal Oct 19, 2026
cba536c
Enhanced API leaf 11 design: M3VisibilityObserver over the visible range
hsoliwal Oct 19, 2026
7c8d4a8
Enhanced API leaf 11 (build pending): M3VisibilityObserver; range dif…
hsoliwal Oct 19, 2026
3a83256
Enhanced API leaf 11 (build pending): Test_M3VisibilityObserver repla…
hsoliwal Oct 19, 2026
77ec3c0
Residency and prefetch tests: 10^4 native rows in the original mode (…
hsoliwal Oct 19, 2026
70dffe2
Enhanced API leaf 12 design: M3Collation sort keys in byte lanes
hsoliwal Oct 19, 2026
99dac54
Merge Table 55dd5b6c69 (gate-verified) into integration
hsoliwal Oct 19, 2026
4e8b5e0
Merge List 66f516a8d7 (gate-verified) into integration
hsoliwal Oct 19, 2026
e22b93a
Merge Tree-coverage 1f20e174ad (gate-verified) into integration
hsoliwal Oct 19, 2026
5211eda
Enhanced API leaf 12 (build pending): M3Collation and M3SortKeys, Tes…
hsoliwal Oct 19, 2026
481aace
Enhanced API leaf 13 design: M3ScrollMemento
hsoliwal Oct 19, 2026
0ca093c
Leaf 13 design: the memento keeps the anchor row only (horizontal scr…
hsoliwal Oct 19, 2026
f86ebed
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
0105f4b
Coverage (brief rule 15): ExpandBar, CoolBar and plane deferral of th…
hsoliwal Oct 19, 2026
f930b87
Enhanced API leaf 13 (build pending): M3ScrollMemento and Test_M3Scro…
hsoliwal Oct 19, 2026
84259f2
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
03c704b
Enhanced API leaf 14 design: M3ProxyModel lanes and widget binding
hsoliwal Oct 19, 2026
33d3c15
Enhanced API leaf 15 design: M3TypeAhead.indexOf over the text lane
hsoliwal Oct 19, 2026
ce94e66
Table coverage on build tt20261019p6: TableStockItems 100 % line and …
hsoliwal Oct 19, 2026
3a89509
Enhanced API leaf 14 (build pending): M3ProxyModel and Test_M3ProxyModel
hsoliwal Oct 19, 2026
356d56c
Enhanced API leaf 15 (build pending): M3TypeAhead.indexOf; TableViewp…
hsoliwal Oct 19, 2026
7f68f94
LF6 design: Swing-style pluggable look and feel, improved; donor rows…
hsoliwal Oct 19, 2026
1da6128
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
54c76cd
Enhanced API leaf 16 design: M3RowExtents, the public face of Virtual…
hsoliwal Oct 19, 2026
5b2ddc6
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
426ccaf
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
805622a
Render modes: the ListView's ellipsis, text box and grid in the Table…
hsoliwal Oct 19, 2026
a8c339a
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
97e4d66
Enhanced API leaf 16 (build pending): M3RowExtents and Test_M3RowExte…
hsoliwal Oct 19, 2026
2153916
Merge integration e22b93a6b1 on the round 6 base: restore M3 paths, a…
hsoliwal Oct 19, 2026
4ffbaa0
Enhanced API leaf 17 design: M3CheckState dig-in for CHECK trees
hsoliwal Oct 19, 2026
d631c86
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
4c4e310
Merge SWT #224: qualify OpenRewrite bootstrap runtime
hsoliwal Oct 19, 2026
d9239b4
merge: additive superset PR #225
hsoliwal Oct 19, 2026
59eb59e
merge: additive superset PR #226
hsoliwal Oct 19, 2026
a3c8bb4
merge: additive superset PR #227
hsoliwal Oct 19, 2026
cf076bd
merge: additive superset PR #228
hsoliwal Oct 19, 2026
344ae69
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
122702c
docs(viewport): pin original resident-window contract and canonical r…
hsoliwal Oct 19, 2026
13214d7
Merge integration round 8 (e22b93a6b1) into render modes
hsoliwal Oct 19, 2026
ce16230
Enhanced API map: M3-COLUMN-SORT and M3-COLUMN-FILTER rows, owned by …
hsoliwal Oct 19, 2026
c47a689
Render modes: hooks at their recipe fixed point on integration round …
hsoliwal Oct 19, 2026
63d58f2
Test_M3VisibilityObserver: the original-mode trigger always changes t…
hsoliwal Oct 19, 2026
069c2f7
sort-filter: design, donor decisions and provenance skeleton for M3Co…
hsoliwal Oct 19, 2026
f2bfeab
fix(viewport): reject resident row-window overflow before state mutation
hsoliwal Oct 19, 2026
9248eeb
Render modes: runtime look-and-feel switch leg in the differential ha…
hsoliwal Oct 19, 2026
bca7ddb
Enhanced API: FOSS reuse decisions for leaves 5-17
hsoliwal Oct 19, 2026
a75abea
LF6 step b: int key ids, typed defaults lanes, sparse per-widget over…
hsoliwal Oct 19, 2026
65e21fc
Enhanced API leaf 17 (build pending): M3CheckState dig-in and Test_M3…
hsoliwal Oct 19, 2026
713df29
Tree viewport coverage: owner review of COVERAGE_GAPS (decision colum…
hsoliwal Oct 19, 2026
5c26b07
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
85f192c
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
97b05a1
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
91eb084
Test_M3RowExtents: rowAt(0) is row 0 even when leading rows have no e…
hsoliwal Oct 19, 2026
eb6ce12
Render modes: drawn rows read the built-in look and feels' colours fr…
hsoliwal Oct 19, 2026
f5282cc
Render modes: run-time switch leg evidence (native -> swing at step 40)
hsoliwal Oct 19, 2026
5cc3a9c
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
f66ea60
Render modes: the theme switch leg runner and its capture comparison …
hsoliwal Oct 19, 2026
74cf8a5
M3Residency.isMaterialized: the platform stubs answer for tables with…
hsoliwal Oct 19, 2026
a44f006
Table differential: quiesce sends the ListView's pending scroll-wait …
hsoliwal Oct 19, 2026
b4ad2ca
Merge latest tree-viewport-20261016 into integration (round 9)
hsoliwal Oct 19, 2026
3fc5ec7
Merge latest table-viewport-20261016 into integration (round 9)
hsoliwal Oct 19, 2026
ba08791
Merge latest list-viewport-20261016 into integration (round 9)
hsoliwal Oct 19, 2026
b342530
Table evidence: ScrollWaitFireProbe run without trailing blanks
hsoliwal Oct 19, 2026
7283218
Merge latest synexia-attribution-20261017 into integration (round 9)
hsoliwal Oct 19, 2026
099c0c5
Prefetch, visibility and memento tests: list and tree listener remova…
hsoliwal Oct 19, 2026
f3595de
Tree differential: custom draw variant (MeasureItem, EraseItem, Paint…
hsoliwal Oct 19, 2026
e5ff724
Merge latest enhanced-api-20261017 into integration (round 9)
hsoliwal Oct 19, 2026
cf26f95
Leaf 8 doc: ViewportBatch keeps the entry of a control disposed while…
hsoliwal Oct 19, 2026
d8a4a4e
Merge latest allwidgets-viewport-20261016 into integration (round 9)
hsoliwal Oct 19, 2026
dbf8532
Table differential: table_flake.sh repeats the official and original …
hsoliwal Oct 19, 2026
f55983a
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
a9be50f
m3: column sort/filter core: M3RowView chain, M3ColumnSort (radix per…
hsoliwal Oct 19, 2026
a911d7c
Table viewport doc: determinism of the recording follows quiesce (pos…
hsoliwal Oct 19, 2026
6f29412
Leaf 9 doc: prefetch ranges are row numbers at event time; structural…
hsoliwal Oct 19, 2026
7329d10
Leaf 9 doc: only the first listener hears the whole window
hsoliwal Oct 19, 2026
8c523bd
m3: M3ColumnSort JUnit tests (stability, multi-key, toggle, increment…
hsoliwal Oct 19, 2026
49e6947
TableViewport.isLive: call facadeOrNull (the Table branch renamed liv…
hsoliwal Oct 19, 2026
2038639
Attribution ledger: classify the round 8 head 2153916d3e (integration…
hsoliwal Oct 19, 2026
36227d9
m3: M3ColumnFilter/M3TextMatch/M3RowWindow tests; filter reports UPDA…
hsoliwal Oct 19, 2026
9e830f2
Merge integration round 9 (49e6947020) into enhanced-api: Table conve…
hsoliwal Oct 19, 2026
0e98b59
Synexia attribution recipe on round 8: canonical header on 3 new firs…
hsoliwal Oct 19, 2026
c4a34a3
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
f8c5b55
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
bcde519
Viewport programme plan: M3jdk21-is-the-JDK landing rule, integration…
hsoliwal Oct 19, 2026
67f8a20
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
345fe61
Merge remote-tracking branch 'origin/m3/viewport-integration-20261016…
hsoliwal Oct 19, 2026
d17de6d
Merge integration round 9 (49e6947020) into m3/synexia-attribution-20…
hsoliwal Oct 19, 2026
752e929
Test_org_eclipse_swt_internal_laf_M3LookAndFeel: qualify java.util.Li…
hsoliwal Oct 19, 2026
752fad2
WidgetMode tests: one suite with the distinct cases of Tree-coverage …
hsoliwal Oct 19, 2026
7ab598a
Enhanced API map: leaves 5-17 shipped (build 65e21fc72f9 on S: viewpo…
hsoliwal Oct 19, 2026
b399b52
ListViewport: single-selection keys over logical rows as the list box…
hsoliwal Oct 19, 2026
44a6784
Attribution ledger on round 9 (head d17de6dace, integration 49e694702…
hsoliwal Oct 19, 2026
7c28c0c
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
593958a
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
1a027b0
Merge integration round 9 (49e6947020) into render modes
hsoliwal Oct 19, 2026
4e98911
m3: filter edit panel (adapted TV_5.0 FilterEditPanel), filter UI mes…
hsoliwal Oct 19, 2026
cd8b004
LF6 step d (part 1): loader resolves a key cone; idempotent recipe
hsoliwal Oct 19, 2026
10aaf21
Test_M3Emptiness: a Table refilled inside BECAME_EMPTY announces the …
hsoliwal Oct 19, 2026
aedf6c2
Attribution receipt: re-application after integration rounds 8 and 9 …
hsoliwal Oct 19, 2026
90efd39
m3: M3FilterPopup (adapted TV_5.0 PopUpFilterUI/ColumnFilterUI) and M…
hsoliwal Oct 19, 2026
5a497a1
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
c220208
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
6de0847
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
4b358e1
docs(m3): lv18 gap tests, coverage (ListViewport 96.2% lines) and the…
hsoliwal Oct 19, 2026
ec5d0d5
LF6 steps c and d: runtime look and feel switching, UI delegates, der…
hsoliwal Oct 19, 2026
20c0f3f
M3 naming recipe (crate 988f23220d) on round 9: the TreeDrawnPlane ja…
hsoliwal Oct 19, 2026
f426bee
Attribution receipt: M3 naming fix applied on round 9 (crate 988f23220d)
hsoliwal Oct 19, 2026
3ce2c60
Test_org_eclipse_swt_internal_laf_M3LookAndFeel: import java.util.Lis…
hsoliwal Oct 19, 2026
ac4ef7d
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
df607e6
WIP checkpoint (interval sweep)
hsoliwal Oct 19, 2026
bf1f45b
merge(m3 viewport): preserve qualified source PR #229
hsoliwal Oct 19, 2026
148d255
Merge latest tree-viewport-20261016 into integration (round 10)
hsoliwal Oct 19, 2026
c0fa949
Merge latest table-viewport-20261016 into integration (round 10)
hsoliwal Oct 19, 2026
1721bc6
Merge latest list-viewport-20261016 into integration (round 10)
hsoliwal Oct 19, 2026
7942397
Merge latest synexia-attribution-20261017 into integration (round 10)
hsoliwal Oct 19, 2026
6877ea9
Merge latest enhanced-api-20261017 into integration (round 10)
hsoliwal Oct 19, 2026
a51a931
Merge latest sort-filter-20261019 into integration (round 10)
hsoliwal Oct 19, 2026
d225cab
Merge latest render-modes-20261017 into integration (round 10)
hsoliwal Oct 19, 2026
5593cc4
Merge latest allwidgets-viewport-20261016 into integration (round 10)
hsoliwal Oct 19, 2026
4447963
merge(upstream): eclipse-platform/eclipse.platform.swt master 3af6685…
hsoliwal Oct 19, 2026
6f31b53
fix(upstream-sync): bind cell images through the fork's own getPixbuf…
hsoliwal Oct 19, 2026
80a2a21
fix(upstream-sync): drop the cellImage shift that the 3-way merge dup…
hsoliwal Oct 19, 2026
db426f6
Merge pull request #230 from hsoliwal/converge/m3-swt-viewport-20261019
hsoliwal Oct 19, 2026
75b95cd
Merge pull request #233 from hsoliwal/m3/upstream-sync-20261019
hsoliwal Oct 19, 2026
839ce8a
Merge pull request #234 from hsoliwal/m3/swt-interning-20261019
hsoliwal Oct 19, 2026
30814fe
test(swt): qualify canonical full-range scrollbar recipe before recei…
hsoliwal Oct 20, 2026
8e5eb98
fix(swt): receive hash-pinned full-range scrollbar geometry after 5,7…
hsoliwal Oct 20, 2026
3227ec6
docs(swt): record exact receiver hashes and 5.7m Java21 oracle assert…
hsoliwal Oct 20, 2026
edef4a8
Merge pull request #236 from hsoliwal/m3/swt-scrollbar-full-range-202…
hsoliwal Oct 21, 2026
c0ffa6d
Merge pull request #237 from hsoliwal/fix/m3-swt-scrollbar-full-range…
hsoliwal Oct 21, 2026
7a5e446
recipe-first(swt): pin original EventTable M3 slot-index algorithm, E…
hsoliwal Oct 21, 2026
6cce091
perf(swt): replace full listener-capacity rescans with original Event…
hsoliwal Oct 21, 2026
729956e
Complete the existing full-range SWT proof runtime closure
hsoliwal Oct 21, 2026
fd31fc0
merge: additive recipe PR #240
hsoliwal Oct 21, 2026
9032cdf
merge: additive recipe PR #241
hsoliwal Oct 21, 2026
ff1f446
recipe(M3AST): receive original source identity gate without runtime …
hsoliwal Oct 21, 2026
aae8d20
Guard nonpositive themed text widths in RowRenderer
hsoliwal Oct 22, 2026
2c8114b
Merge pull request #244 from hsoliwal/m3/viewport-theme-text-bounds-2…
hsoliwal Oct 22, 2026
57263fa
merge: additive source-audit receiver (PR #242)
hsoliwal Oct 22, 2026
ff91f71
proof(GTK4 List): retain canonical recipe and original SWT source rec…
hsoliwal Oct 22, 2026
6356f90
test(GTK4): record strict Java21 event-order model without native claims
hsoliwal Oct 22, 2026
537324f
merge: additive source-qualified PR #245
hsoliwal Oct 22, 2026
2f3d417
Merge branch 'master' into master
hsoliwal Oct 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
60 changes: 59 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,16 @@ on:
type: string
required: false
default: ""
viewport_screenshots:
description: "Run the property-gated viewport screenshot regression after the build."
type: boolean
required: false
default: false
viewport_resources:
description: "Run isolated GTK3 viewport RSS, heap and CPU regression gates."
type: boolean
required: false
default: false

jobs:
build:
Expand Down Expand Up @@ -126,6 +136,50 @@ jobs:
${{ (inputs.runtodotests == false && inputs.gtk =='gtk4' && inputs.gdk_backend == 'x11') && '-DexcludedGroups=gtk4-todo' || '' }}
${{ (inputs.runtodotests == false && inputs.gtk =='gtk3' && inputs.gdk_backend == 'wayland') && '-DexcludedGroups=gtk3-wayland-todo' || '' }}
clean install
- name: Viewport screenshot regression
if: ${{ inputs.viewport_screenshots && inputs.native == 'gtk.linux.x86_64' }}
env:
SWT_GTK4: "0"
GDK_BACKEND: x11
working-directory: tests/org.eclipse.swt.tests
run: >-
dbus-run-session -- xvfb-run -a -s "-screen 0 1200x800x24 -noreset"
mvn --batch-mode -V -U -e
-DforkCount=1
'-Dnative=${{ inputs.native }}'
-DskipNativeTests=true
-DfailIfNoTests=true
-Dtest=ViewportScreenshotRegressionTest,Test_org_eclipse_swt_awt_Java2DCanvas
-Dswt.java2d.evidenceDirectory=target/screenshots/java2d
-Dswt.viewport.screenshotRegression=true
-Dswt.viewport.screenshots=target/screenshots/viewport
integration-test


- name: Validate SWT screen captures with OpenCV
if: ${{ inputs.viewport_screenshots && inputs.native == 'gtk.linux.x86_64' }}
working-directory: tests/org.eclipse.swt.tests
shell: bash
run: |
python3 -m venv target/viewport-vision
target/viewport-vision/bin/python -m pip install opencv-python-headless==4.12.0.88 numpy==2.2.6
target/viewport-vision/bin/python verify_viewport_screenshots.py --java2d

- name: Viewport memory and CPU regression
if: ${{ inputs.viewport_resources && inputs.native == 'gtk.linux.x86_64' }}
env:
SWT_GTK4: "0"
GDK_BACKEND: x11
working-directory: tests/org.eclipse.swt.tests
shell: bash
run: |
dbus-run-session -- xvfb-run -a -s "-screen 0 1200x800x24 -noreset" \
mvn --batch-mode -V -e -DforkCount=1 \
'-Dnative=${{ inputs.native }}' -DskipNativeTests=true \
-DfailIfNoTests=true -Dtest=ViewportResourceRegressionTest \
-Dswt.viewport.resourceRegression=true integration-test
python3 verify_viewport_screenshots.py --resources

- name: Performance tests
if: ${{ inputs.performance }}
env:
Expand All @@ -150,7 +204,11 @@ jobs:
if-no-files-found: warn
path: |
${{ github.workspace }}/**/target/surefire-reports/*.xml
${{ github.workspace }}/**/target/screenshots/*.png
${{ github.workspace }}/**/target/screenshots/**/*.png
${{ github.workspace }}/**/target/screenshots/**/*.txt
${{ github.workspace }}/**/target/screenshots/**/*.json
${{ github.workspace }}/**/target/viewport-resources/*.properties
${{ github.workspace }}/**/target/capture-qualification/*.properties
${{ github.workspace }}/**/*.log
${{ github.workspace }}/**/*.dump
${{ github.workspace }}/**/*.dumpstream
14 changes: 13 additions & 1 deletion .github/workflows/junit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,13 @@ permissions:
jobs:
discover-results:
runs-on: ubuntu-slim
if: github.event.workflow_run.conclusion != 'skipped'
# A cancelled matrix run was superseded by a newer run of the same ref
# (cancel-in-progress); its partial results are not published.
if: github.event.workflow_run.conclusion != 'skipped' && github.event.workflow_run.conclusion != 'cancelled'
outputs:
matrix: ${{ steps.build-matrix.outputs.matrix }}
isall: ${{ steps.build-matrix.outputs.isall }}
hasresults: ${{ steps.build-matrix.outputs.hasresults }}
steps:
- name: Search test-results and build dynamic matrix
id: build-matrix
Expand All @@ -47,6 +50,14 @@ jobs:
platforms+=" win32"
fi
platforms="${platforms# }"
if [[ -z "$platforms" ]]; then
# An empty matrix vector fails the whole workflow at evaluation time
# ("Matrix vector 'platform' does not contain any values").
echo "::warning title=No test results::Run ${{ github.event.workflow_run.id }} uploaded no test-results-* artifacts; nothing to publish."
echo "hasresults=0" >> "$GITHUB_OUTPUT"
exit 0
fi
echo "hasresults=1" >> "$GITHUB_OUTPUT"
if [[ "$platforms" == "macosx linux win32" ]]; then
platforms+=" all"
echo "isall=1" >> "$GITHUB_OUTPUT"
Expand All @@ -65,6 +76,7 @@ jobs:

results:
needs: discover-results
if: needs.discover-results.outputs.hasresults == '1'
runs-on: ubuntu-latest
permissions:
checks: write
Expand Down
46 changes: 46 additions & 0 deletions .github/workflows/m3-nonvirtual-tree-demo-20261015.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: M3 nonvirtual Tree demand mediator demo
on:
pull_request:
paths:
- 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/M3TreeDemandModel.java'
- 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/M3NonVirtualTreeDemo.java'
- 'examples/org.eclipse.swt.snippets/m3-tree-demo/**'
- '.github/workflows/m3-nonvirtual-tree-demo-20261015.yml'
workflow_dispatch:
permissions:
contents: read
jobs:
model-java21:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
- name: Execute exhaustive headless logical tree/SetData model tests
run: bash examples/org.eclipse.swt.snippets/m3-tree-demo/run-model-test.sh
gtk-native-smoke:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
- name: Obtain pinned public SWT GTK binaries for smoke test only
run: |
mkdir -p .m3-tree
curl --fail --location --retry 3 -o .m3-tree/swt-core.jar \
https://repo.maven.apache.org/maven2/org/eclipse/platform/org.eclipse.swt/3.126.0/org.eclipse.swt-3.126.0.jar
curl --fail --location --retry 3 -o .m3-tree/swt-gtk.jar \
https://repo.maven.apache.org/maven2/org/eclipse/platform/org.eclipse.swt.gtk.linux.x86_64/3.126.0/org.eclipse.swt.gtk.linux.x86_64-3.126.0.jar
unzip -t .m3-tree/swt-core.jar >/dev/null
unzip -t .m3-tree/swt-gtk.jar >/dev/null
- name: Launch and close real SWT GTK Tree in Xvfb
run: |
SWT_CLASSPATH="$PWD/.m3-tree/swt-core.jar:$PWD/.m3-tree/swt-gtk.jar" \
xvfb-run -a bash examples/org.eclipse.swt.snippets/m3-tree-demo/run-swt.sh \
--close-after-ms=1500
17 changes: 17 additions & 0 deletions .github/workflows/m3-source-pin-20261021.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# SPDX-License-Identifier: Apache-2.0
name: M3 original AST source pin
on:
pull_request:
paths:
- 'pom.xml'
- '.m3/m3ast-20261021/**'
- '.github/workflows/m3-source-pin-20261021.yml'
workflow_dispatch:
permissions:
contents: read
jobs:
source-identity:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: python3 .m3/m3ast-20261021/verify.py
29 changes: 29 additions & 0 deletions .github/workflows/m3-swt-eventtable-20261021.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SPDX-License-Identifier: Apache-2.0 OR EPL-2.0
name: Original SWT EventTable M3 indexed dynamic-array differential
on:
pull_request:
paths:
- 'bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/widgets/EventTable.java'
- 'docs/m3/eventtable-20261021/**'
- '.github/workflows/m3-swt-eventtable-20261021.yml'
workflow_dispatch:
permissions:
contents: read
jobs:
original-swt-parity:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
- name: Compile real Eclipse SWT source against isolated oracle stubs; compare original blob
shell: bash
run: |
set -euo pipefail
bash docs/m3/eventtable-20261021/prove.sh
41 changes: 41 additions & 0 deletions .github/workflows/m3-synexia-bootstrap-sdk-20261018.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# SPDX-License-Identifier: EPL-2.0
name: SWT Canonical Synexia Bootstrap SDK Proof
on:
pull_request:
paths:
- '.m3/openrewrite-recipes/src/**'
- '.m3/SYNEXIA_BOOTSTRAP_RECEIVER_20261018.md'
- '.github/workflows/m3-synexia-bootstrap-sdk-20261018.yml'
push:
branches:
- 'work/synexia-canonical-bootstrap-sdk-20261018'
workflow_dispatch:
permissions:
contents: read
jobs:
java21-openrewrite-readonly-application:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
cache: maven
- name: Verify canonical Git-source custody
run: |
set -euo pipefail
test "$(git hash-object .m3/openrewrite-recipes/src/main/java/com/synexia/m3/bootstrap/M3BootstrapInventoryRecipe.java)" = 8f1018a1bcfa203420253d59a8473ef5a18e19b6
test "$(git hash-object .m3/openrewrite-recipes/src/main/java/com/synexia/m3/bootstrap/M3BootstrapTaskRecipe.java)" = cfb9fb8befe2c5ccde5035e96ae7c99b89b5f490
- name: Execute original OpenRewrite SDK inventory and task-refusal JUnit
run: >
mvn -B -ntp -f .m3/openrewrite-recipes/pom.xml
-Dtest=M3BootstrapCrossForkExecutionTest test
- name: Preserve SWT receiver source
run: |
git diff --exit-code -- bundles
test -z "$(git status --porcelain --untracked-files=all -- bundles)"
10 changes: 10 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,19 @@ concurrency:
on:
push:
branches: [ master ]
# Documentation and M3 evidence records are not Maven inputs (no pom, bundle,
# test or example reads .m3/ or docs/), so they do not need the six-leg build.
paths-ignore:
- '**/*.md'
- 'docs/**'
- '.m3/**'
pull_request:
branches: [ master ]
types: [opened, reopened, synchronize, labeled]
paths-ignore:
- '**/*.md'
- 'docs/**'
- '.m3/**'

permissions:
contents: read
Expand Down
94 changes: 94 additions & 0 deletions .github/workflows/native-source-distillation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: SWT Native Source Distillation

on:
workflow_dispatch:
pull_request:
paths:
- '**/*.c'
- '**/*.h'
- '**/*.cc'
- '**/*.cpp'
- '**/*.cxx'
- '**/*.hpp'
- '**/*.m'
- '**/*.mm'
- '.m3/analysis-pom.xml'
- '.m3/native-source-distillation-20261005/**'
- '.github/workflows/native-source-distillation.yml'
push:
branches:
- master
- m3/swt-native-source-distillation-20261005
paths:
- '**/*.c'
- '**/*.h'
- '**/*.cc'
- '**/*.cpp'
- '**/*.cxx'
- '**/*.hpp'
- '**/*.m'
- '**/*.mm'
- '.m3/analysis-pom.xml'
- '.m3/native-source-distillation-20261005/**'
- '.github/workflows/native-source-distillation.yml'

permissions:
contents: read

concurrency:
group: swt-native-source-distillation-${{ github.ref }}
cancel-in-progress: true

jobs:
distill:
runs-on: ubuntu-24.04
steps:
- name: Checkout SWT
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
with:
fetch-depth: 1
lfs: false

- name: Checkout qualified canonical native atomizer
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
with:
repository: hsoliwal/com.synexia
ref: b280abde3cca3f74ed61a4a02a109bbee3273d14
# hsoliwal/com.synexia is private: the job GITHUB_TOKEN is scoped to this
# repository only and gets "repository not found". A read-only token for
# the atomizer repository must be stored as SYNEXIA_READ_TOKEN.
token: ${{ secrets.SYNEXIA_READ_TOKEN || github.token }}
path: target/m3-synexia
sparse-checkout-cone-mode: false
sparse-checkout: |
synexia-openrewrite-recipes/src/main/java/com/synexia/rewrite/M3NativeSourceAtomizer.java
synexia-openrewrite-recipes/src/main/java/com/synexia/rewrite/M3NativeSourceReceiptWriter.java
synexia-openrewrite-recipes/src/main/java/com/synexia/rewrite/M3NativeSourceReceiptCli.java
fetch-depth: 1
lfs: false

- name: Set up Java 21
uses: actions/setup-java@de5a937a1dc73fbc1a67d7d1aa4bebc1082f3190
with:
java-version: '21'
distribution: temurin

- name: Compile canonical receipt runner
shell: bash
run: |
mkdir -p target/native-receipt-classes
javac --release 21 -d target/native-receipt-classes \
target/m3-synexia/synexia-openrewrite-recipes/src/main/java/com/synexia/rewrite/M3NativeSourceAtomizer.java \
target/m3-synexia/synexia-openrewrite-recipes/src/main/java/com/synexia/rewrite/M3NativeSourceReceiptWriter.java \
target/m3-synexia/synexia-openrewrite-recipes/src/main/java/com/synexia/rewrite/M3NativeSourceReceiptCli.java

- name: Verify committed atom payloads and fixed-point receipts
shell: bash
run: |
java -cp target/native-receipt-classes \
com.synexia.rewrite.M3NativeSourceReceiptCli "$GITHUB_WORKSPACE" --check
grep -q '^FILES=124$' .m3/native-source-distillation-20261005/COMPLETE.properties
grep -q '^LOSSLESS_RECOMPOSITION=true$' .m3/native-source-distillation-20261005/COMPLETE.properties
grep -q '^RECIPE_FIXED_POINT=true$' .m3/native-source-distillation-20261005/COMPLETE.properties
grep -q '^NATIVE_SOURCE_MUTATION=false$' .m3/native-source-distillation-20261005/COMPLETE.properties
git diff --exit-code
11 changes: 8 additions & 3 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,16 @@ on:

jobs:
check-freeze-period:
uses: eclipse-platform/eclipse.platform.releng.aggregator/.github/workflows/verifyFreezePeriod.yml@master
permissions:
issues: read
uses: eclipse-platform/eclipse.platform.releng.aggregator/.github/workflows/verifyFreezePeriod.yml@481b9f832969add4d88f4ad62c9549af8ab9d4ec
check-merge-commits:
uses: eclipse-platform/eclipse.platform.releng.aggregator/.github/workflows/checkMergeCommits.yml@master
permissions:
contents: read
pull-requests: read
uses: eclipse-platform/eclipse.platform.releng.aggregator/.github/workflows/checkMergeCommits.yml@481b9f832969add4d88f4ad62c9549af8ab9d4ec
check-versions:
uses: eclipse-platform/eclipse.platform.releng.aggregator/.github/workflows/checkVersions.yml@master
uses: eclipse-platform/eclipse.platform.releng.aggregator/.github/workflows/checkVersions.yml@481b9f832969add4d88f4ad62c9549af8ab9d4ec
with:
botName: Eclipse Platform Bot
botMail: platform-bot@eclipse.org
Expand Down
Loading