Skip to main content

Crate dotzuki_engine

Crate dotzuki_engine 

Source
Expand description

§dotzuki-engine

Core trait definitions for a JRPG engine framework.

This crate defines the foundational abstractions that any JRPG engine implementation must provide. It has zero dependency on specific game data — all types are generic associated types or marker traits that the implementing crate supplies.

§Design Philosophy

The traits in this crate follow these principles:

  • Generic over game data: No concrete game-specific, item, or move types. All identifiers are associated types bounded by Copy + Eq + Hash + Debug.
  • Provider pattern: Data providers (tilesets, maps, palettes, tile metadata, render data) are obtained through a single GameData master trait, enabling dependency injection and testing.
  • No I/O, no platform: This crate contains only trait definitions and simple data types. No file loading, no GPU code, no platform calls.

§Modules

ModuleContents
tilesetTilesetTrait and TilesetProvider — tileset loading and querying
tile_metaCollisionType, TileMetaTrait, TileMetadata — collision and terrain
tilemapTilemapEntry, Tilemap — 16-bit tilemap with per-tile metadata
mapMapTrait, MapProvider, MapConnection — map data and connections
palettePaletteTrait, PaletteProvider — colour palette lookups
render_dataRenderData — display-name and metadata lookups for moves, items, species
saveSaveData, SaveManager, SaveStorage, SaveError — save/load with CRC16
linkNetworkTransport<M>, TransportError, ChannelTransport<M>, LinkRole — game-agnostic link-play transport seam (zero-I/O)

Modules§

battle
Battle system trait definitions for a JRPG engine framework.
camera
Camera system — viewport positioning with smooth follow, zoom, and boundary clamping.
items
Items module
link
Link-play transport seam — game-agnostic and zero-I/O.
map
menu
Menu system abstractions for JRPG engine.
metatile
metatile
overworld
Overworld systems, in two tiers — pick the one that matches the game:
palette
party
Generic, game-agnostic party / monster model (milestone P0a).
render
Map layer definitions, rendering state, colour types, geometry types, and the pixel framebuffer.
render_config
Render configuration for the engine.
render_data
save
Save system for JRPG engine.
text
text
tile_meta
tilemap
Game Boy Advance-style tilemap with 16-bit metadata per tile.
tileset
trigger_manager
trigger_manager

Macros§

effect
Declarative effect builder (design §4.1). Expands to an Effect whose hooks is a &'static slice of EventHooks. Usable anywhere an Effect expression is expected (incl. the initializer of a const/static).

Traits§

GameData
Master trait that provides access to all game data subsystems.