1488 Commits

Author SHA1 Message Date
Nathan Sweet
64ed135e49 [libgdx] Fixed having a physics reset all timeline in a slider animation. 2025-09-24 11:18:30 -06:00
Nathan Sweet
48355c2e71 [libgdx] PhysicsConstraint, fixed incorrect subtraction. 2025-09-11 13:46:57 -06:00
Nathan Sweet
abb436213c [libgdx] PhysicsConstraint, cannot reuse wind/gravity values for rotation. 2025-09-10 20:09:20 -06:00
Mario Zechner
b96e7c2461 [assets] Re-exported and distributed to runtimes 2025-09-11 01:09:23 +02:00
Mario Zechner
3d5a66b5f8 Formatting 2025-08-28 13:57:28 +02:00
Nathan Sweet
18dfa3b634 [libgdx] parseRoot -> parseValue. 2025-08-06 21:02:45 -04:00
Nathan Sweet
3dad8462a3 [libgdx] Use JsonMatcher to parse skeleton JSON. 2025-08-05 20:07:38 -04:00
Harald Csaszar
53fb4bcce4 More URLs in license files updated from http to https. 2025-08-01 17:30:01 +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
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
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
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
0dd86dfdc1 Consistent logging in all Bash scripts via formatters/logging/logging.sh 2025-07-20 20:45:54 +02:00
Mario Zechner
c79031cc75 Remove npx install prompts and rely on auto-download
- Use npx -y for tsx to avoid install prompts
- Remove tsx from devDependencies since we use npx
- Remove npm install checks from format-ts.sh
2025-07-16 05:05:33 +02:00
Mario Zechner
62b38f9da8 Fix TypeScript dependencies and optimize Eclipse formatter build
- Install npm dependencies if node_modules missing
- Only rebuild Eclipse formatter if source is newer than JAR
- Make Eclipse formatter less verbose
2025-07-16 04:58:41 +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
e2212b722f [libgdx] Fat jar task to generate testing jar 2025-07-15 14:32:44 +02:00
Mario Zechner
acbcfeb44d [cpp] Still compute RegionAttachment offsets when the region is null, see #2887
- Includes a massive refactor of the TextureRegion/AtlasRegion hierarchy to be in line with Java implementation
- Exact line by line port of RegionAttachment#updateRegion and MeshAttachment#updateRegion using new region implementations
2025-07-15 14:22:19 +02:00
Mario Zechner
ed58364b51 [libgdx] Clean-up headless test 2025-07-15 10:35:51 +02:00
Nathan Sweet
9272327990 [libgdx] Fixed bone disable inherit scale/reflection. 2025-07-15 00:23:55 -04:00
Nathan Sweet
50bc71f642 [libgdx] Skeleton Viewer: Don't reset camera position when reloading. 2025-07-14 23:44:50 -04:00
Nathan Sweet
a012479fc4 [libgdx] Still compute RegionAttachment offsets when the region is null.
This lets computeWorldVertices work even when there is no region, which can be useful.
2025-07-14 23:44:21 -04: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
6dffb3ea90 [libgdx] Fix VS Code launch config for debug-printer 2025-07-11 13:46:37 +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
Mario Zechner
829b6f4733 [libgdx] Remove .vscode/settings.json 2025-07-08 01:14:34 +02:00
Mario Zechner
06eccd47dd [libgdx] Update gradle wrapper to 8.12, delete Eclipse files on gradle build configuration 2025-07-08 00:02:57 +02:00
Mario Zechner
65d0eec7c5 [cpp] 4.3 porting WIP 2025-07-07 22:57:37 +02:00
Mario Zechner
972a1bc8fc [cpp] 4.3 porting WIP 2025-07-07 21:37:55 +02:00
Nathan Sweet
7bd2f2ebd6 [libgdx] Transform constraint scale is 1 if omitted. 2025-07-04 22:01:43 -04:00
Mario Zechner
c1ba842c15 [cpp] 4.3 porting WIP 2025-07-02 16:16:52 +02:00
Nathan Sweet
89513d0128 [libgdx] UTF8 for Eclipse source. 2025-06-26 12:52:34 -04:00
Davide Tantillo
ad76f09eb4 [libgdx] 4.3 From/To properties scale and unscale using skeleton.scaleX/Y. 2025-06-26 10:53:14 +02: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