Add shape/model editor to texture editor#34
Merged
Conversation
Add ModelData/ModelElement classes for editable block geometry with snapshot undo/redo. Refactor parse_model_json to build ModelData and store it on BlockState. New ModelPanel UI with element list, dimension spinboxes, face visibility toggles, per-face UV editing, and file save operations. Auto-recalculates UVs from dimensions using Minecraft's formula. Canvas shows UV-mapped region overlay with dim/cyan border. 3D preview supports optional wireframe selection highlight. Right column uses scrollable layout to fit all panels. Window opens maximized.
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.
Summary
ModelData/ModelElementclasses intexture_model.pyfor editable block geometry with snapshot-based undo/redo (capped at 50)parse_model_jsonto buildModelDatafrom JSON, stored onBlockStatealongside existing geometryModelPanelUI panel with element list, From/To dimension spinboxes (0-16), face visibility toggles, per-face UV editor with cullface dropdown, and Save/Save As/New Model file operationsQScrollAreaso all panels render at natural height