How baihezr/firefly works
Firefly is an Electron/Vue companion-raising game. Players enter the routed app, interact with the 3D companion and progression systems, and branch into shopping, music, and mini-games; optional AI chat and host-mode multiplayer extend that experience. The graph includes the desktop host and documented major capabilities. Several view implementations are unsampled, so links show only routing or other documented wiring rather than inferred view-to-store calls.
Main entry points: index.js Route table · App.vue App shell · main.js Vue bootstrap · ai.js AI chat service
Components 24
App runtime
- Vue bootstrap
src/main.js - App shell
src/App.vue - Route table
src/router/index.js
Companion progression
- Companion home
src/views/Home.vue - 3D character
src/components/PMXCharacter.vue - Gold progression
src/config/gold.js - Inventory buffs
src/config/inventory.js - Tasks rewards
src/config/tasks.js - Save slots
src/config/saveSlots.js
Activities
- Item shop
src/views/shop.vue - Warehouse
src/views/warehouse.vue - Gomoku game
src/views/Chess.vue - Gomoku rules AI
src/utils/gomoku.js - Word guessing
src/views/GuessWord.vue - Music player
src/views/Music.vue - Multiplayer view
src/views/Multiplayer.vue
Platform services
- AI chat service
src/services/ai.js - Chat interface
src/components/ChatDialog.vue - Electron host
electron/main.js - WebSocket rooms
electron/multiplayer/wsServer.js - Browser storage
- Offline shell
public/sw.js
Other components
- Player
- AI API
Connections 26
- Player → Vue bootstrap: opens app
- Vue bootstrap → App shell: mounts
- App shell → Route table: renders routes
- Route table → Companion home: routes to
- Route table → Item shop: routes to
- Route table → Warehouse: routes to
- Route table → Gomoku game: routes to
- Route table → Word guessing: routes to
- Route table → Music player: routes to
- Route table → Multiplayer view: routes to
- Companion home → 3D character: presents
- App shell → Save slots: initializes
- App shell → Gold progression: uses
- App shell → Inventory buffs: uses
- App shell → Tasks rewards: uses
- Tasks rewards → Gold progression: awards gold
- Item shop → Gold progression: uses currency
- Warehouse → Inventory buffs: shows items
- Gomoku game → Gomoku rules AI: uses rules
- Chat interface → AI chat service: requests replies
- AI chat service → AI API: sends chat
- Electron host → WebSocket rooms: starts server
- Electron host → Vue bootstrap: hosts window
- Vue bootstrap → Offline shell: registers
- App shell → Browser storage: persists state
- AI chat service → Browser storage: stores config