aukio-3d-demos.git
36 hours agodocs(spacemouse): rename device to SpaceMouse, describe GI as baked master
Svjatoslav Agejenko [Fri, 2 Oct 2026 19:10:00 +0000 (22:10 +0300)]
docs(spacemouse): rename device to SpaceMouse, describe GI as baked

User-facing text and docs now say SpaceMouse, covering both the
SpaceNavigator over USB and the SpaceMouse Wireless over Bluetooth:
launcher entry, demo readout (including the no-device hint) and
javadoc. The manual's SpaceMouse section lists both transports.

Also correct the global illumination wording in HouseDemo and the
manual: GI is baked in bounce generations over the first seconds and
then frees its per-texel state, rather than progressing from
per-polygon stamps to per-texel refinement.

5 days agotest(demos): render goldens at 1920x1080
Svjatoslav Agejenko [Mon, 28 Sep 2026 20:55:27 +0000 (23:55 +0300)]
test(demos): render goldens at 1920x1080

Raise the DemoGoldens render resolution from 640x480 to 1920x1080
(full HD) so regressions are caught at the resolution the demos
actually run at, and regenerate every golden image at the new
size. Tolerances are unchanged (per-channel 16, 0.005 differing-
pixel fraction; 32 for SDF text scenes).

6 days agofeat: add OBJ loader city demo with two bundled 3D Synthezier cities
Svjatoslav Agejenko [Sun, 27 Sep 2026 19:05:28 +0000 (22:05 +0300)]
feat: add OBJ loader city demo with two bundled 3D Synthezier cities

Add ObjLoaderDemo, showcasing the engine's Wavefront OBJ loader:
two city models generated by the "3D Synthezier" QBasic program
are bundled as classpath resources with their shared MTL library —
city1 (a block of high-rises, 27k faces, lit only by one hero
light south-east above the rooftops) and city2 (a district of
cylindrical towers, 211k faces, sun plus a hero light high east).
On startup a chooser dialog, or --city=1|2, picks the city.

The scene is self-framing: the model's bounding box is recentered
on the world origin and the camera and sun are placed relative to
its bounding radius, so either city is framed and lit identically
with no per-model magic numbers. The upright/scale transform (180°
around X for the +Y-up export, 60x uniform scale) is baked into
the vertices at load, keeping local space identical to world space
so engine lighting and GI see the real light positions. main()
enables lightmapping and progressive GI; the deterministic
buildScene overload stays GI-free for golden images. Each hero
light gets a scaled marker glow so its position — and thus the
shadow directions — is visible in the scene.

Register the demo in the launcher and in DemoGoldens with a raised
channel tolerance (40) for the dark high-frequency city render,
and regenerate the house goldens against the updated engine. Bump
the aukio-3d dependency to 1.1.0-SNAPSHOT.

8 days agofix(docs): correct aukio-3d version in install snippet
Svjatoslav Agejenko [Sat, 26 Sep 2026 07:09:57 +0000 (10:09 +0300)]
fix(docs): correct aukio-3d version in install snippet

The install snippet told readers to depend on aukio-3d 1.4, which
was never released; the current version is 1.0.0. The Update web
site script now cds to its own directory first, so it can be invoked
from anywhere (e.g. a file manager) and still find the project root.

13 days agofeat: demo and benchmark suite for the aukio-3d engine
Svjatoslav Agejenko [Sun, 20 Sep 2026 14:28:44 +0000 (17:28 +0300)]
feat: demo and benchmark suite for the aukio-3d engine

Interactive demos — stereoscopic 3D, house with global illumination,
text editors, galaxy, Game of Life, shape gallery and more — runnable
individually or from the Swing launcher, plus benchmarks for fill
rate, transform throughput and shading paths. Every demo exposes a
static buildScene() so the deterministic golden-image harness can
render all scenes headlessly and compare against versioned JPEG XL
references (mvn verify).