File size: 2,520 Bytes
f29c07a
23ab228
b408d69
f29c07a
 
23ab228
f29c07a
5bdce49
f29c07a
 
 
 
 
23ab228
1f1908e
38a1e17
 
23ab228
 
 
 
38a1e17
 
f29c07a
 
 
 
 
07a1161
 
 
 
 
 
 
 
 
dffe06d
f29c07a
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
  "_doc": "Shared navigation IR — ONE source for both the React app (src/layout/Sidebar.jsx) and the Gradio Space (tiny-army app.py build_sidebar). Each item carries routing for both hosts: `href` + `view`/`page` drive React's hash router and active state; `space` is the Gradio tab label the item navigates to. React renders items with an `href`; the Space renders items with a `space`. `brand` is used by the Space only (React uses config.name).",
  "brand": { "title": "Tiny Army", "icon": "⚔️", "subtitle": "small models, big dreams" },
  "sections": [
    {
      "title": "World",
      "items": [
        { "label": "Game", "icon": "◆", "href": "#/stage", "view": "stage", "space": "Battle" }
      ]
    },
    {
      "title": "Sandbox",
      "items": [
        { "label": "Sprite Animations", "icon": "🎞", "href": "#/sandbox/sprite-animations", "view": "sandbox", "page": "movement", "space": "Sprite Animations" },
        { "label": "Skill Forge", "icon": "⚒", "href": "#/sandbox/skill-forge", "view": "sandbox", "page": "skill-forge", "space": "Skill Forge" },
        { "label": "Classes", "icon": "🛡", "href": "#/sandbox/classes", "view": "sandbox", "page": "classes", "space": "Classes" },
        { "label": "Enemies", "icon": "👹", "href": "#/sandbox/enemies", "view": "sandbox", "page": "enemies", "space": "Enemies" },
        { "label": "Levels", "href": "#/sandbox/levels", "view": "sandbox", "page": "levels" },
        { "label": "GW Skills", "href": "#/sandbox/gw-skills", "view": "sandbox", "page": "skills" },
        { "label": "CB Skills", "href": "#/sandbox/cb-skills", "view": "sandbox", "page": "cb-skills" },
        { "label": "Effects", "href": "#/sandbox/effects", "view": "sandbox", "page": "effects" },
        { "label": "Battle", "href": "#/sandbox/battle", "view": "sandbox", "page": "battle" },
        { "label": "World Map", "icon": "🗺", "href": "#/sandbox/worldmap", "view": "sandbox", "page": "worldmap", "space": "World Map" }
      ]
    },
    {
      "title": "Barracks",
      "items": [
        { "label": "War Diaries", "icon": "📓", "space": "Barracks" },
        { "label": "Personas", "icon": "🛡", "space": "Personas" }
      ]
    },
    {
      "_doc": "Space-only (Gradio) items — `space` with no `href`, so the React app skips them. Settings opens Gradio's own settings page (web/tiny.js routes it).",
      "title": "App",
      "items": [
        { "label": "Settings", "icon": "⚙", "space": "Settings" }
      ]
    }
  ]
}