Commit Graph
72 Commits
Author SHA1 Message Date
Dean f30d46345e Merge pull request #11523 from StoneDC/fix/progress-counter-validation
fix(tools): validate library counters before progress comparisons
2026-10-27 19:03:13 +13:00
Dean 6988f67406 Merge pull request #10996 from SandstromPL/fix/progress-exported-nid-no-patch
fix(tools): count functions exported with APS5_EXPORT under a _nid_no_patch name
2026-10-27 18:29:57 +13:00
Dean ade24e2f19 Merge pull request #10931 from MarcZX10/marc/fix-progress-small-delta
fix(tools): show a headline progress change that rounding would hide
2026-10-27 14:04:38 +13:00
StoneDC 237f001982 fix(tools): validate library counters before progress comparisons 2026-10-27 01:49:39 +08:00
Adrià 7e5a2c6e3d Merge pull request #9380 from emirplus/fix/progress-compare-utf8-bom
fix(tools): decode snapshots with utf-8-sig and reconfigure streams in progress
2026-10-25 16:16:53 +01:00
SandstromPLandClaude Opus 5.5 0dc254e83f fix(tools): count functions exported with APS5_EXPORT under a _nid_no_patch name
progress.py skips every definition whose name ends in _nid_no_patch or
_nid_no_patch_cut, which are meant to be internal helpers. Some libraries
export such functions with APS5_EXPORT under an explicit NID or name:
libSceAgcVsh (150), libSceNKWebKit (150) and libSceJson2's inventory
(66), all of them calling NotImplemented_nid_no_patch. None of the 366
was counted, so those three libraries showed 151 of 151 functions where
they declare 517, and import_audit, which takes its stub list from the
same scan, reported imports of them as implemented.

A _nid_no_patch definition is now skipped only when no APS5_EXPORT in its
library exports it. The library totals go from 6104 of 12305 to 6104 of
12671 on main.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:37:48 +05:30
MarcZX10 c2abba7837 fix(tools): show a headline progress change that rounding would hide
The progress report headline subtracted two percentages that were already rounded to two decimals, so one implemented function among tens of thousands read as +0.0%. When the rounded change is zero but the exact change is not, compute it from the done and total counts with exact fractions and print it with up to four decimals, or +<0.0001 below that. The icon follows the exact sign. Changes that survive the rounding, a zero change in the ratio and the per-library table are unchanged.
2026-10-25 10:50:23 +00:00
Adrià b930da950d Merge pull request #8377 from Gabrieljr42/feat/progress-library-report
feat(tools): report per-library progress in PR comparisons
2026-10-24 14:01:40 +02:00
emirplus 873f92ea1d fix(tools): decode snapshots with utf-8-sig and reconfigure streams in progress 2026-10-23 16:27:44 +03:00
xXPBSXxandClaude Sonnet 5.5 6eb461aa4d fix(tools): report an output directory that progress.py cannot write
progress.py <output> raised an uncaught OSError with a traceback when the
output path was a file or sat in a directory it could not create. Report it
as a usage error that names the path, like the other bad arguments.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 05:13:56 +02:00
Gabrieljr42 e25647d686 fix(progress): handle snapshots without library counts 2026-10-21 08:33:04 -03:00
Gabrieljr42 11d5efa075 Merge remote-tracking branch 'origin/main' into feat/progress-library-report 2026-10-21 08:32:06 -03:00
Dean 50efb5c405 Merge pull request #8799 from AMRYB/fix/progress-snapshot-validation
fix(tools): validate progress comparison snapshots
2026-10-21 20:49:11 +13:00
Amr Yasser 5cfbae8016 fix(tools): validate progress comparison snapshots 2026-10-21 04:07:51 +03:00
xXPBSXxandClaude Sonnet 5.5 d48181d110 fix(tools): name a --root that is not a source tree in progress
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 01:33:25 +02:00
Gabrieljr42 2bea4a3f06 feat(tools): report per-library progress in PR comparisons 2026-10-20 08:45:12 -03:00
Dean cc798b8248 Merge pull request #8131 from xXPBSXx/fix/progress-compare-snapshots
fix(tools): name the unreadable snapshot in progress --compare
2026-10-20 18:34:17 +13:00
xXPBSXxandClaude Sonnet 5.5 e827ddf45e fix(tools): name the unreadable snapshot in progress --compare
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 01:17:14 +02:00
emirplus 5965ea6100 fix(tools): read C++ source files with utf-8 encoding in progress scanner 2026-10-19 19:19:55 +03:00
Adrià f849e58cfa Merge pull request #6323 from Gabrieljr42/feat/progress-module-json
feat(tools): add a module filter and JSON output to progress.py
2026-10-19 01:17:26 +02:00
Gabrieljr42 3a2e9d2949 fix(tools): write progress site files as UTF-8 2026-10-15 17:07:42 -03:00
Gabrieljr42 a2392c0246 feat(tools): add a module filter and JSON output to progress.py 2026-10-15 17:04:10 -03:00
MarcZX100 c7ef905927 fix(tools): hide labels that do not fit treemap slivers 2026-10-15 14:14:25 +00:00
Adrià fd6c5ad9c1 Merge pull request #5363 from MiniRML/fix/progress-transitive-stub-helpers
fix(progress): follow chains of local stub helpers
2026-10-14 20:59:16 +02:00
GalaxyGamingFRandClaude Opus 5.5 702c330576 fix(progress): do not treat a keyword before :: as a qualifier
`return ::Fail();` and `else ::Fail();` call the global wrapper, but
QUALIFIED took the keyword for a qualifier name and counted the export
as done. The name before `::` must now be an identifier that is not a
keyword, or a template's closing `>`.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-14 11:00:11 -07:00
GalaxyGamingFRandClaude Opus 5.5 05357cbbf9 fix(progress): ignore member and qualified calls to stub wrappers
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-14 01:10:10 -07:00
MiniRML 6c90102e50 fix(progress): follow chains of local stub helpers 2026-10-13 10:59:58 -07:00
Adrià a56c905df6 Merge pull request #4589 from MiniRML/fix/tools-cut-helper-accounting
fix(tools): exclude cut helpers from NID accounting
2026-10-13 17:24:55 +02:00
MiniRML a8a78ded96 fix(progress): load the tokenizer beside the source file 2026-10-13 16:27:51 +02:00
MiniRML f37eecfdac fix(progress): ignore C++ raw-string contents 2026-10-13 16:27:51 +02:00
GalaxyGamingFRandClaude Fable 5.1 1c32fd93c8 fix(progress): read cmake and shader tables as utf-8
scan_library and collect_shaders read CMakeLists.txt, the ISA table and the opcode header with the locale codec. On Windows that is cp1252, so a UTF-8 file containing U+2010 or U+2192 raised UnicodeDecodeError. These reads now pass encoding="utf-8" and errors="ignore", and a subprocess test with an ASCII default codec covers it.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-13 14:48:50 +02:00
boykopovar 0f2683cb7d Merge pull request #5135 from boykopovar/feat/web-relinker-ui
feat(ci): add relinker wasm build ci
2026-10-13 15:31:28 +03:00
boykopovar dece64c6e8 ci(pages): build and deploy wasm converter 2026-10-13 15:26:04 +03:00
GalaxyGamingFRandClaude Fable 5.1 02dad4429f fix(progress): recognise non-static and noexcept stub helpers
The stub helper pattern required a leading static and a plain signature,
so exports calling helpers in anonymous namespaces, or helpers with
noexcept, a trailing return type or a pointer next to the name, counted
as done. The pattern now anchors at line start, makes static optional,
skips APS5_VABI exports and control keywords, and accepts those suffixes.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-13 11:42:32 +02:00
Adrià FranchandClaude 63e60db1a7 feat(progress): publish a progress history chart
tools/progress_history.py measures the first-parent history of main with
the rules of tools/progress.py, one point per day, and writes history.json,
history.svg and history.html. The Progress workflow runs it after
progress.py; the README shows the chart under the map and links the page.
Labels and points compact as days accumulate.

Co-Authored-By: Claude <[email protected]>
2026-10-12 21:31:09 +02:00
MiniRML 53d10eac9a fix(tools): exclude cut helpers from NID accounting 2026-10-12 09:24:13 -07:00
Dean 796daf5ef0 Merge pull request #3906 from GalaxyGamingFR/fix/progress-render-sliver
fix(progress): skip cells for rectangles without area
2026-10-12 16:09:45 +13:00
GalaxyGamingFRandClaude Fable 5.1 a89aa5c0d0 fix(progress): skip cells for rectangles without area
When squarify gave a group a sliver narrower than 2px, treemap passed cells a zero or negative width, so the row count became complex or divided by zero and render crashed. cells now returns no cells for rectangles without area. A regression test renders a 300 and 1 item split.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 12:00:10 -07:00
Winvoker c9038f7d8d fix(progress): match stub calls across whitespace 2026-10-11 15:06:06 +03:00
MarcZX100 05504bb05e fix(tools): retain literals when classifying inert returns 2026-10-11 11:44:32 +00:00
Leandro Soares 90a82da283 feat(tools): mark behaviourally empty bodies in the progress report
Cherry-picked from commit f1be92e95c02be451971fc1a8eec139e738e936d.
2026-10-11 11:44:28 +00:00
Achraf ReyaniandClaude Opus 5.5 ef94a36b90 fix(progress): blank literals and comments in one pass
An apostrophe in a block comment paired with a later character literal on
the same line when literals were blanked before comments, exposing a brace
and ending the body early.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 17:17:40 +09:00
GalaxyGamingFRandClaude Fable 5.1 f3216874c5 fix(progress): ignore braces in literals and comments when scanning bodies
Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-11 17:16:25 +09:00
MarcZX100 02941b8e3f fix(tools): detect non-void stub wrappers 2026-10-10 19:24:18 +00:00
Adrià FranchandClaude 507f5707dc fix(progress): link include-shared libraries and label empty ones
Co-Authored-By: Claude <[email protected]>
2026-10-10 08:49:58 +02:00
PrintOrb cf744a3740 fix(tools): preserve UTF-8 in progress comparisons 2026-10-09 08:10:27 -05:00
SK Arin 6e951bd0ed fix(progress): exclude library test fixtures from function counts 2026-10-08 17:30:43 +05:30
Dean 78cac62f30 Merge pull request #1137 from Sanjaysrinivas/fix/progress-shared-sources
fix(progress): report shared-source libraries
2026-10-08 18:29:17 +13:00
Sanjaysrinivas efdbbf1a70 fix(progress): report shared-source libraries 2026-10-07 21:40:38 +02:00
ploysiusandClaude Opus 5.5 f2bee7d270 fix(tools): stop counting IMAGE_*_PCK2/PCK4 as decoded instructions
IMAGE_LOAD_PCK2/PCK4, IMAGE_LOAD_MIP_PCK2/PCK4, IMAGE_STORE_PCK2/PCK4 and
IMAGE_STORE_MIP_PCK2/PCK4 are separate MIMG opcodes (112/113, 115/116,
118/119, 121/122 on RDNA1 and RDNA2 in AMD's generated tables), not dmask
forms of IMAGE_LOAD_PCK (2), IMAGE_LOAD_MIP_PCK (4), IMAGE_STORE_PCK (10)
and IMAGE_STORE_MIP_PCK (11). The decoder has no entries for them and
throws "unsupported MIMG opcode", so they are no longer credited.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-07 10:27:59 -04:00