Package relocation: make package structure real and acyclic
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 20 Sep 2026 08:46:18 +0000 (11:46 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 20 Sep 2026 08:46:18 +0000 (11:46 +0300)
commit307a71dd604773c6c7113a562f80d5591f99cec2
tree2d9e4fa5a28e0801097320a2e97011ba2f41a5a0
parent38f0e7c45525beb588fd34d8d1759d8ce7a344cd
Package relocation: make package structure real and acyclic

Moved (git mv, move-only, no behavior change):
- gui -> renderer.raster: RenderingContext, SegmentRenderingContext,
  HiZPyramid, CullingStatistics, StereoEye, Frustum, Vertex (math)
- gui -> diag: ThreadActivityRecorder, DebugLogBuffer
- gui -> geometry: Camera (decoupled from gui.FrameListener: dead
  ViewPanel param dropped, panel registers a lambda adapter)
- geometry -> renderer.raster.shapes.composite.base: Plane, BspTree,
  PolygonType (CSG machinery, used only by shapes)
- renderer.octree -> geometry: IntegerPoint (zero-dep coordinate type)
- ShapeCollection's ViewPanel overloads deleted (trivial delegates;
  callers pass getCamera()); RenderingContext.bufferedImage made public
  (AWT shell blits it); javadoc {@link}s re-qualified.

Resulting layering: math <- geometry <- renderer.raster <- gui, with
diag a standalone leaf. Remaining known renderer->gui edges (next
refactor): DeveloperTools field + mouse-picking API types
(MouseEvent/MouseInteractionController/ViewSpaceTracker/TextPointer)
and demo-only RayTracer->ViewPanel.

Verified: engine 37/37 tests, all 3 consumer repos (demos, aukio,
aukio-environment-fo4) compile, demo goldens bit-identical to the
pre-relocation run.
68 files changed:
AGENTS.org
Documentation/index.org
src/main/java/eu/svjatoslav/aukio/e3d/diag/DebugLogBuffer.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/diag/ThreadActivityRecorder.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/geometry/BspTree.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/geometry/Camera.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/geometry/Frustum.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/geometry/IntegerPoint.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/geometry/Plane.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/geometry/Point3D.java
src/main/java/eu/svjatoslav/aukio/e3d/geometry/PolygonType.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/gui/BugReport.java
src/main/java/eu/svjatoslav/aukio/e3d/gui/Camera.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/gui/CullingStatistics.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/gui/DebugLogBuffer.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/gui/DeveloperToolsPanel.java
src/main/java/eu/svjatoslav/aukio/e3d/gui/HiZPyramid.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/gui/RenderingContext.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/gui/SegmentRenderingContext.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/gui/StereoEye.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/gui/ThreadActivityRecorder.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/gui/ThreadTimelineComponent.java
src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewPanel.java
src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewSpaceTracker.java
src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/InputManager.java
src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/KeyboardFocusStack.java
src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/WorldNavigationUserInputTracker.java
src/main/java/eu/svjatoslav/aukio/e3d/gui/package-info.java
src/main/java/eu/svjatoslav/aukio/e3d/gui/spacemouse/SpaceMouseController.java
src/main/java/eu/svjatoslav/aukio/e3d/headless/SceneDump.java
src/main/java/eu/svjatoslav/aukio/e3d/headless/Snapshot.java
src/main/java/eu/svjatoslav/aukio/e3d/math/Vertex.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/octree/IntegerPoint.java [deleted file]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/octree/OctreeVolume.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/octree/package-info.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/octree/raytracer/CameraView.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/octree/raytracer/RaytracingCamera.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/CullingStatistics.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/Frustum.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/HiZPyramid.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformCoordinator.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/RadixLongSort.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/RenderAggregator.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/RenderingContext.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/SegmentRenderingContext.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ShapeCollection.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/StereoEye.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/Vertex.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/gi/LightmappedTriangle.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractCoordinateShape.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractShape.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/Billboard.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/line/Line.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/MeshTriangle.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangle.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TriangleMeshBlock.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/TexturedRectangle.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/AbstractCompositeShape.java
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/BspTree.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/Plane.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/PolygonType.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/texture/Texture.java
src/test/java/eu/svjatoslav/aukio/e3d/headless/HeadlessToolkitTest.java
src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformTest.java
src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/SegmentBinningTest.java
src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangleBlendTest.java
src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTrianglePerspectiveTest.java