Skip to content

v0.3.0

Latest

Choose a tag to compare

@tinchodias tinchodias released this 16 Jul 16:40

This version includes major additions and improvements. This version was used to demo at ESUG'2026.

Changes

Package Consolidation & Refactoring:

  • Package Merges: Merged SDL3-API into SDL3-Own and consolidated GPU code from SDL3-Own and SDL3-ShaderScanner into a new, dedicated SDL3-GPU package.
  • FFI Fixes: Fixed ten CIG-generated functions that had incorrect signatures, and replaced all usages of LibC>>#memCopy with native LibSDL3>>#memcpyDst:src:len:.
  • Memory Initialization: Now explicitly using SDL_memset to safely zero out arrays and FFI structs.
  • Memory Naming Convention: Renamed #asUnownedNewSDL3Surface to #unsafeNewAsSDL3Surface to strictly adhere to the unsafeNew... 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 ...App suffix.
  • Feature Enhancements: Upgraded the SDL3ImageClipboardDemoApp to support copying a Pharo Form directly to the system clipboard!
  • Minor Tweaks: Added color configurations to SDL3Console and 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 OSBenchmarkMorph to 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 isInteractive is true, preventing accidental image crashes when running SUnit from the UI.
  • Test Consolidation: Merged SDL3-Compute-Tests and SDL3-Graphics-Tests into a single SDL3-GPU-Tests package.

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.md to document strict transpiler constraints (std140 padding, Descriptor Spaces).

Merged Pull Requests

Full Changelog: v0.2.0...v0.3.0