Refresh STATUS.md/ROADMAP.md for the Scene.set()/UI caching/CI work
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+26
-12
@@ -13,10 +13,15 @@ for a memory/CPU optimization survey specifically targeting the PSP build
|
||||
3. Update entity interaction, triggers, chunk management, and other
|
||||
systems that currently assume tile-based positioning so they work
|
||||
with the new 3D positioning/movement code.
|
||||
4. Investigate and fix poor UI rendering performance. Rendering the
|
||||
console alone tanks framerate despite the existing mesh
|
||||
optimizations, so there is likely more headroom to find in the
|
||||
vertex/text rendering path.
|
||||
4. Investigate and fix poor UI rendering performance. First pass done
|
||||
(2026-07-31): slider/tab/frame/textbox now cache their sprite
|
||||
geometry instead of rebuilding it every frame, and the console's
|
||||
vertex buffer is fixed-size instead of alloc/free churn (see
|
||||
`STATUS.md`'s "UI rendering performance" note for detail). Still
|
||||
open: per-widget material/color changes still force a sprite-batch
|
||||
flush each time (color is per-material, not per-vertex), so a row of
|
||||
alternating highlighted widgets still costs one draw call per
|
||||
widget.
|
||||
5. Create UI elements for displaying status indicators, e.g. network
|
||||
connection state and save-in-progress.
|
||||
6. Fully test saving end-to-end on all supported platforms.
|
||||
@@ -62,14 +67,23 @@ fix:
|
||||
`docker/vita/` reference `-DDUSK_TARGET_SYSTEM=vita`, but no
|
||||
`cmake/targets/vita.cmake` exists, so the build is currently broken.
|
||||
Either implement it or remove the dangling scripts/Dockerfile.
|
||||
4. Add per-PR CI build coverage for at least one non-Linux target (PSP,
|
||||
Knulli, GameCube, Wii currently only build on tag push, so
|
||||
regressions there are invisible until a release).
|
||||
5. Tackle milestone 4 above (poor UI rendering performance) with a
|
||||
concrete lead: extend `uiconsole.c`'s cached-mesh pattern (rebuild
|
||||
only on dirty) to the general widget framework
|
||||
(`uiframe.c`/`uilabel.c`/buttons/menus), which currently rebuilds and
|
||||
re-uploads geometry via `spriteBatchBuffer`/`meshFlush` every frame.
|
||||
4. Per-PR CI build coverage for non-Linux targets: first pass added
|
||||
2026-07-31 as `run-tests-gamecube-dolphin`/`run-tests-wii-dolphin`
|
||||
(build the ISO, boot it in Dolphin under Xvfb) and
|
||||
`run-tests-psp-ppsspp` (build the EBOOT, boot it in PPSSPPHeadless)
|
||||
in `.github/workflows/test.yml`, plus matching
|
||||
`scripts/test-*-dolphin.sh`/`scripts/test-psp-ppsspp.sh` (+ `-docker`
|
||||
variants). Marked `continue-on-error: true` since none of these have
|
||||
actually been exercised on a real runner yet -- verify they pass
|
||||
before relying on them, and drop the flag once they do. Knulli still
|
||||
has no per-PR coverage at all.
|
||||
5. Milestone 4 above (poor UI rendering performance) has a first pass
|
||||
in (2026-07-31, see `STATUS.md`) -- remaining concrete lead: sprite
|
||||
batch flushes are keyed on shader+material (including tint color),
|
||||
so per-widget color changes (e.g. focus highlight) still force a
|
||||
flush per widget; moving tint to per-vertex color would let a whole
|
||||
row of widgets batch into one draw call regardless of highlight
|
||||
state.
|
||||
6. Revisit the GameCube/Wii networking static-IP workaround in
|
||||
`networkdolphin.c` -- it's standing in for an unresolved suspected
|
||||
memory-corruption bug in `if_config()`'s DHCP path.
|
||||
|
||||
Reference in New Issue
Block a user