Highlights
- Added
SetCostumeByNameOrIndex,PenColorParamFromString, and run-without-screen-refresh support, while improving Scratch SVG text handling and legacy pen hue/shade behavior. - Fixed runtime semantics across touching queries, tween execution, numeric comparison, clone state/layering, ask dialog behavior, audio playback, and pen rendering.
- Bundled the
spx2.2.4Godot runtime, bringing bulk sprite transform sync, corrected pixel collision sampling, Scratch-aligned touching and point hit testing, immediatemove_topen drawing,KeyAnyinput support, standalone pen points, and warp-time pen refresh batching. - Refined tooling and release workflows with better Godot import handling, simpler template editor setup, refreshed docs, and the SPX
v2.0.4release metadata mapping.
What's Changed
Features
- Added
SetCostumeByNameOrIndexto theSpriteinterface by @go-wyvern in #1611 - Added
PenColorParamFromStringtogame_utilby @fennoai[bot] in #1616 - Supported run-without-screen-refresh mode by @joeykchen in #1635
- Supported fullwidth Latin characters in Scratch SVG text by @joeykchen in #1626
- Aligned Scratch legacy pen hue and shade behavior by @joeykchen in #1649
Fixes
- Synced dirty proxy transforms before touching queries by @joeykchen in #1606
- Avoided hanging Godot import during CI web builds by @joeykchen in #1607
- Improved Godot import diagnostics and added missing font import metadata by @joeykchen in #1615
- Ignored hidden and ghosted sprites in collision queries by @joeykchen in #1617
- Simplified template project editor workflow by @joeykchen in #1620
- Aligned tween execution with Scratch semantics by @joeykchen in #1622
- Skipped fully ghosted sprites in click selection by @joeykchen in #1625
- Split mouse sensing from click hit testing by @joeykchen in #1627
- Logged
objectPoslookup failures instead of panicking by @joeykchen in #1628 - Preserved cloned sprite user state after
Mainreinit by @joeykchen in #1629 - Parsed compound-sign numeric strings by @joeykchen in #1630
- Aligned reversed rand bounds with Scratch behavior by @joeykchen in #1631
- Drew repeated pen-down strokes at the current position by @joeykchen in #1636
- Initialized default pen color components by @joeykchen in #1639
- Added Scratch-style compare helpers by @joeykchen in #1640
- Normalized empty ask dialog behavior by @joeykchen in #1641
- Fixed audio playback lifetime and pitch effect behavior by @joeykchen in #1642
- Unwrapped
Valuebefore numeric compare by @joeykchen in #1643 - Kept cloned sprites above their source by @joeykchen in #1648
- Reverted the SPX-side collision filtering change by @joeykchen in #1618
Compatibility
- Bundled the
spx2.2.4runtime release, including bulk sprite transform sync, corrected pixel collision sampling, Scratch-aligned touching and point hit testing, immediatemove_topen drawing, preserved pen-down state aftererase_all,KeyAnyinput support, standalone pen points, and warp-time pen refresh batching. Runtime-side implementation details are included in the linked Godot release.
Refactors
- Scoped builder AI support to the
spxcommand by @joeykchen in #1609 - Simplified tween cleanup flow by @joeykchen in #1624
- Removed the
ChangeLayerpublic API by @joeykchen in #1632
Tooling
- Tuned Dependabot update batching by @joeykchen in #1608
- Unified component comment style by @joeykchen in #1623
- Used a macOS SDK-aware toolchain for Go builds by @joeykchen in #1634
- Added the SPX
v2.0.4release metadata mapping by @joeykchen in #1650
Docs
- Refreshed the developer documentation by @joeykchen in #1619