Я разрабатываю на C ++ пакет автоматизированного проектирования для печатных плат и схем (он же EDA CAD). Он использует Lua для некоторых конкретных вещей, но я хотел бы расширить роль Lua, чтобы он реализовал большую часть логики пользовательского интерфейса.
Я бы хотел перестроить внутреннее устройство таким образом, чтобы люди могли легко изменять поведение пользовательского интерфейса, редактируя Lua, а также добавляя новые функциональные возможности.
Проблема в том, что, если не использовать какой-то массивный API для кода Lua, я не могу придумать, как это сделать. Я подозреваю, что массивный API с вызовом функции для всего, что я могу придумать, вероятно, плохой дизайн. Как я могу разработать систему, которая позволяет пользователям реализовывать вещи, о которых я даже не думал?
Есть ли хороший документ или книга, которую я могу прочитать, или форум, где люди говорят о подобных вещах. Я искал и думал уже много месяцев, и я до сих пор не уверен, что ответ.
Кстати, проект называется LiquidPCB .
Большое спасибо
Hugo