summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Svjatoslav Agejenko [Sat, 12 Sep 2026 09:58:20 +0000 (12:58 +0300)]
feat(env): add pluggable world environments
Add an EnvironmentProvider contract so the workspace can open a
pluggable 3D world by name, with discovery through a registry that
pairs built-in providers with ServiceLoader classpath plug-ins.
The --env=<name> flag resolves a provider, reports unknown or
unavailable environments, and lets the workspace own the provider
lifecycle. A built-in grid provider validates the contract without
external data. Test-driver flags are recognized anywhere on the
command line so they can coexist with --env, and start.sh rebuilds the
modules before launching the Fallout 4 environment.
Svjatoslav Agejenko [Thu, 10 Sep 2026 15:30:42 +0000 (18:30 +0300)]
feat(workspace): embed live GUI apps via Xvfb capture with input forwarding
Add a bridge/x11 package that runs GUI applications on a private,
per-app Xvfb display and captures the screen into a texture:
XvfbServer manages display lifecycle, X11Native reads the root window
into caller-owned ARGB pixels over JNA, and GuiAppSession owns the app
process (dbus-run-session isolation, generated Firefox profile that
disables system extensions) plus a 10 Hz capture thread that repaints
only on changed frames.
FirefoxPanel renders the captured screen on a textured rectangle and,
while focused, forwards input into the virtual display over XTEST:
clicks at the perspective-correct texture coordinate (with an 80 ms
button hold so Firefox synthesizes DOM clicks), keyboard events 1:1
through an AWT-to-X keysym table, scroll on both axes (X buttons
4-7), mouse back/forward (8/9, dispatched on press since AWT never
fires CLICKED for extra buttons), and pointer hover motion. Shift+ESC
or a middle click releases focus; focus loss releases server-side
modifiers so Shift never sticks.
Workspace now spawns a 4x4 grid of independent PTY terminals whose
mouse wheel maps to arrow keys honoring DECCKM. UnixPty pads the
posix_spawn structs to 512 bytes (the amd64 attribute block is 336)
and destroys them after spawning.
Main gains headless verification drivers: --guitest, --clicktest,
--keytest, --scrolltest, --hovertest. TODO.org collects ideas for
embodied agents in the world.
Svjatoslav Agejenko [Wed, 9 Sep 2026 19:07:15 +0000 (22:07 +0300)]
feat(headtrack): move head tracking into engine, add IMU diagnostics
- drop product-side headtrack classes; the engine now auto-enables
hot-plug head tracking for every app (Workspace delegates
getHeadTracker() to ViewPanel)
- add --headtest and --headdebug diagnostic modes to Main: live
IMU angle dump and a periodic stream-health line (frames, tick,
dt, max gyro, calibrated angles)
- fix terminal fg/bg channel order in TerminalPanel cell caching;
add PtySession.clear()/fillBox()
- document the head tracking boundary exception in doc/index.org
Svjatoslav Agejenko [Wed, 9 Sep 2026 15:57:54 +0000 (18:57 +0300)]
feat(workspace): add terminal panel with PTY and VT100 emulation
- New bridge.pty package: UnixPty (JNA-based), PtySession,
Vt100Emulator, and ScreenBuffer supporting fullscreen curses apps
(alternate screen, application cursor keys)
- New workspace package: Workspace and TerminalPanel render the
terminal as a panel in the 3D workspace
- Main gains a --selftest mode that drives the PTY end-to-end
(shell prompt, ls, arithmetic echo, mc/htop open+quit, ESC
handling) for xvfb-run CI verification
- Build: Java 21, maven-compiler-plugin 3.13.0, sixth-3d
1.5-SNAPSHOT, add JNA 5.14.0, drop javainspect, repo URL
www2 -> www3
- Docs: reposition Sixth as a spatial computing environment, define
roles/boundaries vs sixth-3d, outline VM/VNC and Xvfb roadmap
Svjatoslav Agejenko [Tue, 24 Mar 2026 17:40:53 +0000 (19:40 +0200)]
docs: expand project vision with 3D interaction concepts
Add detailed descriptions for molecular dynamics VR integration, 3D document visualization, circuit simulation workflows, and statistical data visualization use cases
Svjatoslav Agejenko [Sat, 21 Mar 2026 08:01:29 +0000 (10:01 +0200)]
docs: add CUSTOM_ID properties to all org-mode sections
Svjatoslav Agejenko [Sat, 21 Mar 2026 07:25:31 +0000 (09:25 +0200)]
Initial commit