acdream/src
Erik 132395e6f7 fix #425: pack resident budget is a 1080p ceiling that scales with pixel count; an explicit Apply retries a failed selection
Live Holtburg at 2560x1440: the Low preset needed 67,368,164 resident bytes
(screen-sized HDR/depth/ray targets are 44 MB of that) against an absolute
64 MiB ceiling that had only been validated at 1080p, so Options -> Apply
fell back to the default path; every later Apply was then refused by the
controller's failure memo, which treated the user's deliberate choice like
automatic re-activation.

RenderPackResidentBudget.Effective scales the declared 1080p figure by the
viewport's pixel-count ratio (never below 1), still capped by the hardware
MaxPackResidentBytes; both pack graphs use it and the performance-matrix
tool judges its resident column by the same rule (contract test updated).
RenderPackController.Request gains explicitUserChoice, which clears the
memo for that selection; RenderPackSelectionBinding passes it on every
display edge (Apply, including resolution changes) and keeps the memo for
the startup request.

Tests: RenderPackResidentBudgetTests (1080p/720p keep the declared
ceiling, 1440p = 16/9x, 4K = 4x, hardware cap wins, zero extent rejected);
controller explicit-retry; the binding test now proves the user's next
Apply activates once the cause is gone. App hermetic lane 6,068/0 (Release).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 10:00:11 +02:00
..
AcDream.App fix #425: pack resident budget is a 1080p ceiling that scales with pixel count; an explicit Apply retries a failed selection 2026-08-23 10:00:11 +02:00
AcDream.Bake build: make release restore reproducible 2026-08-18 10:29:00 +02:00
AcDream.Cli fix: make locale-independence real, not assumed — parsing, casing, comparison 2026-08-19 20:11:32 +02:00
AcDream.Content feat(quest): QT5/QT6 — the Journal panel, and the button that was already there 2026-08-21 15:12:05 +02:00
AcDream.Core fix(render): correct foliage-wind classification, receiver/caster desync, and frame binding (Campaign VM VM6 review) 2026-08-23 01:54:36 +02:00
AcDream.Core.Net fix(journal): the location readout is a FIELD, refresh at the click, and Abandon works 2026-08-21 16:19:18 +02:00
AcDream.Headless feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AcDream.Launcher feat(plugins): enforce apiVersion; launcher plugins default ON with "none" opt-out 2026-08-20 21:28:04 +02:00
AcDream.Launcher.Core feat(plugins): enforce apiVersion; launcher plugins default ON with "none" opt-out 2026-08-20 21:28:04 +02:00
AcDream.Platform feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AcDream.Plugin.Abstractions fix(render): foliage wind keys on the DAT-classified WeatherKind, not the day-group index (Campaign VM VM6) 2026-08-23 01:07:54 +02:00
AcDream.Plugins.MossTank feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
AcDream.Plugins.Smoke build: make release restore reproducible 2026-08-18 10:29:00 +02:00
AcDream.Runtime feat(journal): QJ1/QJ2 — the journal's pages and their file 2026-08-21 15:31:47 +02:00
AcDream.UI.Abstractions feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00