# Platform -- Windows `DUSK_TARGET_SYSTEM`: `windows` Source layer: `src/duskwindows/` (planned, does not exist yet) Status: **Planned -- not yet implemented** --- ## Overview Windows desktop is a planned target. No source layer, CMake target file, or toolchain exists yet. The intended architecture closely mirrors Linux: SDL2 for windowing/input, desktop OpenGL for rendering, pthreads (via MinGW or MSVC pthreads shim) for threading. --- ## Expected macros (when implemented) | Macro | Expected | |-------|---------| | `DUSK_WINDOWS` | yes | | `DUSK_SDL2` | yes | | `DUSK_OPENGL` | yes | | `DUSK_DISPLAY_SIZE_DYNAMIC` | yes | | `DUSK_INPUT_KEYBOARD` | yes | | `DUSK_INPUT_POINTER` | yes | | `DUSK_INPUT_GAMEPAD` | yes | | `DUSK_PLATFORM_ENDIAN_LITTLE` | yes | | `DUSK_TIME_DYNAMIC` | yes | | `DUSK_THREAD_PTHREAD` | yes | --- ## Notes - Will be little-endian (x86-64 Windows). - Expected to share `src/dusksdl2/` and `src/duskgl/` with Linux and Knulli; only a thin `src/duskwindows/` layer for OS-specific functionality (save paths, system dialogs) should be needed. - Save files will likely live in `%APPDATA%` or a sibling `saves/` directory. - No cross-compiler needed; MSVC or MinGW-w64 on Windows or a cross-compile from Linux. Update this document when the Windows target is implemented.