How xianxiaowei/skymodelviewer-android works
Sky Model Viewer is an Android, read-only viewer for locally supplied Sky assets. Its principal workflow is selecting a local asset source, scanning and parsing mesh or level data, then viewing the result or exporting it. The README also documents texture and animation support, wardrobe and map tools, and multiple export formats. MainActivity and several supporting paths were only partially sampled, so the graph follows documented capabilities where implementation details are not visible; optional AI and auxiliary badge/piano features are kept distinct.
Main entry points: MainActivity.java Main activity · AIChatDialog.java AI chat dialog · SkyAssetScanner.java Asset scanner · TgcMeshReader.java Mesh parsing
Components 25
App workflow
- Main activity
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/MainActivity.java - App settings
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/AppSettings.java
Asset discovery
- Asset scanner
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/scanner/SkyAssetScanner.java - Resource resolver
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/scanner/SkyResourceResolver.java - Mesh parsing
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/parsing/TgcMeshReader.java - Level parsing
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/parsing/LevelMeshesReader.java - Map extraction
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/parsing/LevelMeshExtractor.java - Mesh data
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/model/MeshData.java - Animation decoding
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/parsing/AnimPackParser.java
Viewing and export
- Texture loading
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/render/KtxTextureLoader.java - 3D renderer
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/render/MeshRenderer.java - 3D viewport
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/render/MeshSurfaceView.java - Model exporters
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/export/ObjExporter.java - Texture exporter
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/export/TextureExporter.java
Additional tools
- Wardrobe browsing
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/ui/WardrobeGridAdapter.java - Audio bank parsing
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/parsing/FmodBankParser.java - Badge helper
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/badge/BadgeHelperActivity.java - Piano playback
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/piano/PianoActivity.java - Sheet parsing
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/piano/SheetParser.java
AI assistant
- AI chat dialog
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/ai/AIChatDialog.java - AI context builder
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/ai/AIContextBuilder.java - AI commands
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/ai/AICommandExecutor.java - AI client
SkyModelViewerAIDE/app/src/main/java/com/sky/modelviewer/ai/AIClient.java
Other components
- Viewer user
- Configured AI service
Connections 25
- Viewer user → Main activity: selects assets
- Main activity → Asset scanner: scans source
- Asset scanner → Resource resolver: locates resources
- Main activity → Mesh parsing: loads mesh
- Main activity → Level parsing: loads level
- Main activity → Map extraction: extracts map
- Mesh parsing → Mesh data: produces mesh data
- Level parsing → Mesh data: produces terrain data
- Main activity → Animation decoding: decodes animation
- Main activity → 3D renderer: displays model
- 3D renderer → Texture loading: loads textures
- Main activity → 3D viewport: shows viewport
- Main activity → Model exporters: exports geometry
- Main activity → Texture exporter: exports textures
- Main activity → Wardrobe browsing: browses wardrobe
- Main activity → Audio bank parsing: browses audio
- Main activity → Badge helper: opens badge tools
- Main activity → Piano playback: opens piano tools
- Piano playback → Sheet parsing: parses sheet
- Main activity → AI chat dialog: opens assistant
- AI chat dialog → AI context builder: builds context
- AI chat dialog → AI client: sends chat
- AI client → Configured AI service: requests response
- AI chat dialog → AI commands: dispatches commands
- Main activity → App settings: reads preferences