You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Engine.Asset.Types defines an AssetConfig record with four settings:
acMaxTextureAtlases
acMaxShaderPrograms
acPreloadAssets
acEnableHotReload
defaultEngineState constructs it positionally as:
AssetConfig100100TrueTrue
and stores it in EngineState.assetConfig.
A complete search across src/, app/, test/, and test-headless/ finds no
read or update of assetConfig or any of its four selectors. The declarations
and default construction are their only occurrences. Git history likewise shows
introduction and relocation of the fields, but no implementation of the
advertised limits, preloading, or hot reload.
The live renderer uses separate mechanisms such as BindlessConfig.bcMaxTextures, FontCache, and AssetPool; none consult AssetConfig. The texture-infrastructure design document still describes hot
reload as an undecided future workflow rather than an implemented setting.
The dead record therefore advertises capabilities that do not exist, and its
positional construction makes the four unexplained literals particularly
misleading.
assetConfig is also recorded in two authoritative state documents:
docs/persistence_state_inventory.md classifies it as excluded and rebuilt at
boot.
docs/engineenv_capability_inventory.md names it as part of
main-render-private EngineState.
Those inventories must remain synchronized with the live record.
Requirements
Remove AssetConfig and its four field selectors from Engine.Asset.Types.
Remove EngineState.assetConfig and its default construction.
Remove imports or other source references made unnecessary by that deletion.
Update docs/persistence_state_inventory.md so its EngineState inventory
exactly matches the remaining live fields.
Update docs/engineenv_capability_inventory.md so its descriptions of EngineState no longer name AssetConfig.
Preserve the existing main-render-thread ownership invariant for EngineState.
Preserve all live asset loading, texture limits, font caching, shader
handling, rendering, and scene-management behavior.
Do not change save data or increment the save version; this field is
currently excluded from persistence and has never carried runtime state.
Acceptance
No declaration, construction, inventory row, or source reference remains:
Background
Engine.Asset.Typesdefines anAssetConfigrecord with four settings:acMaxTextureAtlasesacMaxShaderProgramsacPreloadAssetsacEnableHotReloaddefaultEngineStateconstructs it positionally as:and stores it in
EngineState.assetConfig.A complete search across
src/,app/,test/, andtest-headless/finds noread or update of
assetConfigor any of its four selectors. The declarationsand default construction are their only occurrences. Git history likewise shows
introduction and relocation of the fields, but no implementation of the
advertised limits, preloading, or hot reload.
The live renderer uses separate mechanisms such as
BindlessConfig.bcMaxTextures,FontCache, andAssetPool; none consultAssetConfig. The texture-infrastructure design document still describes hotreload as an undecided future workflow rather than an implemented setting.
The dead record therefore advertises capabilities that do not exist, and its
positional construction makes the four unexplained literals particularly
misleading.
assetConfigis also recorded in two authoritative state documents:docs/persistence_state_inventory.mdclassifies it as excluded and rebuilt atboot.
docs/engineenv_capability_inventory.mdnames it as part ofmain-render-private
EngineState.Those inventories must remain synchronized with the live record.
Requirements
AssetConfigand its four field selectors fromEngine.Asset.Types.EngineState.assetConfigand its default construction.docs/persistence_state_inventory.mdso itsEngineStateinventoryexactly matches the remaining live fields.
docs/engineenv_capability_inventory.mdso its descriptions ofEngineStateno longer nameAssetConfig.EngineState.handling, rendering, and scene-management behavior.
currently excluded from persistence and has never carried runtime state.
Acceptance
No behavioral test is required for deleting fields with no readers.
Out of scope
watching, or hot reload.
BindlessConfig,AssetPool,FontCache,ShaderProgram, or thelive texture/font pipelines.
EngineEnvfield set,RenderCapability, or theengineStateRefcapability boundary.EngineConfigcleanup.Related
EngineConfig; it explicitlypreserves
EngineStateand does not own this work.engineStateRef; removing one unused nested field preserves that capabilityboundary.
docs/texture_infrastructure.mdtreats development hot reload as a futuredecision, not an existing engine capability.