Skip to content

[Feature] The anti-aliasing picker offers the temporal modes, and the tone-map menu no curve - #182

Merged
untoldengine merged 1 commit into
untoldengine:developfrom
miolabs:feature/engine_aa_tonemap_modes
Oct 19, 2026
Merged

untoldengine merged 1 commit into
untoldengine:developfrom
miolabs:feature/engine_aa_tonemap_modes

Conversation

@miogds

@miogds miogds commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

untoldengine/UntoldEngine#1359 adds two anti-aliasing modes, .taa and .msaaTaa, and the tone-map operator .none; the editor's two option enums switch over those engine enums exhaustively, so the editor does not build against that branch. This adds the cases:

  • Anti-aliasing: "TAA" and "MSAA+TAA" join the segmented control, mapped both ways to the engine's modes. Selecting either shows an Advanced group with the temporal resolve's three parameters from TAAParams.shared: history weight, clip gamma and jitter scale, as undoable sliders like the FXAA and SMAA ones.
  • Tone mapping: "None" joins the operator menu, mapped both ways to TonemapOperator.none (the scene's linear colour as it is, which the engine PR measured as RealityKit's response in a mixed-immersion space).

Depends on untoldengine/UntoldEngine#1359: the editor builds against the engine's develop, so this PR's build check fails until that one has merged. Merge order: #1359 first, then re-run this PR's checks (or push to it) and merge. Verified locally by building the editor against that engine branch (1,302 editor tests pass).

Checklist

  • Builds against the engine branch (local, swift build with the dependency in edit mode)
  • Lint with the pinned SwiftFormat passes
  • No new engine behaviour: the editor only exposes what the engine PR adds
  • CI green once the engine PR has landed (re-run the build check after it merges)

Architectural notes

The editor keeps its own option enums (EditorAntiAliasingOption, EditorTonemapOption) mapping to and from the engine's, so the engine's enums can grow without the picker's labels changing; this follows that pattern. The TAA sliders read and write TAAParams.shared directly through the existing UndoableEffectSlider, the way the FXAA and SMAA sliders do; TAAParams is not an ObservableObject, so the sliders keep their own state while dragging and the engine value is the source of truth.

… tone-map menu no curve

untoldengine/UntoldEngine#1359 adds the `.taa` and `.msaaTaa` anti-aliasing modes and
the `.none` tone-map operator; the editor's option enums switch over the engine's
exhaustively, so it stopped building against that branch. "TAA" and "MSAA+TAA" join the
segmented control, mapped both ways, and selecting either shows an Advanced group with
the temporal resolve's history weight, clip gamma and jitter scale from
`TAAParams.shared`, undoable like the FXAA and SMAA sliders; "None" joins the tone-map
operator menu, mapped both ways to `TonemapOperator.none`.
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