10494 Commits

Author SHA1 Message Date
Mario Zechner
b9743fde46 Update README.mds 2025-08-28 18:18:36 +02:00
Mario Zechner
254c586beb Ignore GeneratedPluginRegistrant files when checking for format changes
These are auto-generated files that can change when running flutter pub get
and shouldn't fail the formatting check.
2025-08-28 14:49:20 +02:00
Mario Zechner
c26c163d73 Switch to flutter-actions/setup-flutter@v4 with Flutter 3.32.6
Matches local Flutter version to ensure consistent dart formatting
2025-08-28 14:44:07 +02:00
Mario Zechner
d101de294d Use Flutter SDK instead of standalone Dart to resolve packages
The issue is that the Dart packages reference Flutter SDK, so we need
Flutter installed to properly resolve dependencies and avoid formatting
differences.
2025-08-28 14:37:24 +02:00
Mario Zechner
1c1ddebe7e Fix path for dart pub get - needs to run in spine-flutter directory 2025-08-28 14:32:21 +02:00
Mario Zechner
edebabe5a4 Simplify fix: use dart pub get to resolve packages before formatting
The issue was that dart format applies different rules when it can't resolve
analysis_options.yaml dependencies. Using dart pub get (instead of flutter pub get)
avoids needing to install Flutter SDK in CI.
2025-08-28 14:29:53 +02:00
Mario Zechner
6cfffdf52e Fix dart formatting issue by installing Flutter and resolving packages
The formatting discrepancy was caused by missing Flutter packages in CI.
When analysis_options.yaml references flutter_lints but packages aren't resolved,
dart format uses different formatting rules than when packages are available.
2025-08-28 14:27:18 +02:00
Mario Zechner
f2997e5c13 Add more debugging to understand dart format behavior 2025-08-28 14:25:01 +02:00
Mario Zechner
c95341ec2b Add debugging information to dart format check workflow 2025-08-28 14:21:35 +02:00
Mario Zechner
2789f62692 Run dart formatting check on macOS runner
Same Dart formatter version produces different results on macOS and Linux ...
2025-08-28 14:15:44 +02:00
Mario Zechner
75e7a77e4c Ensure correct clang-format version in CI 2025-08-28 14:06:15 +02:00
Mario Zechner
3d5a66b5f8 Formatting 2025-08-28 13:57:28 +02:00
Mario Zechner
7d7d43843c [sfml] Clean-up and refactoring. 2025-08-28 13:38:51 +02:00
Davide Tantillo
24c7ac0edd [ts][pixi-v8] Removed unused import. 2025-08-27 17:05:36 -06:00
Davide Tantillo
0e56e4b5e6 [ts][pixi-v8] Updated PixiJS to 8.12 to prevent deprecation warnings. See #2909. 2025-08-27 14:02:22 -06:00
Davide Tantillo
8106e656e4 [ts][pixi-v8] Prevent rendering of attachments with alpha 0. See #2912. 2025-08-27 13:39:58 -06:00
Mario Zechner
8d280e93e2 [sdl][glfw] Old and new docs 2025-08-27 13:42:59 +02:00
Mario Zechner
8118d7ff55 [glfw] renderer_draw_lite -> renderer_draw_c 2025-08-27 13:00:45 +02:00
Mario Zechner
b34a0b33f8 [glfw] Updated README.md 2025-08-27 12:51:35 +02:00
Mario Zechner
d253820cf4 generate-all-bindings.sh -> generate-bindings.sh 2025-08-27 12:48:01 +02:00
Mario Zechner
cf39537518 [sdl] Formatting 2025-08-27 12:47:18 +02:00
Mario Zechner
e55be33c1e [cocos2dx] Removed cocos2dx 2025-08-27 12:43:18 +02:00
Mario Zechner
927e2e8f3f [sdl] Updated to latest spine-cpp/spine-c 2025-08-27 12:42:27 +02:00
Mario Zechner
37fef98fd2 feat(spine-ios): Add bindings generation script and remove CocoaPods support
- Add generate-bindings.sh script similar to spine-flutter
- Remove outdated CocoaPods example and podspecs
- Remove setup.sh (no longer needed as we use symlinks)
- CocoaPods users should use Swift Package Manager instead
2025-08-27 11:42:40 +02:00
Mario Zechner
ab53d271a4 feat(spine-ios): Add memory leak detection and fix PMA handling
- Enable debug extension on app startup for leak detection
- Add reportLeaks() calls when example views disappear
- Fix PMA flag handling by reading it from atlas page instead of hardcoding to false
- Add manual dispose() method to SpineController for explicit cleanup if needed

Note: SwiftUI view caching may show false positive leaks when views disappear,
as SwiftUI keeps views in memory for performance until they're truly no longer needed.
2025-08-27 11:21:23 +02:00
Mario Zechner
cb62bd70c0 feat(spine-ios): Add Objective-C support to generated Swift bindings
- Add NSObject inheritance to root classes for ObjC compatibility
- Add @objc(Spine<ClassName>) and @objcMembers annotations to all classes
- Fix property name conflicts (className -> rttiClassName, hash -> hashString)
- Use @nonobjc on subclass initializers to avoid selector conflicts
- Fix convenience init override modifiers
- Update ObjC example to use new API method names
- Update test to use rttiClassName property
2025-08-27 10:58:23 +02:00
Mario Zechner
81c9f5630a [ios] Fix SkeletonDrawableWrapper.update() to call directly into the drawable. 2025-08-26 17:38:08 +02:00
Mario Zechner
500c30319a [cpp] Remove spine-cpp-lite, superceeded by spine-c 2025-08-26 17:35:31 +02:00
Mario Zechner
9b345068b6 feat(spine-ios): Update SpineiOS and Example to work with new SpineSwift generated bindings
- Remove AnimationStateWrapper (no longer needed with new SpineSwift API)
- Replace Spine.Generated+Extensions.swift with simplified SpineSwiftExtensions.swift
- Update SpineiOS to use SpineSwift API instead of direct SpineC calls
- Fix namespace conflicts (ContentMode → SpineContentMode, Alignment → SpineAlignment)
- Update texture mapping to use atlas page index from RenderCommand pointer
- Fix all Example app API calls to match new SpineSwift generated API:
  - setAnimationByName → setAnimation
  - addAnimationByName → addAnimation
  - slot.color → slot.appliedPose.color.set()
  - EventType enum cases instead of constants
  - Physics enum with qualified name to avoid conflicts
  - setSkin2() instead of property assignment
  - Array iteration using indices instead of for-in
  - bone.worldX → bone.appliedPose.worldX
- Update Objective-C imports from Spine to SpineiOS module

Note: SimpleAnimationViewController.m still needs updates for full ObjC compatibility
2025-08-26 17:35:31 +02:00
Harald Csaszar
32a8552387 [unity] Update UI Toolkit package to 4.3-beta code changes. 2025-08-21 16:29:27 +02:00
Harald Csaszar
4add7da011 [csharp] Port of commit 7bd2f2e: Transform constraint scale is 1 if omitted. 2025-08-20 21:15:34 +02:00
Harald Csaszar
f2d9edd830 [csharp] Removed leftover unnecessary statement. 2025-08-19 19:05:41 +02:00
Mario Zechner
f1d98393d5 fix(spine-ios): Fix memory management and complete test implementation
- Changed code generator to emit dispose() methods instead of deinit
- Add override keyword for dispose() in subclasses
- Keep deinit with _ownsMemory check for array types
- Fix SkinExtensions to use correct C++ class names for attachments
- Complete skeleton_drawable_test implementations with no warnings
- Add comprehensive bone pose transformation tests
- Fix skin entries test to properly show attachments

The memory management fix prevents Swift wrappers from accidentally
disposing C++ objects they don't own when created via fromPointer.
2025-08-16 21:24:13 +02:00
Davide Tantillo
1309058850 [ts] Allow setSkin to accept null to unset skins. 2025-08-14 11:16:08 +02:00
Harald Csaszar
78f9e63420 [unity] Added option to BoneFollower components to follow attachment Z spacing offset. Defaults to false to maintain existing behaviour. 2025-08-13 23:10:43 +02:00
Harald Csaszar
38bc30cf54 [unity] Keep manually placed AnimationClip Events when updating skeleton assets (Mecanim) even when string param used. See #1838. 2025-08-13 23:05:23 +02:00
Harald Csaszar
52faafc978 [csharp] Increased package version for previous commit. 2025-08-13 22:58:30 +02:00
Davide Tantillo
7c28c3c1c7 [ts] Add SkeletonRendererCore (missing file). 2025-08-12 10:34:02 +02:00
Davide Tantillo
3fa97353f1 [ts] Add SkeletonRendererCore. 2025-08-12 10:32:17 +02:00
Davide Tantillo
75421b2a41 [ts][pixi-v8] Updated loaders to use new properties introduced in Pixi 8.12. 2025-08-12 09:34:56 +02:00
Mario Zechner
0b318d01fd [ios] VS Code debug launch config 2025-08-11 21:08:51 +02:00
Mario Zechner
1627bd81e5 [ios] Improved test 2025-08-11 20:29:54 +02:00
Mario Zechner
cc43fd549b feat(spine-ios): Implement SpineSwift high-level API mirroring spine_dart.dart
- Created SkeletonDrawable class wrapping spine_skeleton_drawable C functions
- Implemented AnimationStateEventManager singleton for event listener management
- Added helper types: Bounds and Vector structs
- Added extensions for Skeleton (bounds, getPosition)
- Added extensions for Skin (getEntries to iterate attachments)
- Added extensions for BonePose (coordinate transformations)
- Added extensions for AnimationState and TrackEntry (event listeners)
- Created skeleton_drawable_test_swift.swift using SpineSwift high-level API
- Updated test Package.swift to include SpineSwift dependency
- SpineSwift module now compiles with 0 errors

This completes the port of the high-level API from spine-flutter's spine_dart.dart
to SpineSwift, providing a clean Swift API that mirrors the Dart implementation.
2025-08-11 20:17:17 +02:00
Mario Zechner
9fdc0f0033 spine-ios: Fix Swift bindings compilation - arrays and type conversions
- Fixed array wrapper generation to use correct pointer casting
- Changed array count/length properties to return Int instead of Int32
- Fixed buffer access for primitive and object arrays (no assumingMemoryBound needed)
- Corrected size_t parameters to use Int instead of Int32
- Updated module imports (SpineSwift instead of Spine)
- Reduced compilation errors from 17,500 to 0 for SpineSwift module
- Remaining 27 errors are iOS-specific (UIKit) in SpineiOS module
2025-08-11 19:31:33 +02:00
Mario Zechner
a52ac67661 [ios] More Swift generator work. 2025-08-11 19:11:24 +02:00
Mario Zechner
ecbd700af4 Restructure spine-ios modules: SpineC, SpineSwift, SpineiOS
- Created clean module separation:
  - SpineC: C/C++ compilation only (working)
  - SpineSwift: Generated Swift bindings + platform-agnostic API
  - SpineiOS: iOS-specific UI components only
- Updated Package.swift with proper target structure
- Moved generated Swift files to SpineSwift/Generated
- Removed redundant SpineModule
- Created test with skeleton_drawable_test.swift ported from Dart
- Test successfully runs using SpineC module directly
- Note: SpineSwift has Objective-C selector conflicts to be fixed
2025-08-11 19:07:29 +02:00
Harald Csaszar
0786af7586 [unity] minor: increased package version for last commit. 2025-08-07 15:09:01 +02:00
Harald Csaszar
49999e417e [unity] Fixed BoneFollower MissingReferenceException when skeleton is destroyed. Closes #2903. 2025-08-07 15:06:01 +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