From ab9f6f6099a545431a1bf4966af84c459be71999 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Fri, 11 Jul 2025 02:24:21 +0200 Subject: [PATCH] [c] Update todo with items for bugs/features --- docs/todo.md | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/docs/todo.md b/docs/todo.md index a1b1a9b41..977a46ea5 100644 --- a/docs/todo.md +++ b/docs/todo.md @@ -1,11 +1,7 @@ -- clean up logging, use chalk to do colored warnings/errors and make logging look very nice and informative (no emojis) -- License header should be read from spine-libgdx/spine-libgdx/src/.../Skeleton.java in c-writer and not embedded in the file. -- it's weird that method generation comes before array specialization. i'd assume method generation should get the specialization and use those to output the correct array type for return types and parameters and error if an array type is not specialized? -- type extractor should also report typedefs like typedef long long PropertyId; so primitive type to some name, and we need to handle that in the codegen -- Generate language bindings from spine-cpp-lite - - Create a TypeScript-based generator that takes spine-cpp-lite.h and generates: - - Swift bindings (matching current spine-ios output from spine-cpp-lite-codegen.py) - - Dart high-level wrapper (matching current manually-written spine_flutter.dart) - - Should support language-specific customizations and special cases - - Parse spine-cpp-lite.h using tree-sitter-c - - Handle type conversions and memory management patterns for each language \ No newline at end of file +- SkeletonBinary.cpp is buggy. DataInput sign handling seems to be foo bar, so we get incorrect flags etc. Compare to SkeletonBinary.java, both statically (compare sources and involved classes) and dynamically (instrument both, run on same file, compare where we go wrong) +- clean up logging in spine-c/codegen, use chalk to do colored warnings/errors and make logging look very nice and informative (no emojis) +- spine-c/codegen type extractor should also report typedefs like typedef long long PropertyId; so primitive type to some name, and we need to handle that in the codegen +- Generate language bindings in spine-c/codegen + - Use CClassOrStruct, CEnum that get generated from spine-cpp-types.json and generate + - Swift + - Dart \ No newline at end of file