1519 Commits

Author SHA1 Message Date
Mario Zechner
68e0a648b8 [libgdx] Port HeadlessTest transition testing support 2026-03-24 21:09:32 +01:00
Nathan Sweet
feceba3cb7 [libgdx] AnimationState improved applyMixingFrom readability. 2026-03-24 12:24:19 -04:00
Nathan Sweet
2c53123666 [libgdx] Fixed snap when a mix completes while later mixes are still in progress.
The limit is a, not 0.
2026-03-24 00:21:16 -04:00
Nathan Sweet
f68e498154 [libgdx] Improved AnimationState hold system. Removed holdPrevious, interruptAlpha. 2026-03-23 23:39:53 -04:00
Nathan Sweet
39fe4692db [libgdx] Animation/AnimationState clean up, javadocs. 2026-03-23 02:50:25 -04:00
Nathan Sweet
2f12895884 [libgdx] Animation fixes. 2026-03-23 01:55:32 -04:00
Nathan Sweet
52c20335e1 [libgdx] Use "placeholder name" instead of "name" for skin keys.
Better matches Spine editor terminology.
2026-03-22 18:09:59 -04:00
Nathan Sweet
4259e86e19 [libgdx] Animation/AnimationState additive improvements.
* Replaced MixBlend and MixDirection with booleans.
* MixBlend.first functionality is no longer needed, cases simplified.
* Timelines know if they support additive or use instant transitions.
* When applying an animation with additive, timelines that don't support additive use the hold system to prevent dipping.
* Additive uses setup pose to prevent accumulation across frames. No longer need to reset additive properties.
* Added TrackEntry#setAdditive(boolean).
* Simplified AnimationState code.
2026-03-22 01:07:56 -04:00
Nathan Sweet
7facce33fe [libgdx] Draw order folder timeline property ID per slot with "all" special case. 2026-03-17 13:25:08 -04:00
Nathan Sweet
29bf262d0a [libgdx] Fix track 0 dip mixing to animation with key > frame 0.
Repro:
1) Open: https://n4te.com/x/3415-test.spine
In Preview:
2) Options, show bones.
3) Disable looping.
4) Play animation 1.
5) Set mix to 1 second.
6) Play animation 2 (key > frame 0).
Expected: 1 to hold, then 2.
Result before fix: 1 dips toward setup pose, then 2.
2026-03-17 13:25:08 -04:00
Mario Zechner
f20ad9ac56 [runtimes] Update examples for 4.3.44-beta exports 2026-03-16 18:38:36 +01:00
Nathan Sweet
409bf9d639 [libgdx] Added SkeletonData#findSliderAnimations. 2026-03-15 16:14:20 -04:00
Nathan Sweet
2059c866ca [libgdx] Fixed AnimationStateTests for discarding a never applied entry.
Behavior changed by commit: 8d5f6c59
2026-03-15 15:53:29 -04:00
Nathan Sweet
0e16ef9c3d [libgdx] Fixed AnimationState EventQueue.drain().
Listener events can resize the array.
2026-03-15 15:33:37 -04:00
Nathan Sweet
cf45806bdd [libgdx] Added DrawOrderFolderTimeline. 2026-03-15 00:14:34 -04:00
Nathan Sweet
831cf1a488 [libgdx] getPathSuffix -> hasPathSuffix. 2026-03-11 00:17:41 -04:00
Nathan Sweet
7ba2bfec77 [libgdx] Fixed AnimationState not applying identically to AttachmentTimeline.
closes EsotericSoftware/spine-editor#947
2026-03-10 21:24:48 -04:00
Nathan Sweet
604a09b3fb [libgdx] Fixed RGB2 and RGBA2 timeline flicker.
Also the `alpha != 1 && blend == setup` was incorrect.

related EsotericSoftware/spine-editor#931
2026-03-10 21:23:45 -04:00
Nathan Sweet
1cef1397c0 [libgdx] Improved SequenceTimeline for RegionAttachment copies, moved timelineAttachment to Attachment. 2026-03-10 13:24:44 -04:00
Mario Zechner
620b306008 [runtimes] Re-export examples with Spine 4.3.40-beta
Updates .json and .skel files to current binary format.
Adds [runtimes] prefix to AGENTS.md for repo-wide changes.
Adds diff.ts pi extension.
2026-03-10 15:32:51 +01:00
Nathan Sweet
8943c84d87 Fixed alpha and RGB timeline flicker.
closes EsotericSoftware/spine-editor#931
2026-03-09 15:34:22 -04:00
Nathan Sweet
3789ec027d [libgdx] Make sequence rendering thread-safe.
closes #2989
2026-03-08 18:47:28 -04:00
Nathan Sweet
b920589757 [libgdx] Revised which timelines support additive.
See: https://esotericsoftware.com/forum/d/28755-constraint-additive-behavior-change-some-limitations/8

related 8c9d3b70f16cebee21e2ceecbea8695148600224
2026-03-08 15:42:36 -04:00
Nathan Sweet
03fabb37b1 [libgdx] Read number of bones for weighted vertices to avoid over allocation. 2026-03-03 18:48:11 -04:00
Nathan Sweet
d5535aa279 [libgdx] Fixed path constraint in binary exports. 2026-03-03 17:55:25 -04:00
Nathan Sweet
8943ac56e0 [libgdx] Add dragon sequence smoke test.
see #2989
2026-03-03 17:03:42 -04:00
Mario Zechner
32e77af46f Update libgdx dependency to 1.14.1-SNAPSHOT 2026-02-27 11:53:19 +01:00
Mario Zechner
06fcd9ecdd [libgdx] Undo changes to .project files 2025-11-19 13:43:55 +01:00
Mario Zechner
18f792543e [godot] Fix attempt for iOS patch 2025-11-19 13:43:08 +01:00
Davide Tantillo
20d5ee63ad [libgdx] Additional changes for per-skin atlases feature. 2025-10-15 09:01:24 +02:00
Davide Tantillo
139fd84d07 [libgdx] Added allowMissingRegions to AtlasAttachmentLoader to support skeletons exported with per-skin atlases. 2025-10-14 12:03:07 +02:00
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