How waifwu/tsukirebuild works
TsukiREbuild is a browser-playable JavaScript/WebGL2 port of Tsukihime, also hosted in Android and desktop apps. The player enters through the opening page, starts the game, and the VM loads scripts and game data to drive dialogue, graphics, sound, and interactive screens; saves preserve progress. The graph includes documented language, gallery, flowchart, and platform capabilities. Several feature modules are unsampled, so their internal call relationships are omitted rather than inferred.
Main entry points: ui.js Game screens · main.js Runtime coordinator · vm.js Script VM · renderer.js WebGL renderer
Components 22
Game runtime
- Runtime coordinator
web/app/js/main.js - Script VM
web/app/js/vm.js - Language assets
web/app/js/lang.js - WebGL renderer
web/app/js/renderer.js - Audio engine
web/app/js/audio.js
Presentation and interaction
- Dialogue text
web/app/js/textbox.js - Game screens
web/app/js/ui.js - Touch controls
web/app/js/touch.js - Visual effects
web/app/js/effects.js - Animation
web/app/js/animation.js - Screen effects
web/app/js/screenfx.js
Game features and state
- Gallery
web/app/js/gallery.js - Story flowchart
web/app/js/flowchart.js - Flowchart model
web/app/js/flowchart-model.js - Save files
web/app/js/savefile.js - Unlock tracking
web/app/js/unlocks.js
Hosting and apps
- Web browser
- Local web server
web/server.py - Desktop host
web-dev/desktop/main.js - Android host
web-dev/android/src/date/arcueid/tsukirebuild/MainActivity.java - Android updater
web-dev/android/src/date/arcueid/tsukirebuild/Updates.java
Other components
- Player
Connections 21
- Player → Runtime coordinator: starts game
web/app/js/main.js - Runtime coordinator → Game screens: creates screens
web/app/js/main.js - Runtime coordinator → Script VM: coordinates
web/app/js/main.js - Script VM → Language assets: loads localized assets
web/app/js/vm.js - Script VM → WebGL renderer: drives graphics
web/app/js/vm.js - Script VM → Audio engine: dispatches sound
web/app/js/vm.js - Script VM → Dialogue text: supplies dialogue
web/app/js/vm.js - WebGL renderer → Animation: uses animation
web/app/js/renderer.js - WebGL renderer → Visual effects: uses effects
web/app/js/renderer.js - WebGL renderer → Screen effects: uses screen effects
web/app/js/renderer.js - Visual effects → Screen effects: calls
web/app/js/effects.js - Game screens → Dialogue text: renders log
web/app/js/ui.js - Game screens → Flowchart model: uses model
web/app/js/ui.js - Game screens → Touch controls: uses controls
web/app/js/ui.js - Game screens → Gallery: opens gallery
- Game screens → Story flowchart: opens flowchart
- Runtime coordinator → Save files: saves progress
web/app/js/main.js - Runtime coordinator → Unlock tracking: persists unlocks
web/app/js/main.js - Web browser → Local web server: requests game
web/server.py - Desktop host → Runtime coordinator: hosts web app
web-dev/desktop/main.js - Android host → Android updater: checks updates
web-dev/android/src/date/arcueid/tsukirebuild/MainActivity.java