This version includes major additions and improvements. This version was used to demo at ESUG'2026.
Changes
Package Consolidation & Refactoring:
- Package Merges: Merged
SDL3-APIintoSDL3-Ownand consolidated GPU code fromSDL3-OwnandSDL3-ShaderScannerinto a new, dedicatedSDL3-GPUpackage. - FFI Fixes: Fixed ten CIG-generated functions that had incorrect signatures, and replaced all usages of
LibC>>#memCopywith nativeLibSDL3>>#memcpyDst:src:len:. - Memory Initialization: Now explicitly using
SDL_memsetto safely zero out arrays and FFI structs. - Memory Naming Convention: Renamed
#asUnownedNewSDL3Surfaceto#unsafeNewAsSDL3Surfaceto strictly adhere to theunsafeNew...ownership protocol. - Shader Metadata: Reified shader metadata, allowing SDL3 objects to remember their shader configurations at runtime.
Demos Polishing:
- Uniform Naming: Renamed all demo classes to consistently use the
...Appsuffix. - Feature Enhancements: Upgraded the
SDL3ImageClipboardDemoAppto support copying a PharoFormdirectly to the system clipboard! - Minor Tweaks: Added color configurations to
SDL3Consoleand tweaked the touchpad fingers demo.
OSWindow Integration & VSYNC:
- VSYNC Settings: Added global System Settings to explicitly control VSYNC.
- OSBenchmarkMorph: Replaced the old background process benchmark with a new
OSBenchmarkMorphto visually track refresh rates and VSYNC performance metrics directly in the image.
Testing:
- Interactive Safeguard: Tests that init/quit SDL3 core subsystems are now safely skipped if
Smalltalk isInteractiveis true, preventing accidental image crashes when running SUnit from the UI. - Test Consolidation: Merged
SDL3-Compute-TestsandSDL3-Graphics-Testsinto a singleSDL3-GPU-Testspackage.
Documentation:
- Comprehensive FFI Comments: Programmatically injected class comments into all generated FFI structs, classes, and enumerations linking back to the official SDL3 Wiki.
- README:
- Ordered the GPU demos by complexity (from clear screens to advanced compute architectures).
- Added rich, searchable GPU keywords and demo video links (as shown in ESUG'2026 talk).
- Added clear, detailed instructions for setting up the
OSSDL3Driver.
- GPU Ground Truth Guide: Added a dedicated
doc/GPU-Resource-Mapping.mdto document strict transpiler constraints (std140 padding, Descriptor Spaces).
Merged Pull Requests
- Many refactorings by @tinchodias in #91
- Improve
OSWindow-SDL3by @tinchodias in #93 - Reify shader metadata and make some SDL3 object remember them by @tinchodias in #94
- Fix ten functions that my cig recipe wrongly generated (my fault!) by @tinchodias in #95
- Use
SDL_memsetto zero arrays and structs by @tinchodias in #96 - Merge package named SDL3-API into SDL3-Own by @tinchodias in #97
- Repackaging GPU demos and tests by @tinchodias in #98
- Several little improvements by @tinchodias in #99
- Rename
asUnownedNewSDL3SurfaceasunsafeNewAsSDL3Surfaceby @tinchodias in #100 - Add class comments to classes in SDL3 package by @tinchodias in #102
Full Changelog: v0.2.0...v0.3.0