mirror of
https://github.com/Yonokid/PyTaiko.git
synced 2026-02-04 11:40:13 +01:00
Create wiki.json
This commit is contained in:
304
.devin/wiki.json
Normal file
304
.devin/wiki.json
Normal file
@@ -0,0 +1,304 @@
|
||||
{
|
||||
"repo_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
],
|
||||
"pages": [
|
||||
{
|
||||
"title": "PyTaiko Overview",
|
||||
"purpose": "High-level introduction to PyTaiko: what it is, its purpose as a Taiko no Tatsujin simulator, main features, and architecture overview",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Getting Started",
|
||||
"purpose": "Installation instructions, running the application on different platforms, basic configuration",
|
||||
"parent": "PyTaiko Overview",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Project Structure",
|
||||
"purpose": "Overview of the codebase organization: directory structure, major modules, and how they relate",
|
||||
"parent": "PyTaiko Overview",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Application Architecture",
|
||||
"purpose": "Core application structure: main loop, screen management system, lifecycle, and state flow",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Screen System",
|
||||
"purpose": "Detailed explanation of the screen-based architecture: Screen base class, screen transitions, lifecycle methods (on_screen_start, update, draw, on_screen_end)",
|
||||
"parent": "Application Architecture",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Screen Flow",
|
||||
"purpose": "The progression through different screens: Loading → Title → Entry → Song Select → Game → Result, including state management",
|
||||
"parent": "Application Architecture",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Configuration System",
|
||||
"purpose": "config.toml structure, configuration loading, runtime settings, and how configuration affects different subsystems",
|
||||
"parent": "Application Architecture",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Global State Management",
|
||||
"purpose": "global_data module: shared state, session data, input locking mechanism, and cross-system communication",
|
||||
"parent": "Application Architecture",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Gameplay System",
|
||||
"purpose": "Core gameplay mechanics: how the game works, from chart loading to scoring",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "TJA Chart Format",
|
||||
"purpose": "The TJA file format: structure, metadata, note notation, commands (#BPMCHANGE, #SCROLL, #GOGOSTART, etc.), and branching",
|
||||
"parent": "Gameplay System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Chart Parsing",
|
||||
"purpose": "TJAParser implementation: encoding detection, metadata extraction, note parsing, position calculation (hit_ms, load_ms), and NoteList generation",
|
||||
"parent": "Gameplay System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Note Management",
|
||||
"purpose": "Note lifecycle: spawning, movement, rendering, note types (don, kat, drumrolls, balloons), and the note manager system",
|
||||
"parent": "Gameplay System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Input Handling",
|
||||
"purpose": "Input abstraction layer: keyboard/gamepad/touch support, keybind configuration, input locking, and player-specific inputs",
|
||||
"parent": "Gameplay System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Hit Detection",
|
||||
"purpose": "check_note implementation: timing windows (GOOD/OK/BAD), hit evaluation, auto-play mode, and hit feedback",
|
||||
"parent": "Gameplay System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Scoring System",
|
||||
"purpose": "Score calculation: base_score formula, combo mechanics, gauge system, clear conditions, and crown determination",
|
||||
"parent": "Gameplay System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Score Persistence",
|
||||
"purpose": "scores.db structure, hash_note_data calculation, score writing logic, and score history tracking",
|
||||
"parent": "Gameplay System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Audio System",
|
||||
"purpose": "Overview of the audio architecture: layered design, Python API, C library, and PortAudio backend",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Audio Engine API",
|
||||
"purpose": "AudioEngine class: initialization, device management, sound vs music distinction, volume control, and playback methods",
|
||||
"parent": "Audio System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Sound Playback",
|
||||
"purpose": "Static sound loading, playback, volume/pan control, and simultaneous sound mixing",
|
||||
"parent": "Audio System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Music Streaming",
|
||||
"purpose": "Music stream architecture: double-buffering, update requirements, seeking, and continuous playback",
|
||||
"parent": "Audio System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "C Audio Library",
|
||||
"purpose": "Low-level implementation: PortAudio callback, audio buffer management, mixing algorithm, and threading model",
|
||||
"parent": "Audio System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Building Audio Libraries",
|
||||
"purpose": "Makefile system: platform detection, dependency management, static vs dynamic linking, and cross-platform builds",
|
||||
"parent": "Audio System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Video Audio Integration",
|
||||
"purpose": "VideoPlayer class: audio extraction, synchronization with video frames, and integration with AudioEngine",
|
||||
"parent": "Audio System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Visual System",
|
||||
"purpose": "Overview of graphics rendering: raylib integration, texture management, and animation framework",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Texture Management",
|
||||
"purpose": "TextureWrapper architecture: ZIP-based asset loading, texture.json format, frame-based sprites, and drawing API",
|
||||
"parent": "Visual System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Animation Framework",
|
||||
"purpose": "Animation system design: BaseAnimation class, animation types (fade/move/texture_change/resize), easing functions, and lifecycle",
|
||||
"parent": "Visual System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Animation Definitions",
|
||||
"purpose": "animation.json format: declarative animations, property references, delay chaining, and screen-specific animations",
|
||||
"parent": "Visual System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Background System",
|
||||
"purpose": "Background class architecture: component orchestration, state-driven updates (normal/fever/rainbow), and milestone-based effects",
|
||||
"parent": "Visual System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Background Components",
|
||||
"purpose": "Individual background objects: DonBG, BGNormal, BGFever, Dancer, Fever, Footer, Renda, Chibi - their roles and implementations",
|
||||
"parent": "Visual System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Collaborative Backgrounds",
|
||||
"purpose": "COLLABS system: theme registry, custom background implementations (Dan, Oshiri, ButtoBurst, etc.), and component overriding",
|
||||
"parent": "Visual System",
|
||||
"page_notes": [
|
||||
{
|
||||
"content": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user