Hi all,
I am developing, in C++, a Computer Aided Design package for Printed Circuit Boards and Schematics (aka EDA CAD). It uses Lua for some specific things, but I would like to expand the role of Lua so that it implements much of the user interface logic.
I would like to re-build the internals in a way which lets people change the behaviour of the user interface easily by editing the Lua, and also add brand new functionality.
The problem is, short of exposing some kind of massive API to the Lua code, I can't think of a good way to do this. I suspect that a massive API, with a function call for everything I can think of is probably a bad design. How can I design a system which lets users implement things I hadn't even thought of?
Is there a good document or book I can read, or a forum where people talk about this kind of thing. I have been searching and thinking for many months now, and I'm still not sure what the answer is.
BTW, the project is called LiquidPCB.
Many thanks
Hugo