VOXEDIT: add 3D print preparation pipeline (faceclassify, fillholes, flatbase, thicken, regrid) - #868
Open
Tudi wants to merge 1 commit into
Open
VOXEDIT: add 3D print preparation pipeline (faceclassify, fillholes, flatbase, thicken, regrid)#868Tudi wants to merge 1 commit into
Tudi wants to merge 1 commit into
Conversation
Contributor
Author
Tudi
force-pushed
the
bundle/3dprint
branch
2 times, most recently
from
June 4, 2026 20:03
8149667 to
0c7213d
Compare
…icken, regrid) Adds a self-contained 3D-print preparation pipeline under voxedit-util/3dprint, wired into SceneManager via command registration. - FaceClassify: outer/inner/thin/buried surface voxel classification and the wall-walking chunked hole-fill (fillholes) and interior-wall thicken passes used to make a model watertight and printable. - FlatBase: voxel-perfect flat min-Y base plane across the bottom nodes. - Regrid: bulk re-cellation of the scene into a uniform grid, applied through SceneManager::onRegridComplete which updates the renderer and marks dirty without per-node O(N^2) transform updates. - Progress: lightweight progress reporting shared by the passes. - PrintCommands: registers the user-facing commands; hooked in from SceneManager::construct via printing::registerCommands(this). Tests: 8 RegridTest cases (cell assignment, boundary spanning, overlapping sources, world-position preservation, deletion). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Collaborator
|
this takes a lot more time to review - but i am on vacations for some time now. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Adds a self-contained 3D-print preparation pipeline under
voxedit-util/3dprint, exposed through a single3dprint <subcommand>console command and wired intoSceneManagervia command registration.Subcommands
fillholes; rerun for thicker walls; run beforeerode).cellSize^3cells, applied throughSceneManager::onRegridCompletewhich updates the renderer and marks dirty without per-node O(N^2) transform updates.holemap,debugfrontier,recolor.Implementation notes
FaceClassifybuilds a coarse exterior/interior shell (flood from outside), then refines it to finer cell sizes; an auto-fallback halves the coarse cell size for non-regridded (single-node) models so a sealed cavity can still be detected.Progressprovides lightweight progress reporting shared by the passes.PrintCommandsregisters the user-facing command; hooked in fromSceneManager::constructviaprinting::registerCommands(this).SceneManageradditions are the command-registration hook andonRegridComplete; the rest is isolated under3dprint/.Tests
RegridTestcases (cell assignment, boundary spanning, overlapping sources last-wins, world-position preservation, deletion).Built against the release tree; the fill/classify/thicken passes were validated manually on real gothic-style models.