• v0.3.7 0c8a0492dc

    v0.3.7 Stable

    intpa released this 2026-10-13 22:39:10 -04:00 | 216 commits to main since this release

    0.3.7 — runtime footprint trims

    What the plugin holds while the game runs, after a symbol-level pass over the 0.3.6 ELF:

    • Diagnostics thread stack 2 MiB → 256 KiB. The Switch std gives every Rust thread a 2 MiB stack from the game heap unless the spawner sets one; Deluxe never did. About 1.75 MiB of heap back for the whole run. Hardware check: heartbeats keep arriving in hang-trace.log, no crash report naming deluxe-diagnostics.
    • Pia RTT station table allocated on first use. The 107 KB table (253 stations × 100-sample ring) lived in .data; it is now allocated by the diagnostics poll after the first RTT sample of the process and never exists offline. Until it exists the overlay shows exactly what an empty table shows (tested).
    • API trace chunks 4096 → 2048 rows (80 KiB .bss); still ~1.9 s per chunk at the measured hardware rate against the 500 ms drain.
    • Callback capture buffer (64 KiB) allocated per capture and freed after export; the render path still never allocates.

    Sections .text 1402336 / .rodata 343120 / .data 69912 / .bss 138672; resident image 1.95 MB (0.3.6: 2.21 MB). With the stack the steady-state cost drops by about 2.0 MB.

    Not in this release: the embedded imgui backend trims, which are being prepared in the fork intpa/imgui-smash for both the embedded archive and the standalone companion plugin.

    Gates: 303 host tests, host and Skyline Clippy with warnings denied, cargo build --no-default-features, rustfmt, Skyline release build.

    Asset SHA-256 Size
    libssbu_online_deluxe_rewrite.nro 8562746a292942cf23df19f9e6781cc37b623dda305337161b730e14813707ea 1896448

    Build 0.3.7-61d022bdc3db-1791945438, module c4beb790b8effb2e07ab4676fabab248c8c8733fcef47ab0abe332931f1dd5f7, game 13.0.5. manifest.json carries the ELF and source-archive digests.

    Downloads