Skip to content

[Sync] develop with upstream (HDR/IBL validation on scene restore, flat Editor exports: #1367, #1369) and the foveation branch's test fix - #78

Merged
miogds merged 3 commits into
developfrom
sync/upstream_develop_1016
Oct 16, 2026
Merged

miogds merged 3 commits into
developfrom
sync/upstream_develop_1016

Conversation

@miogds

@miogds miogds commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Brings the fork's develop up to upstream develop at 72150232. The merge was clean: the two upstream commits touch SceneSerializer, LoadingSystem and FuncUtils, none of them in the lines the fork changes.

What upstream brings (2 commits since the last sync, #76)

What was already on the fork

Everything #76 and #77 merged for testing: the head of untoldengine#1359 at 2832d5fb (foveation, TAA, the forward path, the look in a mixed space), the xr_shader_cost chain of #73–#75, and the large-scene stage 2 chain.

Also merged: the foveation branch's head, e7118fa8

The one commit on untoldengine#1359's branch that develop still lacked, merged as d1825d5f. Test files only: RenderGraphBuilderTest.testSupportedRenderExtensionStagesResolveAcrossImmersionModes loops the immersion modes and left renderInfo.immersionStyle at .ar, and nothing reset it, so every later render test in the same process drew the AR graph; behind that class the temporal rate-map test failed in serial runs. BaseRenderSetup now resets the style with the other per-test globals, and the case restores what it found. CI never saw it because the render tests run one process per method there.

untoldengine and others added 3 commits October 15, 2026 18:09
…Animations (untoldengine#1369)

getResourceURL only probed the nested Models/<name>/<name>.<ext> form, but the
Editor's asset exporter (RuntimeExportLocation.swift) has always cooked runtime
assets flat into the category root (Models/<name>.<ext>), beside the per-model
support folder rather than inside it. External projects that load an asset by
filename via setEntityMeshAsync never matched that layout and failed with
"Filename not found", even though the identical file loaded fine through the
Editor. Add the flat form as an additional probe so both cases resolve through
the same code path.
…ene restore (untoldengine#1367)

* [Bugfix] Fix HDR/IBL validation falling back to stale directory on scene restore

serializeScene() only checked assetBasePath/HDR when validating the active
HDR, incorrectly treating the engine's built-in default HDR as missing and
nulling it out. deserializeScene() then cleared hdrURL but left
hdrDirectoryURL stale, so the next IBL bake resolved an empty texture name
against a leftover directory and failed to open it.

- Validate HDR existence through LoadingSystem's full resource search
  (project assets, app bundle, engine bundle) instead of only
  assetBasePath/HDR.
- Clear hdrDirectoryURL alongside hdrURL in deserializeScene.
- Guard loadImage against an empty texture name.

Fixes untoldengine#1364

* [Bugfix] Guard makeHDRTexture against a nil render device

The untoldengine#1364 HDR-validation fix made serializeScene/deserializeScene more
accurate about whether the active HDR actually resolves, which meant a
bare ECS unit test (no real Metal device set up) started exercising
generateHDR -> makeHDRTexture for the first time. renderInfo.device is an
implicitly-unwrapped optional there, so a nil device crashed the test
suite instead of failing gracefully through the existing
LoadError.textureCreationFailed path.
@miogds
miogds merged commit 01b0148 into develop Oct 16, 2026
2 of 4 checks passed
@miogds miogds changed the title [Sync] develop with upstream (HDR/IBL validation on scene restore, flat Editor exports: #1367, #1369) [Sync] develop with upstream (HDR/IBL validation on scene restore, flat Editor exports: #1367, #1369) and the foveation branch's test fix Oct 16, 2026
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.

2 participants