Naylib v26.08.0 has been released. This is probably the final version maintained by me. Ongoing maintenance is fully automated, so anyone can pick it up and submit updates. To my knowledge naylib completed, there's nothing missing. And so is raylib for the matter.
My proposal going forward is to write native Nim game libraries instead of dealing with C code and with clunky developers who see themselves as celebrities and use social media to taunt other programmers.
Thank you so much for this wonderful wrapper. I used it for component tester (like a realtime scope with touchscreen gui by Naygui ;) deployed on a raspberry Pi. Easy to use and perfect result!
+1000 for 100% native Nim. Something in mind ?
I would follow what treeform and elcritch are producing; there’s also https://github.com/johnnovak/koi for game UIs. I like clay’s syntax, I think it’s a perfect fit for a KaraxDSL-style macro, but it needs to be less verbose. It would be possible to follow Tailwind like conventions; something like this would be perfect: https://github.com/TomasBorquez/renderer.h for Nim. I think it’s entirely feasible to port the code with an LLM assistant in a few weeks.
I tried to build an app that depends on C libraries without using any bindings generator. Unavoidably even when writing your code in Nim you would want to depend on some existing low-level C libraries like stb. Instead, you ask the LLM to create bindings, as elcritch suggested, based directly on the headers. I took it a step further and only generated code that I actually use—so minimal bindings. I ended up with two SKILL.md files: one for correct linking and CI setup https://github.com/planetis-m/pdfocr/blob/master/.agents/skills/bindings/SKILL.md
and another for writing the glue code https://github.com/planetis-m/pdfocr/blob/master/.agents/skills/wrapper/SKILL.md (WIP).
For example, instead of translating large enums into Nim, I just add the values I need as constants. I think nobody should care about maintaining full bindings anymore.
I think it’s entirely feasible to port the code with an LLM assistant in a few weeks.
Try it in one day.