Sourcebox.py remains the executable entry point for compatibility with existing
commands and PyInstaller builds. It owns the application loop and scene switching.
sourcebox/audio.pymanages sound effects and music.sourcebox/cursor.pyloads and renders the custom cursor.sourcebox/raycast.pyconverts mouse positions into world-space rays.sourcebox/resources.pyresolves development and PyInstaller resources.sourcebox/steam.pycontains shared Steam installation, library, and CrossOver bottle discovery.sourcebox/bridges/manager.pycoordinates bridge setup, spawning, and cleanup.sourcebox/bridges/source_discovery.pylocates Source games and sourcemods.sourcebox/rendering/main_scene.pycontains main-menu geometry and lighting.sourcebox/scenes/missing_texture.pycontains the error scene.cone_scene.pyowns Voidside scene state and update behavior.sourcebox/scenes/cone_entities.pyowns the floating XYZ pointers.sourcebox/scenes/cone_renderer.pyowns Voidside OpenGL and text rendering.
Generated Lua and VScript payloads live under bridge_scripts/. Python bridge
classes load these files as resources rather than embedding thousands of lines in
method bodies. The build workflow packages this directory with the executable.
Run the dependency-light characterization suite with:
python -m unittest discover -vThe tests protect ARG-sensitive timing and camera behavior, extracted script bytes,
Steam library parsing, and bridge coordination. Preserve random-call ordering when
refactoring cone_scene.py or its entity classes.