Skip to content

Add Angle Z (pseudo-3D depth) to the iterations grid#3

Closed
mmichelli wants to merge 2 commits into
masterfrom
claude/z-rotation-support-e1tHa
Closed

Add Angle Z (pseudo-3D depth) to the iterations grid#3
mmichelli wants to merge 2 commits into
masterfrom
claude/z-rotation-support-e1tHa

Conversation

@mmichelli
Copy link
Copy Markdown
Contributor

Rename the existing Angle control to Angle XY (the in-plane spiral/swirl)
and add Angle Z, which tilts each cell's offset into depth and projects it
orthographically back to 2D. The tool is flat — Figma, Penpot, and SVG have
no depth axis — so the math is 3D internally but the output is plain 2D
positions, keeping export and round-trip behavior intact. angleZ=0 reproduces
the prior pure-XY output exactly, and the field is optional for back-compat
with saved configs and library entries.

https://claude.ai/code/session_013Gbz4nk3D9f6H16U1jrbMY

claude added 2 commits May 23, 2026 13:42
Rename the existing Angle control to Angle XY (the in-plane spiral/swirl)
and add Angle Z, which tilts each cell's offset into depth and projects it
orthographically back to 2D. The tool is flat — Figma, Penpot, and SVG have
no depth axis — so the math is 3D internally but the output is plain 2D
positions, keeping export and round-trip behavior intact. angleZ=0 reproduces
the prior pure-XY output exactly, and the field is optional for back-compat
with saved configs and library entries.

https://claude.ai/code/session_013Gbz4nk3D9f6H16U1jrbMY
Add a Depth control (0-100%) that uses each cell's projected depth from the
Angle Z tilt as a near/far cue: cells leaning toward the viewer grow and stay
bright, cells leaning away shrink and fade. The angle engine now returns the
normalized depth alongside the projected offset, and the shading folds into
the per-cell scale/opacity in the shared evaluateCell, so both the browser
preview and the Figma/Penpot orchestrator pick it up with no render-path
changes. depthShade defaults to 0 (pure projection) and is a no-op without a
nonzero angleZ. The diff layer re-applies scale/opacity when shading is active
and position or tilt changes. Library entries can declare an optional depthShade.

https://claude.ai/code/session_013Gbz4nk3D9f6H16U1jrbMY
@mmichelli
Copy link
Copy Markdown
Contributor Author

Closing in favor of #4. The per-cell tilt here (angleZ * i) scatters grids rather than tilting the arrangement; #4 takes the 3D-lattice approach instead (Columns × Rows × Layers, with the projection expressed in formulas/presets).

@mmichelli mmichelli closed this May 23, 2026
mmichelli added a commit that referenced this pull request May 23, 2026
Code-review follow-ups (#3, #6):
- Add cellCount() with a MAX_CELLS (10000) cap, used by the orchestrator and
  preview render loop, so a 50×50×50 config renders a truncated result instead
  of cloning 125k host nodes and freezing.
- Library "every formula evaluates" test now iterates layers (passing l), so 3D
  presets like Cube are exercised at every depth, not just layer 0.
@mmichelli mmichelli deleted the claude/z-rotation-support-e1tHa branch May 25, 2026 09:24
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.

2 participants