10407 Commits

Author SHA1 Message Date
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
Mario Zechner
c22644fb36 [c] Improved null-analysis.ts, handle exclusions, resolve XXXGeneric to XXX in Java. 2025-07-25 14:59:47 +02:00
Mario Zechner
736f5148f1 [c] null-analysis tool. 2025-07-25 14:03:09 +02:00
Mario Zechner
3e622605b3 [c] Ignore nullable.md 2025-07-25 13:21:00 +02:00
Davide Tantillo
c10bc05088 [haxe] Port of commit 25bd863: Reverse IK bend positive logic (#2895).
Requires 4.3.39-beta+.
2025-07-25 09:14:55 +02:00
Davide Tantillo
3bec86e5bd [ts] Port of commit 25bd863: Reverse IK bend positive logic (#2895).
Requires 4.3.39-beta+.
2025-07-25 09:13:30 +02:00
Mario Zechner
0267eaf60e [flutter] spine_flutter.dart -> Flutter specific stuff, spine_dart.dart -> Dart only stuff, clean separation for headless-test.dart 2025-07-25 02:43:24 +02:00
Mario Zechner
5f7daaf61b [flutter] FIx headless test imports 2025-07-25 02:24:54 +02:00
Mario Zechner
f85b3c1f19 [flutter] spine_flutter.dart -> spine_dart.dart, api.dart in generated pulling in all modules 2025-07-25 02:22:48 +02:00
Mario Zechner
6ad01acc6a [flutter] Use new loading infra from spine-c 2025-07-25 02:19:53 +02:00
Mario Zechner
da70193a36 [c] Refactor atlas loading, fix up API consumers 2025-07-25 02:12:14 +02:00
Mario Zechner
ce12249682 [cpp] Use stl unordered_map if STL is available in Debug.h (faster) 2025-07-25 01:20:53 +02:00
Mario Zechner
9c8119718b [dart] types are not Finalizable, invoke formatters/format-dart.sh, build test spine_flutter shared lib 2025-07-25 01:13:29 +02:00
Mario Zechner
d91dc74cb4 [dart] Formatting 2025-07-25 00:41:03 +02:00
Mario Zechner
4a7bf7c12d [flutter] Working dart-writer plus headless smoke test 2025-07-25 00:32:34 +02:00