Skip to content

VC3D: add non-destructive surface view orientation controls#1051

Open
LubuSeb wants to merge 1 commit into
ScrollPrize:mainfrom
LubuSeb:codex/villa-370-rebase-test
Open

VC3D: add non-destructive surface view orientation controls#1051
LubuSeb wants to merge 1 commit into
ScrollPrize:mainfrom
LubuSeb:codex/villa-370-rebase-test

Conversation

@LubuSeb

@LubuSeb LubuSeb commented Jun 18, 2026

Copy link
Copy Markdown

Closes #370.

Issue: #370

Reproduction

VC3D currently has saved-surface rotate/flip actions, but the active surface-view image itself cannot be rotated or flipped non-destructively for inspection. Issue #370 asks for rotate and horizontal flip controls so users can inspect a surface or ink prediction from a different orientation without mutating saved surface geometry.

Changes

  • Added non-destructive active surface-view orientation state.
  • Added viewer shortcuts for rotating the active surface view clockwise and flipping it horizontally.
  • Used Ctrl+R for rotate because plain r is already bound to "Center focus on cursor"; used plain f for horizontal flip to match the issue suggestion where no existing plain-key conflict was found.
  • Applied the orientation consistently through render dimensions, surface/view coordinate mapping, pan/zoom behavior, intersections, same-wrap annotation previews, and render-bench replay/recording state.
  • Reset the orientation with the existing reset-view path and with the existing segmentation reset-on-surface-change path.

Scope / Minimality

This is focused on the active view only. It does not call or change the existing saved-surface rotate/flip commands, does not modify persisted surface geometry, and does not change unrelated VC3D controls or non-VC3D subprojects.

Validation

  • Ran git diff --check.
  • Ran Dockerized VC3D release build with cmake --preset ci-release-gcc && cmake --build --preset ci-release-gcc using ghcr.io/scrollprize/villa/volume-cartographer:builder-ubuntu-26.04; it passed.
  • Ran Dockerized VC3D test build with cmake --preset ci-tests-gcc && cmake --build --preset ci-tests-gcc && ctest --preset ci-tests-gcc; it passed with 97/97 CTest tests.
  • Reran cmake --build --preset ci-tests-gcc && ctest --preset ci-tests-gcc --output-on-failure through the same builder image; it passed.
  • Ran a Dockerized Xvfb GUI startup smoke test with timeout 8s xvfb-run -a build/ci-tests-gcc/bin/VC3D; VC3D started, logged normal viewer initialization, and stayed alive until the timeout.

Known Limits / Non-goals

  • I did not run a manual interactive desktop walkthrough in this environment.
  • This does not add a toolbar/menu action; it only adds keybind-backed view controls and help text.
  • This does not change prize rules or make any progress-prize claim in the PR.

@vercel

vercel Bot commented Jun 18, 2026

Copy link
Copy Markdown

@LubuSeb is attempting to deploy a commit to the scroll Team on Vercel.

A member of the Team first needs to authorize it.

@LubuSeb LubuSeb force-pushed the codex/villa-370-rebase-test branch 2 times, most recently from ade98b7 to 7b71a3a Compare June 18, 2026 23:06
@LubuSeb LubuSeb force-pushed the codex/villa-370-rebase-test branch from 7b71a3a to 848a68d Compare June 22, 2026 07:34
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.

VC3D - Rotate and flip surface view

1 participant