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.
