Skip to content

VC3D: cast seeding rays on active plane#1053

Open
LubuSeb wants to merge 1 commit into
ScrollPrize:mainfrom
LubuSeb:codex/villa-372-seeding-planes
Open

VC3D: cast seeding rays on active plane#1053
LubuSeb wants to merge 1 commit into
ScrollPrize:mainfrom
LubuSeb:codex/villa-372-seeding-planes

Conversation

@LubuSeb

@LubuSeb LubuSeb commented Jun 18, 2026

Copy link
Copy Markdown

Summary

Fixes #372 by making point-mode seeding rays follow the segmentation plane that provided the focus point:

  • XY focus normals keep the existing XY ray behavior.
  • XZ focus normals cast and preview rays across X/Z while holding Y constant.
  • YZ focus normals cast and preview rays across Y/Z while holding X constant.
  • The distance-transform sample plane and lookup coordinates now match the active ray plane.

Draw-mode path analysis is left unchanged.

Reproduction

The current point-mode seeding path always offsets X/Y and keeps Z constant when previewing or casting rays. That means a focus point set from the XZ or YZ segmentation panes still casts on the XY plane, even though issue #372 asks those panes to cast on XZ and YZ respectively.

Scope

Minimality/scope rationale: this patch is focused and only changes SeedingWidget.cpp; it does not include unrelated refactors. It adds small plane-mapping helpers and uses them in the point-mode preview/cast paths and the point-mode parameter preview. It does not change neural trace behavior, draw-mode path peak finding, segmentation growth, or any saved surface geometry.

Issue / Artifact Binding

Issue binding: #372 (challenge-prize:ScrollPrize/villa#372).

Artifact link: this pull request is the patch artifact for that issue. The Vesuvius Open Prizes page says VC3D improvements may be considered for Progress Prizes, but this PR is submitted as a normal issue fix and does not request or guarantee a payout, bounty, or reward.

Validation

Ran in Docker with ghcr.io/scrollprize/villa/volume-cartographer:builder-ubuntu-26.04:

cmake --build --preset ci-tests-gcc --target VC3D
cmake --build --preset ci-tests-gcc
ctest --preset ci-tests-gcc --output-on-failure

Result: 97/97 tests passed.

Also ran a Qt offscreen GUI startup smoke test because the builder image does not include xvfb-run or Xvfb:

QT_QPA_PLATFORM=offscreen timeout 8s build/ci-tests-gcc/bin/VC3D
GUI_SMOKE_RC=124

Exit code 124 is expected from timeout; VC3D started and initialized before the timeout stopped it.

Known Limits

I did not run an interactive desktop click-through. This PR is linked to issue #372 and may be relevant to the Vesuvius Progress Prize wishlist for VC3D improvements, but it does not claim or guarantee any prize award.

@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-372-seeding-planes branch from 82db5f8 to c9615e4 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 - Cast rays on YZ and XZ planes when manually seeding

1 participant