Extropian Core

Type:Modular repository
Category:Core Platform
Status:alpha

One shared C++23 foundation for the Extropian ecosystem — math, ECS, transforms, and utilities.

Extropian Core is the lowest-level shared infrastructure for the entire Extropian ecosystem. Every other Extropian library — render, spatial-ui, CAE, geometry, app — depends on it, and it in turn depends on nothing beyond C++23 and the standard library. It provides exd::math (templated Vec2–Vec4, Mat3/Mat4, Quat, DualQuat, Bounds3, Raycast, Color, all header-only), the exd::ecs framework (Entity, Registry, sparse-set component storage, Views, CommandBuffer, SystemGraph, ISystem), and exd::core utilities (config, logging, units, allocators, serialization, event bus, plugin loader, and an abstract WindowState input interface).

Architecturally the ecosystem converged on one spine hosted here: entities and components are common state, a generic exd::ecs::SceneGraph is the only hierarchy model, and transforms are component state — LocalTransform plus WorldTransform derived each update by TransformSystem. UI, CAE, and render semantics are carried as components rather than graph features, so one ECS and one SceneGraph serve spatial 2.5D UI, multiphysics scenes, and rendering alike. Core deliberately does not own GPU resources, audio, window creation, or application logic.

Extropian Core also owns the cross-language schema structs in exd::types (the authored VisualDocument, StyleProfile, semantic input, runtime UI PresentationState, and patch types) with C++ as the single authority. It ships as a static library (exd::core), integrates via CMake FetchContent, and compiles to WASM with zero changes.

Core capabilities

  • Header-only GLM-style linear algebra — vectors, matrices, quaternions, dual quaternions, bounds, raycasting
  • Sparse-set, archetype-free ECS with entity generation counters, views, command buffers, and ordered system graphs
  • Generic SceneGraph hierarchy with LocalTransform/WorldTransform derived by TransformSystem
  • Core utilities: config with TOML I/O, thread-safe logging, bump allocators, serialization, event bus, plugin loader, abstract WindowState input
  • JSON-serializable authored document schemas (VisualDocument, StyleProfile, semantic input, UI presentation state)

Technical foundation

  • C++23 and the C++ standard library — no runtime dependencies, compiles to WASM with zero changes
  • No GPU abstraction lives in core; GPU, audio, windowing, and app logic are explicit non-goals
  • Consumed as the shared foundation by render, spatial-ui, CAE, geometry, and app

Ecosystem connections

Licensing & customization

Open Source (Apache 2.0)

Licensing is negotiated around the software, deployment model, scope, and ownership requirements of each project — whether Extropian Core 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.

Open Source (Apache 2.0): free to use, modify, and distribute — including in commercial products — with attribution.

Start a conversation

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