feat(terrain): add animated fractal tree with hierarchical transforms master
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sat, 4 Apr 2026 20:49:52 +0000 (23:49 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sat, 4 Apr 2026 20:49:52 +0000 (23:49 +0300)
commitc7ab92c750ec7dfd36684803a47a9a6bea9733e2
tree080623f9d7ccb70754f9775ef1bdab3784461e5e
parent848bbc261353319cebc75128504627ce27cd1d0f
feat(terrain): add animated fractal tree with hierarchical transforms

Implement recursive branching structure using AbstractCompositeShape with
Transform inheritance. Each branch has its own transform (position + rotation)
and recursively creates 3 sub-branches at 120-degree spacing, up to 5 levels
deep. Branches animate with sine-wave wobble using beforeTransformHook, where
parent motion cascades to children via TransformStack.

Add FrameListener to TerrainDemo for continuous animation updates. Make galaxy
generation deterministic with fixed rotation angles for reproducible demo
screenshots. Reorganize demo launcher with improved grouping.

Expand documentation with detailed descriptions for point cloud galaxy, raining
numbers, procedural terrain, and benchmark demos. Add responsive image
attributes and new screenshots.
12 files changed:
doc/Screenshots/Mathematical formulas.png
doc/Screenshots/Point cloud galaxy.png [new file with mode: 0644]
doc/Screenshots/Procedural terrain.png [new file with mode: 0644]
doc/Screenshots/Raining numbers.png [new file with mode: 0644]
doc/Screenshots/Raytracing fractal in voxel polygon hybrid scene.png
doc/index.org
src/main/java/eu/svjatoslav/sixth/e3d/examples/galaxy_demo/Galaxy.java
src/main/java/eu/svjatoslav/sixth/e3d/examples/galaxy_demo/PointCloudDemo.java
src/main/java/eu/svjatoslav/sixth/e3d/examples/launcher/ApplicationListPanel.java
src/main/java/eu/svjatoslav/sixth/e3d/examples/terrain_demo/Branch.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/examples/terrain_demo/FractalTree.java
src/main/java/eu/svjatoslav/sixth/e3d/examples/terrain_demo/TerrainDemo.java