
CrossLua Reader — early preview
Hey folks just a heads up,
I've been building a new firmware runtime for the Xteink X4 under TeamIDE. Instead of the usual monolithic C++ firmware where every feature has to be compiled in, CrossLua Reader is a thin ~500KB C runtime that just loads `.lua` files from the SD card. Want to add a feature? Drop a `.lua` file in `/plugins/`. No toolchain, no flashing, no rebuild.
Working today:
• Full Lua 5.4 with `display`, `input`, `storage`, `font`, `wifi` APIs
• Plugin manager that discovers and switches plugins on the fly
• SD-loadable `.cfont` fonts (Hebrew/RTL bidi already in core)
• Settings, persistence, button remapping
• Multi-language UI via JSON language packs
Adding a plugin:
write a `.lua` file with `onEnter()`, `loop()`, `onExit()`, drop it in `/plugins/`. PRs are pure Lua, no C++ required. If it's good, it lands in a community plugins directory in the next release.
Adding a language:
copy `sdcard/languages/en/lang.json`, translate the strings, set your language code and direction (LTR/RTL). RTL languages can ship their own `.cfont` font inside `languages/{code}/fonts/`. Partial translations are fine — missing keys fall back to English. No code review, just a sanity check.
Heads up — early preview.
The runtime, plugin system, and core UI plugins work on real hardware, but **the web installer isn't built yet** — that's planned for the full release. For now you'll need to flash via PlatformIO. I'm sharing now so people can poke at the code, suggest plugins, or contribute translations while it's still being shaped.
GitHub: https://github.com/dcherrera/CrossLuaReader
Feedback and PRs welcome.