10521 Commits

Author SHA1 Message Date
Mario Zechner
1570962903 [flutter] Fix Flame examples, AppDelegate warning on macOS, debug logging in AnimationStateEventManager 2025-07-30 09:57:57 +02:00
Mario Zechner
4225214caf [flutter] macOS/iOS builds, fixed examples wrt new API 2025-07-30 09:44:13 +02:00
Mario Zechner
83f5bd0e0a [cpp] pEvents -> events, extensions for BonePose and Skeleton returning spine_vector. 2025-07-30 09:42:11 +02:00
Mario Zechner
f6fbbabd6b [cpp] pEvents -> events 2025-07-30 09:41:42 +02:00
Mario Zechner
f1353f2c6d [flutter] SkeletonDrawable.update() needs to update skeleton and world transform 2025-07-30 00:50:11 +02:00
Mario Zechner
4eddd24787 [flutter] AnimationStateEventsManager for idiomatic animation state listeners, Flutter versions of Atlas, SkeletonDrawable, RenderCommand for convenience. 2025-07-30 00:44:12 +02:00
Mario Zechner
09969f5649 [c] spine_skeleton_get_bounds extension returning spine_bounds struct 2025-07-30 00:43:01 +02:00
Mario Zechner
65f01fefb9 [cpp] Skeleton::getBounds() without scratch buffers 2025-07-30 00:42:27 +02:00
Mario Zechner
31652b4022 [c] Expose TrackEntry::getAnimationState in C bindings. 2025-07-29 23:16:17 +02:00
Mario Zechner
fe5e25c3a0 [cpp] Added TrackEntry::getAnimationState(), wired up when TrackEntry is obtained from pool in AnimatinState::newTrackEntry 2025-07-29 23:15:38 +02:00
Mario Zechner
0e5de94529 [flutter] handle implicit enum values in codegen, extension for animation state listeners + test 2025-07-29 22:52:06 +02:00
Mario Zechner
71eb86c15e [c] spine_animation_state_events_* extension functions. 2025-07-29 22:51:34 +02:00
Mario Zechner
001f4d384f [flutter] Skin.getEntries() extension 2025-07-29 22:19:04 +02:00
Mario Zechner
fd939f4401 [c][cpp] SpineExtension::strdup convenience method, better spine_skin_entries api in spine-c extensions 2025-07-29 22:18:42 +02:00
Mario Zechner
48081c7f20 [tests][haxe] WIP of SkeletonSerializer for Haxe 2025-07-29 21:39:14 +02:00
Mario Zechner
58f5d24758 [flutter] Clean-up of extensions, docs for codegen 2025-07-29 21:39:14 +02:00
Davide Tantillo
6927995767 [haxe] Removed lime dependency from Skeleton.hx 2025-07-29 18:05:18 +02:00
Mario Zechner
108f9bf355 [haxe] Plan for serializer generator 2025-07-26 09:19:10 +02:00
Mario Zechner
3e67c82a22 [cpp] Fix UB in attachment timeline binary parsing 2025-07-26 02:17:18 +02:00
Mario Zechner
75420e196a Switch C++ compatibility workflow to Ubuntu 22.04
Ubuntu latest (24.04) shows memory corruption in binary parser
that doesn't reproduce locally. Try older Ubuntu version.
2025-07-26 01:44:17 +02:00
Mario Zechner
dd32f8888b [tests] Add diff output to C++ compatibility workflow
When C++ compatibility tests fail, show unified diffs between
Java and C++ output files for both JSON and SKEL formats:
- skeleton-data comparisons for both formats
- skeleton-state comparisons for both formats

This provides immediate visibility into compatibility issues
without requiring manual artifact download and comparison.
2025-07-26 01:35:18 +02:00
Mario Zechner
022f7b6113 [cpp] And back to new bendDirection IK behaviour 2025-07-26 01:31:46 +02:00
Mario Zechner
d2c9442612 [tests] Use sanitizers for C++ 2025-07-26 01:27:04 +02:00
Mario Zechner
cfcca956fa [cpp] Support sanitizers again 2025-07-26 01:26:39 +02:00
Mario Zechner
9b778bc508 [cpp] Fix SkeletonBinary::readLong() UB, revert bendDirection fix again ... 2025-07-26 01:18:47 +02:00
Mario Zechner
691f55a315 [cpp] Temporarily remove IK bendDirection fix in SkeletonBinary 2025-07-26 00:54:39 +02:00
Mario Zechner
73da9ff5e3 [tests] Added Docker based testing script to also be able to test on Linux. 2025-07-26 00:24:28 +02:00
Mario Zechner
24e4f39d45 [flutter] Regenerated bindings 2025-07-26 00:24:10 +02:00
Mario Zechner
17e843bc95 [cpp] Reverse IK bend positive logic.
This matches SkeletonJson for 1-bone IK. Requires 4.3.39-beta+.
2025-07-26 00:19:55 +02:00
Mario Zechner
6573924a22 Disable fail-fast in C++ compatibility matrix
Allow both Ubuntu and macOS jobs to complete even if one fails
to collect artifacts and diffs from both platforms

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 00:02:03 +02:00
Mario Zechner
61473763a2 Add macOS support to C++ compatibility workflow
- Convert to matrix build with ubuntu-latest and macos-latest
- Add platform-specific dependency installation steps
- Separate artifact names by OS for easier debugging

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 23:55:29 +02:00
Mario Zechner
b2a277781a Remove combined formatting workflow
Use individual language-specific workflows instead

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 23:48:26 +02:00
Mario Zechner
bc9732f0a1 Split formatting workflow into separate language-specific workflows
- Add individual workflows for C++, C#, Dart, Haxe, Java, and TypeScript
- Each workflow runs independently for faster testing and debugging
- Rename original workflow to indicate it's the combined version

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 23:47:11 +02:00
Mario Zechner
66a9860c94 Update Flutter generated bindings
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 23:44:53 +02:00
Mario Zechner
88d6ccade2 Add debug workflow to investigate formatting differences 2025-07-25 23:40:03 +02:00
Mario Zechner
619c076da2 Add spine-c bindings check automation
- Add generate-all-bindings.sh script with logging support
- Add GitHub Action to check if spine-c bindings are up-to-date
- Update spine-flutter/generate-bindings.sh to use logging.sh
- Action only runs on branches >= 4.3 (including beta versions)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 23:31:07 +02:00
Mario Zechner
03757139cd [flutter] codegen now uses nullability info from spine-c ir-generator to make return and parameter types optional if necessary. 2025-07-25 22:50:54 +02:00
Mario Zechner
7534416489 [c] Fix nullability evaluation for return and parameter types. type contains * and no &? nullable 2025-07-25 22:50:11 +02:00
Mario Zechner
a0bcb01a2a [cpp] Fix inconsistens getters/setters wrt nullability 2025-07-25 22:20:02 +02:00
Mario Zechner
65b138411c [c] Add check to codegen for setter/getter pairs with inconsistens nullability (one nullable, the other not) 2025-07-25 22:16:13 +02:00
Mario Zechner
92022e9c76 [glfw] Fix compilation errors due to nullability 2025-07-25 22:05:10 +02:00
Mario Zechner
85aab233ee [c] Constructor nullability. 2025-07-25 22:02:43 +02:00
Mario Zechner
854b6f9a2a [cpp] Constructor nullability. 2025-07-25 22:00:52 +02:00
Mario Zechner
364d3ff5c7 [c] Add constructors to null-analysis.ts 2025-07-25 21:54:45 +02:00
Mario Zechner
e1ac3fc8e2 Add last-nullable.md as backup of current nullable analysis
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 20:58:15 +02:00
Mario Zechner
4ccce0436c Formatting 2025-07-25 20:49:41 +02:00
Mario Zechner
4e875bc17f [c] ir-generator now evalutes nullability in spine-cpp based on pointer (nullable) or reference (non-nullable) 2025-07-25 20:49:26 +02:00
Mario Zechner
861eac1c1b [c] References for non-nullable arguments and return types, pointers for nullable args and return types 2025-07-25 20:21:39 +02:00
Mario Zechner
3d244f308e [tests] Compare state files as well 2025-07-25 17:12:51 +02:00
Mario Zechner
71949ec2a0 [test] cpp serializer generator needs to emit writeXXX(const <Type> &value) for type switching methods like writeVertexAttachments 2025-07-25 16:11:21 +02:00