Extra Assets
Runtime assets deployed alongside the Flutter app. Not bundled into the binary — loaded from disk at runtime via paths in config.json.
Structure
extra/
├── fonts/ # Custom fonts (TTF/OTF)
├── images/ # Static images
│ └── navigator/ # Navigator character sprites
│ └── {name}/ # Folder per navigator (e.g., "zumo", "rei")
│ ├── default.png
│ ├── happy.png
│ ├── surprise.png
│ └── ...
└── themes/ # Color theme definitions
Themes
JSON files defining dark/bright color schemes. Converted to Dart by scripts/generate_theme.py.
Format
{
"dark": {
"background": "#101010",
"foreground": "#EAEAEA",
"highlight": "#FA1504",
"subdued": "#E47841"
},
"bright": {
"background": "#E47841",
"foreground": "#202020",
"highlight": "#F0F0F0",
"subdued": "#BC4600"
}
}
Adding a Theme
- Create
extra/themes/yournavigator.json - Set
"navigator": "yournavigator"inpi/ui/config.json - Build —
generate_theme.pypicks it up automatically
Fallback Chain
{navigator}.json → default.json → hardcoded defaults