Skip to content

Add shape/model editor to texture editor#34

Merged
CoderJoeW merged 1 commit intomainfrom
feature/model-editor
Mar 17, 2026
Merged

Add shape/model editor to texture editor#34
CoderJoeW merged 1 commit intomainfrom
feature/model-editor

Conversation

@CoderJoeW
Copy link
Copy Markdown
Owner

Summary

  • New ModelData/ModelElement classes in texture_model.py for editable block geometry with snapshot-based undo/redo (capped at 50)
  • Refactored parse_model_json to build ModelData from JSON, stored on BlockState alongside existing geometry
  • New ModelPanel UI 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 operations
  • Auto-recalculates UVs when dimensions change using Minecraft's auto-UV formula
  • Canvas overlay dims areas outside the UV-mapped region with a cyan border showing the active texture region
  • 3D preview wireframe selection highlight (toggleable, off by default)
  • Right column uses QScrollArea so all panels render at natural height
  • Window opens maximized by default

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.
@CoderJoeW CoderJoeW merged commit 9654ee8 into main Mar 17, 2026
3 checks passed
@CoderJoeW CoderJoeW deleted the feature/model-editor branch March 17, 2026 07:30
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