Skip to content

Resolve axis control geometry once per dispatch - #188

Merged
snkmcb merged 1 commit into
mainfrom
codex/resolve-axis-geometry-once
Nov 9, 2026
Merged

snkmcb merged 1 commit into
mainfrom
codex/resolve-axis-geometry-once

Conversation

@snkmcb

@snkmcb snkmcb commented Nov 9, 2026 •

Copy link
Copy Markdown
Member

Summary

SplitPaneDispatcher and ScrollbarDispatcher resolved the same control geometry in refresh() and again in dispatch(). Each lookup validates the accepted layout, and for a visible control it also projects semantics. Both entry points now use one private reconciliation method. Dispatch uses its returned geometry for the event, skipping the second lookup, and commits the reconciled drag state through the existing candidate copy.

Public signatures and object layout are unchanged. refresh() still returns the canonical pane size or scroll offset. Dispatch retains the same capture eligibility, input diagnostics, and command routing.

Verification

  • Debug owner tests: split_pane and scrollbar passed.
  • Debug window-free consumers: settings_starter and inspector_hierarchy passed.
  • scripts/format-cpp.ps1 -Check, scripts/check-docs.ps1, cmake -P cmake/release.cmake, and git diff --check passed.

@snkmcb
snkmcb merged commit 45e651f into main Nov 9, 2026
3 checks passed
@snkmcb
snkmcb deleted the codex/resolve-axis-geometry-once branch November 9, 2026 16:21
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