Skip to content

Modules

Every published AwakeKt Engine module: its Maven coordinate, a catalog alias for it, and what it holds.

How to read this page

Item Value
Group com.awakekt.awake, plus the module's parent path: :awake:scene:runtime publishes com.awakekt.awake.scene:runtime. The Vulkan bindings are the exception: com.awakekt.awake:vulkan-kmp.
Version Core modules share one version; the newest is 0.19.0. Vulkan family: 0.1.34, built against Core 0.17.0. See Releases and compatibility.
Catalog alias awake- plus the group after com.awakekt.awake, then the name, joined with -. The accessor replaces - with .: awake-scene-runtime is libs.awake.scene.runtime. The alias is your choice; this is the convention these docs use.
Published modules 93: 90 in Core, 3 in the Vulkan family.
Transitive modules Declare only the modules your code uses. Each module's published metadata brings the modules it depends on.

A catalog entry looks like this:

gradle/libs.versions.toml
[versions]
awake = "0.17.0"
awake-vulkan = "0.1.34"

[libraries]
awake-scene-runtime = { module = "com.awakekt.awake.scene:runtime", version.ref = "awake" }
awake-backend-vulkan = { module = "com.awakekt.awake.backend:vulkan", version.ref = "awake-vulkan" }

Modules

Core math and data

Maven coordinate Catalog alias What it is
com.awakekt.awake.core:math awake-core-math Vectors, matrices, quaternions, rays, frustums and camera lenses.
com.awakekt.awake.core:pool awake-core-pool Frame-scoped object pools that reuse instances without allocating.
com.awakekt.awake.core:math2d awake-core-math2d Screen-space 2D primitives: Vec2, Rectangle, Size2D, Dp.
com.awakekt.awake.core:geometry awake-core-geometry Mesh geometry data and math: vertex formats, decoding, simplification.
com.awakekt.awake.core:color awake-core-color The Color value type.
com.awakekt.awake.core:graphics2d awake-core-graphics2d The CPU 2D draw vocabulary: draw commands, paths, gradients, meshes.
com.awakekt.awake.core:image awake-core-image Bitmap decoding and RGBA8 pixel buffers.
com.awakekt.awake.core:input awake-core-input Pointer, key and text input state.
com.awakekt.awake.core:host awake-core-host Host platform services: frame loop, resource bytes.
com.awakekt.awake.core:io awake-core-io Asynchronous file, resource and byte-stream access.
com.awakekt.awake.core:schema awake-core-schema Property schemas and authoring annotations read from serialization descriptors.
com.awakekt.awake.core:expression awake-core-expression A safe, deterministic formula language for numbers kept in data.
com.awakekt.awake.core:text awake-core-text Font atlases, glyph metrics, grapheme clusters and text shaping.
com.awakekt.awake.core:audio awake-core-audio Audio playback, WAV decoding, synthesis and 3D attenuation.
com.awakekt.awake.core:animation awake-core-animation Skeletal animation: skeletons, clips, pose sampling, crossfades.
com.awakekt.awake.core:logging awake-core-logging Levelled, frame-stamped logging with a bounded buffer.
com.awakekt.awake.core:di awake-core-di Dependency injection container, no reflection.
com.awakekt.awake.core:config awake-core-config Typed environment and configuration values.
com.awakekt.awake.core:state awake-core-state Reactive, unidirectional state management.
com.awakekt.awake.core:localization awake-core-localization Per-locale string tables, ICU-style messages with plurals, and the active locale.

ECS and application

Maven coordinate Catalog alias What it is
com.awakekt.awake:ecs awake-ecs The ECS: sparse-set World, entities, components, systems, queries.
com.awakekt.awake:particles awake-particles Particle emitters: simulation, ground bounce, burst scheduling and instanced draw packets, with no scene needed.
com.awakekt.awake.engine:bootstrap awake-engine-bootstrap Application and window bootstrap: app { }, the entry point a game calls.
com.awakekt.awake.engine:platform awake-engine-platform Per-platform app lifecycle, windowing and surfaces behind one contract.
com.awakekt.awake.engine:window awake-engine-window Each platform's native window and its input, behind the engine platform contract.
com.awakekt.awake.engine:compose awake-engine-compose Hosts AwakeKt Compose inside an engine frame and paints it through the renderer.

Rendering

Maven coordinate Catalog alias What it is
com.awakekt.awake.engine.render:contract awake-engine-render-contract The render hardware interface: GpuDevice, Renderer, Mesh, Material, RenderTarget. See Render hardware interface.
com.awakekt.awake.engine.render:effects awake-engine-render-effects Shared GPU image effects lowered to backend-neutral ImagePassChain packets.
com.awakekt.awake.engine.render:passes awake-engine-render-passes Render features and pipelines: shadow, opaque, transparent, skybox and content passes.
com.awakekt.awake.engine.render:passes2d awake-engine-render-passes2d Backend-neutral 2D pass logic: run coalescing, mesh upload, command recording.
com.awakekt.awake.engine.render:testing awake-engine-render-testing Headless render sessions, pixel baselines and frame capture for tests.
com.awakekt.awake.asset:shaders awake-asset-shaders Backend-neutral shader contract: RenderPlan, ScenePipeline, ShaderSet.
com.awakekt.awake.asset:shader-pack awake-asset-shader-pack The engine's built-in WGSL shaders and their uniform layouts.
com.awakekt.awake.asset:shader-dsl awake-asset-shader-dsl ASL: shaders written in Kotlin that emit WGSL.
com.awakekt.awake.asset:shader-document awake-asset-shader-document Shaders as project data: a checked JSON subset of ASL, compiled to WGSL and drawn as a content feature.
com.awakekt.awake.asset:shader-compiler awake-asset-shader-compiler Runtime WGSL-to-SPIR-V compilation through naga.

Assets

Maven coordinate Catalog alias What it is
com.awakekt.awake.asset:gltf awake-asset-gltf glTF 2.0 mesh, scene and skinning importer.
com.awakekt.awake.asset:sprite awake-asset-sprite Regular-grid sprite metadata import and named frame clips.
com.awakekt.awake.asset:terrain awake-asset-terrain Heightmap terrain assets and grid mesh generation.
com.awakekt.awake:terrain awake-terrain The terrain surface seam: TerrainSurfaceReference, TerrainSurfaceProvider and TerrainSurface, with no scene dependency.
com.awakekt.awake.kit:terrain-layers awake-kit-terrain-layers Layered terrain surface: layer palette, control map and its shader.

Scenes

Maven coordinate Catalog alias What it is
com.awakekt.awake.scene:scene-core awake-scene-scene-core Transforms, names and the systems every scene runs.
com.awakekt.awake.scene:scene3d awake-scene-scene3d Cameras, lights, mesh renderers and the systems that draw a scene.
com.awakekt.awake.scene:document awake-scene-document Scene documents: SceneDocument, SceneLoader, validation, prefabs, extensions.
com.awakekt.awake.scene:binding awake-scene-binding Bindings between scene document components and ECS components.
com.awakekt.awake.scene:runtime awake-scene-runtime The scene runtime: SceneManager, sessions, asset library, scheduling, app lifecycle.
com.awakekt.awake.scene:authoring awake-scene-authoring The scene DSL and application DSL: entities, systems, assets and UI in Kotlin.
com.awakekt.awake.scene:controls awake-scene-controls Camera rigs and input-driven movement.
com.awakekt.awake.scene:audio awake-scene-audio Audio source and listener components and the spatial audio system.
com.awakekt.awake.scene:particles awake-scene-particles The particle_emitter scene component and the systems that run its emitters in a scene.
com.awakekt.awake.scene:ai awake-scene-ai The patrol, chase and flee scene components, and TransformAgentPlacement for the behaviour systems.
com.awakekt.awake.scene:navigation awake-scene-navigation The navigation scene component: the walkable grid a scene document carries.
com.awakekt.awake.scene:shader awake-scene-shader The shader_effect scene component: a project's shader documents loaded, attached and run over a scene.
com.awakekt.awake.scene:scene2d awake-scene-scene2d The 2D scene components, starting with sprite: schema, binding and the systems that run them.
com.awakekt.awake.scene:physics awake-scene-physics Physics components and systems that bind bodies to scene transforms.
com.awakekt.awake.scene:character awake-scene-character A walking, jumping character moved by the physics character controller.
com.awakekt.awake.scene:canvas awake-scene-canvas The canvas_element scene component: the schema, validation and World binding for awake:ui:canvas.
com.awakekt.awake.scene:gltf awake-scene-gltf Resolves .gltf and .glb model paths in scenes to meshes and materials.
com.awakekt.awake.scene:blueprint awake-scene-blueprint Runs blueprints on scene entities: the blueprint component and BlueprintSystem.
com.awakekt.awake.scene:world awake-scene-world Open-world plumbing: partitioning, streaming and the floating origin, over awake:world.
com.awakekt.awake.scene:worldstream awake-scene-worldstream Cell streamers for meshes, physics, heightfield tiles and terrain texture tiles.

Physics

Maven coordinate Catalog alias What it is
com.awakekt.awake.physics:api awake-physics-api The physics facade: bodies, shapes, queries and stepping, with no backend.
com.awakekt.awake.physics:ragdoll awake-physics-ragdoll Ragdolls built from bodies and constraints, and the skeleton drive.
com.awakekt.awake.backend:jolt awake-backend-jolt Jolt Physics backend for physics:api.

Gameplay

Maven coordinate Catalog alias What it is
com.awakekt.awake:navigation awake-navigation Heightmap-derived navigation grids, streamed navigation and path requests.
com.awakekt.awake:tilemap awake-tilemap Finite tile grids, atlas chunk geometry and visibility, with no scene dependency.
com.awakekt.awake:world awake-world World cells: coordinates, partition radii and the cell streaming contract, with no scene dependency.
com.awakekt.awake:ai awake-ai Behavior tree and finite state machine primitives.
com.awakekt.awake.ai:behavior awake-ai-behavior Starter behaviors that follow navigation paths: patrol, chase, flee, with no scene dependency.
com.awakekt.awake:blueprint awake-blueprint Runtime for event-driven game logic authored as node graphs.
com.awakekt.awake:node-graph awake-node-graph Node graph documents, node registry and validation.
com.awakekt.awake.net:api awake-net-api The transport facade: connections, delivery channels and packet buffers, with no transport.
com.awakekt.awake.net:server-ktor awake-net-server-ktor Ktor WebSocket transport plugin and authoritative game-server host with feature API.

Projects and editor

Maven coordinate Catalog alias What it is
com.awakekt.awake:project awake-project The AwakeKt project manifest format and its validation.
com.awakekt.awake.project:runtime awake-project-runtime Plays a project without the editor: loadProject, runProject.
com.awakekt.awake.project:blueprint awake-project-blueprint Plays a project's blueprint graphs: the capability a project names to run its scene's blueprints.
com.awakekt.awake.editor:contract awake-editor-contract Public extension points and plugin contracts for AwakeKt Studio.

UI

Maven coordinate Catalog alias What it is
com.awakekt.awake.compose:runtime awake-compose-runtime AwakeKt Compose runtime: the composer, composition locals, remember and state.
com.awakekt.awake.compose:ui awake-compose-ui Modifiers, layout nodes, input dispatch and semantics.
com.awakekt.awake.compose:foundation awake-compose-foundation Compose Foundation: Row, Column, Box, scrolling and layout modifiers.
com.awakekt.awake.compose:state awake-compose-state State management integration for AwakeKt Compose.
com.awakekt.awake.compose:di awake-compose-di Dependency injection bridge for AwakeKt Compose.
com.awakekt.awake.compose:localization awake-compose-localization LocalStrings, stringResource and input labels for AwakeKt Compose.
com.awakekt.awake.compose:ui-testing awake-compose-ui-testing Test helpers for AwakeKt Compose: semantics queries and a headless rasterizer.
com.awakekt.awake:tailwind awake-tailwind Tailwind-style design tokens and modifiers for Compose Foundation.
com.awakekt.awake.ui:shadcn awake-ui-shadcn shadcn components: themes, tokens, variants and component recipes.
com.awakekt.awake.ui:canvas awake-ui-canvas Screen-anchored game UI (text, panels, bars, buttons) drawn over the game, with no scene or ECS dependency.
com.awakekt.awake.ui:node-graph-canvas awake-ui-node-graph-canvas Pan-and-zoom node graph editing surface.

Version alignment

Maven coordinate Catalog alias What it is
com.awakekt.awake:bom awake-bom The Core platform: constrains every Core module to one version. Gradle builds get it through the modules; a Maven build imports it. See Installation.

WebGPU backend

Maven coordinate Catalog alias What it is
com.awakekt.awake.backend:webgpu awake-backend-webgpu The WebGPU renderer, running WGSL.

Vulkan family

Maven coordinate Catalog alias What it is
com.awakekt.awake.backend:vulkan awake-backend-vulkan The Vulkan renderer for desktop, Android and iOS (MoltenVK).
com.awakekt.awake:vulkan-kmp awake-vulkan-kmp Raw Vulkan API bindings: desktop JVM, Android and iOS (MoltenVK).
com.awakekt.awake:vulkan-kmp-android-native awake-vulkan-kmp-android-native Android native library (NDK build and bundled validation layers) for the bindings.

Release trains

Family Modules Version Notes
Core Every module above except the Vulkan family 0.19.0 One version for all. Tagged v*.
Vulkan backend:vulkan, vulkan-kmp, vulkan-kmp-android-native 0.1.34 Its own release train, tagged vulkan-v*. Each release names the Core release it was built against, here 0.17.0.
WebGPU backend:webgpu A -SNAPSHOT version Snapshot-only: it builds on a wgpu4k snapshot, and Maven Central releases cannot depend on a snapshot. Use the snapshot repository https://central.sonatype.com/repository/maven-snapshots/.

Targets

The target of every module is in Releases and compatibility.

See also