Skip to content

feat(performance): add Eskay's config and stop collapsing RenderModes - #426

Merged
Slush97 merged 2 commits into
mainfrom
feat/perf-preset-eskay
Oct 7, 2026
Merged

Slush97 merged 2 commits into
mainfrom
feat/perf-preset-eskay

Conversation

@Slush97

@Slush97 Slush97 commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Eskay's config

Sqooky added Eskay's config/ to OptimizationLock on 2026-10-05 ("minor fork of Sqooky's with tweaks to suit her preferences"). It is Sqooky's default without the far-clip and fade-distance culling (r_farz, r_mapextents, sc_fade_distance_scale_override), so buildings and players don't pop in, plus props_break_max_pieces_perframe 1 and a 2.2 aspect-ratio opt-in.

  • New preset eskay under a new Light tier (card titles are tier labels, so sharing Balanced would show two identical cards). Sorts right after Sqooky's Balanced, which stays first.
  • OptimizationLock 3.4 pin moves from 2b994f62 to e2e9925c. The commits in between only reformatted the bundled files (zero key changes through the generator) and added Eskay's file; upstream still states 3.4. 3.4 has not shipped in a release yet.
  • Generator: a preset may record null sha256 for older releases where its file did not exist yet. Only a trailing run of older releases may be null; a null at the newest release fails loudly (file moved or deleted).
  • Avatars bundled for Eskay and kaizuchanerus (50x50, like the existing two).

RenderModes fix

MaterialSystem2/RenderModes in stock gameinfo.gi is a list of seven game entries; City Never Sleeps added ShadowSilhouette. The parser keeps the last duplicate, so configs written before that (boot, OptiLock 4.6/5.0/5.1) diffed to game "FrontDepth", and applyOp edits every occurrence, collapsing all seven render modes into FrontDepth.

Fix: exclude the section in the manifest, and have latestAsPreset re-apply today's section exclusions to cached bodies, since a cached track-latest entry is reused while upstream and baseline commits are unchanged. Already-affected files are restored on the next reapply or preset switch (removal works from the markers). In-game effect of the collapsed list was never tested.

Testing

  • pnpm typecheck, pnpm lint, pnpm ui:check, pnpm i18n:check, pnpm i18n:manifest --check, pnpm perf:presets --check
  • vitest: 181 files pass. Two new tests (generator ignores a list-valued RenderModes; cached body with a RenderModes op is filtered) fail without the fix.
  • Regenerated data diff vs pre-fix: only the 6 RenderModes ops removed plus the new exclusion entry.
  • Viewed the Performance settings page in a built app: Light card with Eskay's avatar, kaizu's avatar on Potato.

Add Eskay's config from OptimizationLock as a seventh preset under a new
"light" tier (Sqooky's default minus the far-clip and fade-distance culling,
so no pop-in). The 3.4 pin moves to e2e9925c, where upstream only reformatted
the bundled files and added Eskay's; existing bodies are unchanged. The
generator now accepts a null sha256 for older releases that predate a
preset's file. Bundle avatars for Eskay and kaizuchanerus.

Exclude MaterialSystem2/RenderModes. It is a list of seven `game` entries,
so configs written before ShadowSilhouette existed (boot, OptiLock) diffed to
`game "FrontDepth"`, and the patcher rewrote every render mode to FrontDepth.
Cached track-latest bodies from older builds are filtered by today's section
exclusions so the fix reaches them without a refetch.
Add an offline test that no bundled release edits an excluded section, since perf:presets --check is not in CI. Warn when --refresh records a null sha256 so a missing pathByRef is not mistaken for a file that did not exist yet. Fix the stale preset count in the old_update_rate rationale.
@Slush97
Slush97 merged commit 0a97fa3 into main Oct 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant