206 Commits

Author SHA1 Message Date
Mario Zechner
b96e7c2461 [assets] Re-exported and distributed to runtimes 2025-09-11 01:09:23 +02:00
Nathan Sweet
59a9d31c83 [libgdx] Restored project files.
Reverts: [workflows] Add diff artifact to dart format check for debugging 106c39d0af7045eca89ebd080b37ea2c56bb3082.
2025-07-31 17:29:26 -04:00
Nathan Sweet
3fa62b2550 [libgdx] Prefer JDK StringBuilder. 2025-07-31 17:25:35 -04:00
Mario Zechner
106c39d0af [workflows] Add diff artifact to dart format check for debugging 2025-07-31 21:32:13 +02:00
Mario Zechner
235aa7b928 [tests] No explicit skeleton.setupPose() call. 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
fb821ec443 Formatting 2025-07-21 03:37:09 +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
a7a5531899 [libgdx] Eclipse formatter instead of Spotless/Gradle 2025-07-16 02:19:09 +02:00
Nathan Sweet
0adcacaf13 [libgdx] Added gdx-backend-headless to spine-libgdx-tests. 2025-07-15 12:47:32 -04:00
Mario Zechner
0c74907da2 [tests] Improve snapshot testing infrastructure
- test.sh which given a language builds the headless test executable and runs the test with the given inputs
- generate-serializers.sh to (re-)generate all language specific serializers
- Improved README.md
- Removed headless-test-runner.ts, now fully expressed in more concise test.sh
2025-07-15 15:13:45 +02:00
Mario Zechner
ed58364b51 [libgdx] Clean-up headless test 2025-07-15 10:35:51 +02:00
Mario Zechner
bd5b032619 [tests] ir-based serializer generator for C++ 2025-07-13 04:23:57 +02:00
Mario Zechner
4bf777a658 [tests] serializer ir generator, ir-based java serializer generator 2025-07-13 03:31:20 +02:00
Mario Zechner
429ed9dd3b [tests] Complete C++ SkeletonSerializer auto-generation from Java
- Implement comprehensive C++ serializer generator (tests/generate-cpp-serializer.ts)
- Direct transformation of Java SkeletonSerializer to C++ header-only implementation
- Handle all C++-specific API differences:
  * Field access patterns (obj.field → obj->field, private fields → obj->_field)
  * Null check removal for reference-returning methods (getBones, getEdges)
  * Nested array null check elimination (getVertices, getDrawOrders)
  * Enum serialization via switch statements replacing .name() calls
  * Custom function replacement system for C++-specific implementations
- Add specialized C++ implementations:
  * writeColor: handle public Color fields (r,g,b,a without underscore)
  * writeSkin: iterate AttachmentMap::Entries and call writeSkinEntry
  * writeSkinEntry: handle AttachmentMap::Entry instead of Java SkinEntry
- Auto-generate both pointer and reference versions of all write methods
- Create JsonWriter.h as header-only port of Java JsonWriter
- Update HeadlessTest.cpp to use generated SkeletonSerializer
- Add comprehensive type analysis and enum mapping from analysis-result.json
- Implement exclusion system for filtering unwanted types/methods
- Fix Java generator nested array null checks that were incorrectly hardcoded

Generated C++ serializer produces identical JSON output to Java reference implementation.
2025-07-13 02:06:44 +02:00
Mario Zechner
3183c0b383 [tests] Auto-generation of Java SkeletonSerializer 2025-07-12 02:24:14 +02:00
Mario Zechner
73a17e88c9 [tests] DebugPrinter -> HeadlessTest 2025-07-11 14:16:24 +02:00
Mario Zechner
d973417106 [tests] Fix locale in all debug printers, add tests/README.md, build if sources changed in compare-with-reference-impl.ts 2025-07-11 13:17:15 +02:00
Mario Zechner
4e3d2be023 [c][cpp][libgdx] Launch configs for debug-printer 2025-07-11 12:33:02 +02:00
Mario Zechner
9ee4d6c40e [libgdx] Add DebugPrinter program, add runDebugPrinter task to build.gradle 2025-07-11 11:03:04 +02:00
Mario Zechner
b69e2ca708 [libgdx] Update Eclipse and Gradle source/target compat to Java 17 2025-07-08 01:41:13 +02:00
Nathan Sweet
89513d0128 [libgdx] UTF8 for Eclipse source. 2025-06-26 12:52:34 -04:00
Nathan Sweet
f4f1ea1fd9 Ran: examples/export/runtimes.sh 2025-06-20 15:56:02 -04:00
Nathan Sweet
17b74d740f Exported example projects with 4.3.37-beta. 2025-06-20 15:55:39 -04:00
Nathan Sweet
43a3176db2 [libgdx] Reorder static public qualifiers. 2025-06-01 09:47:22 -04:00
Nathan Sweet
4db43da678 [libgdx] Pose the skeleton for FboTest. 2025-05-31 12:43:48 -04:00
Nathan Sweet
70d0171468 * Added food-app example project.
* Updated mix-and-match to fix blue dress sleeve.
* Changed export scripts to pack polygons for most PRO projects.
* Re-exported projects.
2025-05-20 19:54:49 -04:00
Nathan Sweet
b263728502 * Exported examples with 4.3.15-beta.
* Fixed spine-unity/raptor.
* Resized the largest image down by 0.5, scaled by 2 in projects.
2025-04-27 16:26:36 -04:00
Nathan Sweet
1f92218c23 [libgdx] Give all arrays types, direct array access, removed casts. 2025-04-18 12:44:11 -04:00
Nathan Sweet
fff1606b6d [libgdx] Added Posed and other base classes. Renamed BoneLocal/Pose. Removed skeleton fields, prefer passing. 2025-04-16 23:14:08 -04:00
Nathan Sweet
cab5944663 [libgdx] SlotPose and other refactoring. 2025-04-15 12:09:40 -04:00
Nathan Sweet
71ef2d5f98 [libgdx] Separate pose and applied for bones, slots, and constraints, sliders WIP. 2025-04-12 22:09:24 -04:00
Nathan Sweet
f08d58dc98 License header update. 2025-04-05 13:42:13 -04:00
Nathan Sweet
3b78925ca8 [libgdx] Eclipse classpath updated to Java 16. 2025-03-30 06:29:11 +02:00
Nathan Sweet
a68a509076 [libgdx] Updated to Java 16 with libgdx's Eclipse null analysis settings. 2025-03-29 17:57:10 -04:00
Luke Ingram
e9cce58a1f [libgdx] Updates the Spine Runtimes License Agreement date, updates links to documentation. 2024-12-09 19:02:05 -04:00
Nathan Sweet
55e8cd3880 [libgdx] Increased minimum Java version to 1.8. 2024-11-06 21:56:32 -10:00
Nathan Sweet
4214e8a8e6 [libgdx] Added an example for SkeletonActor. 2024-05-17 10:23:36 -04:00
Mario Zechner
a911384e67 Re-export examples and copy to runtimes 2024-05-16 16:08:40 +02:00
Davide Tantillo
b3435430b8 [examples] Updated mix-and-match not inheriting rotation on feet 2024-05-03 09:24:01 +02:00
Mario Zechner
26d9dee67c [libgdx] Fix example, prepare for Maven release 2024-04-16 15:39:17 +02:00
Mario Zechner
ff9a6cde8b [godot] Fix runtime.sh and export.sh scripts. Reexport all assets with latest editor version. 2024-04-09 11:03:10 +02:00
Mario Zechner
7446227041 Updated sack project in all runtime examples using it. 2024-04-03 13:50:49 +02:00
Mario Zechner
32952de12d [cpp] Fixed parsing, physics, re-exported all assets and copied to runtime examples. 2024-04-02 17:51:14 +02:00
Mario Zechner
6bcef32208 [libgdx] Added physics examples 2024-03-19 12:04:52 +01:00
Mario Zechner
dcb73ec24e Updated example exports 2024-03-19 10:04:06 +01:00
Nathan Sweet
ecbc6329a9 Updated example exports to 4.2.32-beta. 2024-03-07 22:41:09 -04:00
Nathan Sweet
ec1d6028c0 [libgdx] Added skeleton.update(delta) to examples, even when physics is not used.
Missed one.
2024-01-18 10:32:37 -04:00
Nathan Sweet
55550c3490 [libgdx] Added skeleton.update(delta) to examples, even when physics is not used. 2024-01-18 09:57:20 -04:00
Nathan Sweet
92986788c1 [libgdx] Changed SimpleTest1 back to JSON. 2024-01-10 16:42:12 -04:00