This project now uses uv for dependency management, running, and building.
uv sync- GPU/driver support for a core OpenGL context.
- On macOS, SDL is configured for OpenGL
3.2core profile. - On Linux/Windows, SDL requests OpenGL
3.3core profile. - If OpenGL context creation fails, verify system graphics drivers and any remote/headless environment constraints.
uv run python control.pyor via the console script:
uv run spacedock-joystickW/A/S/Dmove the current input cursor state.- Left-click and drag on the cube to move it in screen-space
X/Y. - Releasing the left mouse button ends the drag.
- Clicking outside the cube does not start dragging.
- Joystick axis
0and1are read and logged. - The renderer continuously draws a rotating cube using shader/VBO/VAO pipeline.
control.pyowns SDL init, event loop, and input handling.renderer3d.pyowns OpenGL shader setup, mesh buffers, matrices, and frame rendering.
- App launches with SDL + OpenGL context.
- A rotating 3D cube renders every frame.
- Window resize updates OpenGL viewport.
- Frame presentation uses
SDL_GL_SwapWindow. - Rendering path is modern OpenGL (no immediate mode).
uv build