Skip to content

feat: isometric SceneEditor, elements panel UX, image stamp#90

Open
cnotv wants to merge 3 commits into
mainfrom
feat/89-isometric-editor
Open

feat: isometric SceneEditor, elements panel UX, image stamp#90
cnotv wants to merge 3 commits into
mainfrom
feat/89-isometric-editor

Conversation

@cnotv

@cnotv cnotv commented May 3, 2026

Copy link
Copy Markdown
Owner

Closes #89

Summary

  • Default camera switches to CameraPreset.Orthographic at [30,30,30] for a classic isometric view
  • Elements panel "Add" bar: removed "Add" prefix label; renamed buttons to New camera, Add model, Add image
  • Filter-bar buttons stay ghost always (active state via CSS opacity, not variant switch)
  • Image stamp palette: loaded images appear as thumbnails between the filter bar and element list; selecting one activates stamp mode (crosshair cursor); clicking the 3D viewport ray-casts against y=0 ground plane and places a flat PlaneGeometry mesh with the image texture; re-clicking the thumbnail or removing the group cancels stamp mode

Key Changes

  • src/stores/textureGroups.ts — add optional onStampGroupSelect to TextureGroupHandlers
  • src/components/panels/ElementsPanel.vue — UX renames, ghost filter buttons, stamp palette with thumbnail previews
  • src/views/Tools/SceneEditor/SceneEditor.vue — orthographic default camera, handleStampClick (raycaster + THREE.Plane intersection), click listener lifecycle, stamp mesh disposal on unmount

Test Plan

  • Open SceneEditor — camera should show isometric orthographic view
  • Elements panel shows "New camera", "Add model", "Add image" buttons (no "Add" prefix label)
  • Filter bar buttons are ghost; active ones are full-opacity, inactive ones dimmed
  • Click "Add image" → load an image file → thumbnail appears in Stamp palette
  • Click thumbnail → cursor changes to crosshair
  • Click on the ground in the 3D viewport → image mesh placed flat on ground at click position
  • Click thumbnail again → exits stamp mode, cursor resets

🤖 Generated with Claude Code

… click

Closes #89

- Default camera: CameraPreset.Orthographic at [30,30,30] for isometric view
- Elements panel: remove 'Add' label prefix; rename buttons to 'New camera',
  'Add model', 'Add image'; filter-bar buttons always ghost with CSS active state
- Image stamp palette: loaded texture groups shown as thumbnails; clicking one
  enters stamp mode (crosshair cursor); clicking the 3D canvas ray-casts against
  the ground plane (y=0) and places a PlaneGeometry mesh with the image texture
- Stamp meshes are tracked and disposed on unmount
- TextureGroupHandlers: add optional onStampGroupSelect callback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@netlify

netlify Bot commented May 3, 2026

Copy link
Copy Markdown

Deploy Preview for cnotv-generative-art ready!

Name Link
🔨 Latest commit 0d9b0af
🔍 Latest deploy log https://app.netlify.com/projects/cnotv-generative-art/deploys/69f90e6985923d0008627f62
😎 Deploy Preview https://deploy-preview-90--cnotv-generative-art.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

cnotv and others added 2 commits May 4, 2026 09:15
- Stamp meshes now stand upright as billboards (PlaneGeometry vertical,
  y-position at half-height) instead of lying flat
- Add alphaTest: 0.5 to fix background bleed-through on transparent image areas
- Element list collapses behind an arrow toggle, closed by default
- Stamp items show 'Convert to area' button which removes the billboard and
  spawns a textureGroup area centred on the stamp position using addGroupMeshes
- updateSceneElements tags stamp meshes as type='Stamp' with the associated
  groupId so ElementsPanel can detect and render the toggle
- Stamp names use __ separator for reliable groupId extraction

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

Create an isometric editor

1 participant