Extropian App

Type:Modular repository
Category:Core Platform
Status:in-development

The desktop application shell for Extropian — SDL3 windows, OpenGL context, input, and main loop.

Every desktop application starts with a window and an event loop. Extropian App is the desktop platform library of the ecosystem: it creates an SDL3 window with an OpenGL 4.6 core profile context, polls input events, and exposes them through the abstract core::WindowState interface defined in extropian-core — so downstream systems (like the renderer) never touch SDL3 directly.

The framework is intentionally minimal: a Window class wraps the SDL3 window and GL context, an EventState captures a per-frame snapshot of keyboard, mouse, scroll, and gamepad input, and an Application base class provides an on_startup / on_update / on_shutdown lifecycle around the main loop. It depends only on extropian-core; it deliberately excludes rendering, audio, and AI orchestration, which live in other Extropian libraries.

Currently Linux-focused, with SDL3 providing the cross-platform abstraction for Windows, macOS, and mobile.

Core capabilities

  • SDL3 window creation with an OpenGL 4.6 core profile context
  • Per-frame keyboard, mouse, scroll, and gamepad input snapshots
  • FPS vs UI input modes with normal/hidden/captured cursor control
  • Minimal Application lifecycle (on_startup/on_update/on_shutdown) around a main loop
  • Implements core::WindowState so the renderer stays SDL-free

Technical foundation

  • SDL3 for windowing, GL context, input, and gamepad
  • OpenGL 4.6 core profile
  • extropian-core for the WindowState interface, math types, clock, and logging

Ecosystem connections

Licensing & customization

Source Available (PolyForm Shield)Binary Distribution (Proprietary)Internal Use (Proprietary)

Licensing is negotiated around the software, deployment model, scope, and ownership requirements of each project — whether Extropian App is used as-is, customized for your workflows, or embedded in a larger system you are building. I prefer perpetual licenses per major version: one fee licenses the version you chose for as long as you use it, with maintenance updates included within that major version.

Source Available (PolyForm Shield): view and build from the source under terms that prevent offering it as a competing product or service — no license fees or royalties.

Binary Distribution (Proprietary): one-time license to use and distribute the software in binary form, including inside products you sell.

Internal Use (Proprietary): one-time license for ongoing internal use of the software as delivered — no distribution, no recurring fees.

Start a conversation

Tell me about your workflow and deployment — I respond within 24 hours.