Skip to content

feat(canvas): support vertical split axes - #8

Merged
phall1 merged 1 commit into
cockpit/v0.9.5from
feat/vertical-splitter-axis
Sep 3, 2026
Merged

feat(canvas): support vertical split axes#8
phall1 merged 1 commit into
cockpit/v0.9.5from
feat/vertical-splitter-axis

Conversation

@phall1

@phall1 phall1 commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Change

Generalize the existing native canvas splitter across horizontal and vertical axes while preserving horizontal as the source-compatible default. Pointer drag, keyboard steps, focus, adjustable accessibility actions, cursor routing, optimistic layout echo, paint, and min-size clamping all use the declared axis.

SplitAxis is packed into the existing WidgetRuntimeFlags byte, preserving the retained hot-path Widget size at 776 bytes.

Consumer

Phux Cockpit uses this on its pinned cockpit/v0.9.5 lineage to give Split Down the same divider behavior as Split Right. This branch is a direct descendant of 7e783da8, the existing Cockpit pin.

Evidence

  • root SDK suite compiled all changed widget/runtime/platform paths; the new vertical splitter test and retained Widget size tests passed
  • final root run reached 520/522 steps and 3341/3358 tests; only three pre-existing timing-sensitive effects teardown tests failed under machine load
  • earlier full fast gate also exposed missing local TypeScript/Android toolchains unrelated to this axis change
  • Cockpit consumer gate and live automation will run against the published pin before merge

@phall1
phall1 force-pushed the feat/vertical-splitter-axis branch from 39a42b2 to 4ab1ad0 Compare September 3, 2026 04:07
@phall1
phall1 merged commit 5e053d1 into cockpit/v0.9.5 Sep 3, 2026
23 checks passed
@phall1
phall1 deleted the feat/vertical-splitter-axis branch September 3, 2026 04:17
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