How gmaxdev/gamitask works
gamiTask is a social 3D café for working on tasks, with focus timers, character customization, room furniture, and shared progression. The main workflow is to enter a café or private room, manage and score tasks, and receive server-calculated rewards that appear in player state and room activity. The client also supports Google identity, Twitch linking, and a moderator object workshop; a separate landing page includes an offline preview and Pro waitlist. The map follows README-described features and sampled entry points; some subsystem wiring is documented but its implementation was not sampled.
Main entry points: main.ts App coordinator · index.ts HTTP and sockets · tasks-ui.ts Task interface · net.ts Socket client
Components 25
Café client
- App coordinator
app/src/main.ts - Socket client
app/src/net.ts - Room selection
app/src/rooms.ts - 3D café scene
app/src/scene.ts - Room chat
app/src/chat.ts
Tasks and progression
- Task interface
app/src/tasks-ui.ts - Task state
app/src/tasks.ts - Scoring rules
server/src/scoring.ts - Focus timer
app/src/pomo.ts - Timer interface
app/src/pomodoro-ui.ts - Player progress
app/src/progress.ts - Daily journal
app/src/journal.ts
Realtime service
- HTTP and sockets
server/src/index.ts - SQLite state
server/src/index.ts
Identity and objects
- Auth and roles
server/src/auth.ts - Character looks
app/src/look.ts - Character editor
app/src/editor.ts - Object workshop
app/src/workshop.ts - Catalog service
server/src/catalog.ts
Landing and integrations
- Landing experience
app/src/landing.ts - Pro waitlist
server/src/waitlist.ts - Twitch integration
server/src/twitch.ts
Other components
- Player
- Google identity
- Twitch service
Connections 30
- Player → App coordinator: uses
- App coordinator → Socket client: connects through
- App coordinator → Room selection: selects room
- Room selection → 3D café scene: mounts room
- App coordinator → 3D café scene: coordinates
- App coordinator → Character editor: opens editor
- Character editor → Character looks: edits look
- App coordinator → Object workshop: opens workshop
- Object workshop → Socket client: sends catalog edits
- Player → Task interface: manages tasks
- Task interface → Task state: updates state
- Task interface → Scoring rules: reads rules
- Task interface → Socket client: emits task actions
- Player → Timer interface: starts focus
- Timer interface → Focus timer: controls timer
- App coordinator → Daily journal: records events
- Socket client → HTTP and sockets: exchanges socket events
- HTTP and sockets → SQLite state: reads and writes
- HTTP and sockets → Scoring rules: applies task rules
- HTTP and sockets → Auth and roles: verifies permissions
- HTTP and sockets → Catalog service: handles catalog edits
- HTTP and sockets → Twitch integration: handles Twitch requests
- HTTP and sockets → Character looks: sends look state
- HTTP and sockets → Player progress: sends player state
- Google identity → App coordinator: provides sign-in
- App coordinator → HTTP and sockets: requests authentication
- Twitch service → Twitch integration: provides channel data
- Player → Landing experience: visits
- Landing experience → Pro waitlist: submits interest
- Pro waitlist → SQLite state: stores entries