You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to debug entity persistence and inspect saved game state,
as a Marathon developer,
I need a CLI devtool that can read entity databases and display entity data in human-readable format.
This tool will help with debugging persistence issues, inspecting world state, and validating migrations.
Acceptance Criteria
Scenario: Devtool can list entitiesGiven a world database exists
When running the devtool list command
Then all entities are displayed with basic metadata
Scenario: Devtool can inspect entity detailsGiven a world database exists
When running the devtool inspect command with entity ID
Then entity metadata and deserialized component data is displayed
Scenario: Devtool can dump database statisticsGiven a world database exists
When running the devtool stats command
Then entity counts by type and database size are displayed
Features
Commands
inspect list [--type <entity_type>] - List all entities with basic metadata
inspect entity <id|network_id> - Show detailed entity data (deserialize and pretty-print components)
Since entity component data is stored as rkyv binary blobs for performance, we lose SQL queryability. This devtool fills that gap by providing human-readable inspection for debugging and development purposes.
Low priority - can be implemented after v0 core persistence is working.
Description
In order to debug entity persistence and inspect saved game state,
as a Marathon developer,
I need a CLI devtool that can read entity databases and display entity data in human-readable format.
This tool will help with debugging persistence issues, inspecting world state, and validating migrations.
Acceptance Criteria
Features
Commands
inspect list [--type <entity_type>]- List all entities with basic metadatainspect entity <id|network_id>- Show detailed entity data (deserialize and pretty-print components)inspect stats- Database statistics (entity counts, size, schema version)inspect verify- Verify all entities can be deserialized successfullyinspect export <entity_id> [--json|--ron]- Export entity to structured formatDisplay Format
Technical Notes
clapfor argument parsingcrates/devtools/src/bin/entity-inspector.rs(or similar)Additional Context
Since entity component data is stored as rkyv binary blobs for performance, we lose SQL queryability. This devtool fills that gap by providing human-readable inspection for debugging and development purposes.
Low priority - can be implemented after v0 core persistence is working.