10347 Commits

Author SHA1 Message Date
Mario Zechner
94e5e74e8a [cpp] AtlasRegion::getName returns const String & instead of String. 2025-07-24 12:23:16 +02:00
Mario Zechner
33dd153c2b [dart] Fix remaining dart-writer issues, apply dart fix at the end of generation to clean up superfluos imports in generated files. 2025-07-24 11:45:49 +02:00
Mario Zechner
4d19a6ac81 [dart] Fix spine_flutter.dart generation 2025-07-24 01:15:40 +02:00
Mario Zechner
0d92c5d21e [c] Fix main module check 2025-07-24 01:15:09 +02:00
Mario Zechner
5c33aed9d6 [flutter] Wrapper and binding generator complete. 2025-07-24 00:53:47 +02:00
Mario Zechner
003e5a4d78 [c] Fix handling of PropertyId arrays 2025-07-24 00:37:13 +02:00
Davide Tantillo
0566f2aee5 [ts] Formatting. 2025-07-22 17:07:08 +02:00
Davide Tantillo
9697fb2891 [ts][canvaskit] Use Uint32Array for colors to avoid canvaskit to allocate one each vertices creation.
# Conflicts:
#	spine-ts/spine-canvaskit/example/headless.js
#	spine-ts/spine-canvaskit/src/index.ts
2025-07-22 16:23:20 +02:00
Davide Tantillo
5826c4b1cf [ts][canvaskit] Properly fix vertices info misalignment that led to crash when clipping (0b426772).
# Conflicts:
#	spine-ts/spine-canvaskit/src/index.ts
2025-07-22 16:11:27 +02:00
Davide Tantillo
1f813f8c29 [ts][canvaskit] Fix headless example. 2025-07-22 16:00:40 +02:00
Davide Tantillo
cb9bdc8294 [ts] Add missing js extension on imports. 2025-07-22 16:00:40 +02:00
Davide Tantillo
0099c9b03a [ts][webgl][player] Dispose ManagedWebGLRenderingContext. 2025-07-22 16:00:40 +02:00
Mario Zechner
b2f22c6970 [c] BonePose RTTI 2025-07-22 10:39:51 +02:00
Mario Zechner
4e12c6c48a Update project-description.md 2025-07-22 02:19:52 +02:00
Mario Zechner
c7af1a3438 [cpp] Fix C++ clipping triangle skipping and control flow bugs
- Remove erroneous i+=3 increment in SkeletonClipping.cpp that caused triangle skipping
- Add missing continue statement to match Java reference implementation behavior
- Portal animation now renders correctly with proper triangular clipping
2025-07-22 02:09:01 +02:00
Mario Zechner
235aa7b928 [tests] No explicit skeleton.setupPose() call. 2025-07-22 02:09:01 +02:00
Mario Zechner
ddf4c50954 [cpp] Call setupPose() in PosedGeneric constructor, to mirror what we do in Java. 2025-07-22 02:09:01 +02:00
Mario Zechner
ed5bb5b566 [cpp] Fix RTTI of BonePose 2025-07-22 02:09:01 +02:00
Mario Zechner
6f81d43faa [cpp] Enhance circular reference display with deterministic object identifiers
Replace "<circular>" with meaningful reference strings using a hybrid approach:
- Objects with names: <EventData-walk>, <BoneData-head>, <Animation-run>
- Objects without names: <TrackEntry-1>, <Bone-2>, <SliderTimeline-3>

Each serialized object now includes "refString" as its first field, enabling
easy navigation from circular references to full object definitions.
2025-07-22 02:09:01 +02:00
Mario Zechner
64d55dde21 Improve bash script logging with automatic indentation and script names
- Add automatic nesting detection using SHLVL and terminal detection
- Indent log output when scripts call other scripts (log_action, log_warn, log_detail)
- Add script filename to log_title for better traceability
- Update documentation with indentation examples
- Use portable approach that works across bash, zsh, and different platforms

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-22 00:20:41 +02:00
Nathan Sweet
f0b5f67f1f [libgdx] Use image and audio paths as is.
They are null if empty 4.3.39-beta+.
2025-07-21 15:39:09 -04:00
Nathan Sweet
25bd863549 [libgdx] Reverse IK bend positive logic.
This matches SkeletonJson for 1-bone IK. Requires 4.3.39-beta+.
2025-07-21 15:30:25 -04:00
Mario Zechner
ce1fec0cb0 Remove diff output from test runner - only report file differences
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 12:11:15 +02:00
Mario Zechner
fb821ec443 Formatting 2025-07-21 03:37:09 +02:00
Mario Zechner
970831044c Disable binary file comparison for now - focus on JSON compatibility
C++ binary parsing has major issues that need separate investigation.
JSON compatibility is working correctly.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 03:35:26 +02:00
Mario Zechner
7af05f23a5 Add spine-libgdx build step for fat jar dependency
Fat jar task requires main spine-libgdx jar to exist first.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 03:32:35 +02:00
Mario Zechner
b25ae0e80d [c] Update Rust README.md 2025-07-21 03:08:45 +02:00
Mario Zechner
aa6b33b626 [c] bindgen based bindings for Rust 2025-07-21 03:05:47 +02:00
Mario Zechner
715abbc171 [c] Force cc to not link to stdc++ 2025-07-21 02:57:33 +02:00
Mario Zechner
b171e10da6 Fix test runner to properly detect and build fat jar
- Look specifically for spine-headless-test-*.jar instead of any jar
- Ensures fat jar with all dependencies gets built and used
- Revert workflow to let test runner handle jar building

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 02:50:38 +02:00
Mario Zechner
d93407cfe7 [c] Rust FFI + no-cpprt POC 2025-07-21 02:49:46 +02:00
Mario Zechner
f9b80e0db4 Fix C++ compatibility workflow: build fat jar with libgdx dependencies
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 02:48:54 +02:00
Mario Zechner
0639937993 Fix C++ compatibility workflow: build spine-libgdx first
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 02:45:55 +02:00
Mario Zechner
2f7111b0c5 Add C++ runtime compatibility test workflow
Verifies C++ runtime produces identical skeleton data output to Java reference implementation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 02:43:41 +02:00
Mario Zechner
7fdb5906e4 [cpp] Fix hash construction in SkeletonBinary 2025-07-21 02:38:47 +02:00
Mario Zechner
45c60efd6a [cpp] Fix rotated region handling, EventData::volume default value. 2025-07-21 02:35:36 +02:00
Mario Zechner
d0d77b68ae [cpp] Fix BoundingBoxAttachment default color 2025-07-21 01:41:54 +02:00
Mario Zechner
6090b2da22 [spine-c] Make destructors excludable (needed for spine_atlas_dispose which is overwritten in extensions.cpp) 2025-07-21 01:01:42 +02:00
Mario Zechner
ab469cbefd [tests] headless-test-runner.ts with language specific fixes (e.g. icon: null (Java) > icon: "" (C++), C++ JSON will have null as well) 2025-07-21 00:58:43 +02:00
Mario Zechner
1a10d185a3 [cpp] Smoke tests 2025-07-20 22:42:16 +02:00
Mario Zechner
6a621f0cc1 Rename logging doc 2025-07-20 22:08:28 +02:00
Mario Zechner
1efd045a83 Final clean-up of all Bash scripts except examples/**/*.sh and spine-godot/build/*.sh 2025-07-20 22:07:17 +02:00
Mario Zechner
f2fced8bf8 Fix logging in various Bash scripts 2025-07-20 21:35:19 +02:00
Mario Zechner
d409ff23ff Fix format-xx.sh files wrt logging, add proper Swift formatting configuration. 2025-07-20 21:31:07 +02:00
Mario Zechner
0dd86dfdc1 Consistent logging in all Bash scripts via formatters/logging/logging.sh 2025-07-20 20:45:54 +02:00
Mario Zechner
2036aa3e76 [cpp] Fix double free crash in SkeletonBinary::readSkeletonDataFile, add terminal logging utilities and style guide, add nostdcpp 2025-07-20 20:19:07 +02:00
Mario Zechner
aaca02ad81 [cpp] nostdlib build to be used with WASM and other environments that do not want stdlibc++ linked in. 2025-07-20 14:20:40 +02:00
Mario Zechner
3927ff25ff [ts] Fix lints in HeadlessTest 2025-07-20 06:51:37 +02:00
Harald Csaszar
75e58c70ce [unity] Fixed SkeletonGraphic shader texcoord precision issue. Closes #2892. 2025-07-18 19:22:53 +02:00
Harald Csaszar
f5d728d49d [monogame] Minor cleanup, removed ColorUnity from project. 2025-07-16 20:23:24 +02:00