I'd be happy to help with your spine-haxe runtime issue!
StringMap Casting Issue
The casting error you're encountering on line 442 of SkeletonJson.hx is a known type incompatibility. You're correct that changing from Map<String, Dynamic> to haxe.DynamicAccess<Dynamic> should resolve this issue. This is a valid fix for working with dynamic JSON objects in Haxe.
Unused OpenFL/Lime Imports
Regarding the unused imports (openfl.utils.Assets and lime.math.Rectangle), these are likely remnants from when spine-haxe was more tightly coupled to specific frameworks. Since spine-haxe now supports multiple rendering backends including HaxeFlixel and Starling, these OpenFL-specific imports shouldn't be required in the core skeleton loading code.
Heaps.io Support
Currently, spine-haxe officially supports Starling and HaxeFlixel as rendering backends. Heaps.io is not yet officially supported, but your work on implementing it sounds valuable!
What You Can Do
- You can fork the spine-haxe runtime and make these modifications for your Heaps.io implementation
- If you'd like to contribute back, consider creating a pull request on the spine-runtimes GitHub repository with your fixes and Heaps.io support
- If you encounter other issues or have a skeleton that doesn't work properly, providing reproduction steps would be helpful for improving the runtime
Since Heaps.io isn't officially supported yet, you may encounter other framework-specific issues as you continue your implementation.