Commit Graph

4 Commits

Author SHA1 Message Date
Peterino2 00ced6e2d9 Skip SDL_vulkan.h in bindings generation 2026-01-22 19:08:12 -08:00
Peterino2 83aa5fc26c Add mutex to ignore list, keep only core SDL3 APIs 2026-01-22 18:56:56 -08:00
Peterino2 d03338034e Generate all 53 SDL3 public API bindings
- Updated build.zig to include all public SDL3 headers
- Successfully generated 53 Zig binding files in v2/
- 41 APIs generated cleanly without errors
- 12 APIs generated with syntax errors to be fixed

Clean APIs include:
- Core: init, error, log, hints, version
- Platform: clipboard, filesystem, locale, misc, power, storage
- Input: events, keyboard, mouse, gamepad, joystick, pen, sensor, touch
- Media: video, audio, camera
- Graphics: gpu, render, pixels, surface, rect, blendmode
- Utilities: atomic, endian, guid, properties, time, timer
- System: cpuinfo, process, thread, mutex

APIs with errors to fix:
- assert, audio, haptic, hidapi, iostream, joystick
- mutex, render, system, thread, tray, vulkan

Common issues identified:
- Malformed type names in dependency detection
- Missing SDL_FunctionPointer typedef
- Complex function pointer patterns need better parsing
2026-01-22 18:46:27 -08:00
Peterino2 724b5e1a05 feat: add JSON export and regenerate multiple SDL headers
- Implemented --generate-json flag to export parsed API as JSON
- Added proper JSON formatting using std.json
- Fixed memory leaks in JSON generation
- Updated build.zig to generate 15 different SDL headers
- Successfully parsing 13/15 headers (init and iostream have issues)

Working headers:
- SDL_gpu, SDL_video, SDL_events, SDL_keyboard
- SDL_mouse, SDL_scancode, SDL_keycode, SDL_pixels
- SDL_rect, SDL_surface, SDL_blendmode, SDL_timer
- SDL_error

Known issues:
- SDL_init.h: array syntax in function pointer params (argv[])
- SDL_iostream.h: function pointer fields in structs not supported
2026-01-22 18:16:49 -08:00