Skip to content
UnityConstruct edited this page Feb 9, 2024 · 5 revisions

CtrlrXY Wiki

  • this wiki
  • Forked CtrlrX for purposes of 'meta-dev' ( all things NOT changing c++ codebase for foreseeable future )
  • See below for what this actually mans

wiki-prefix-legend

key value
rel release information
guide long-form walkthroughs & guides
src source/code documentation, notes, tables, diagrams
ui ui design: notes covering Ctrlr application use, lua scripting, design patterns, and c++ code-behind
lua lua language notes
c++ c/c++ language notes

minutia-todo

  • documentation
    • produce dev documents/diagrams
    • aggregate information from various forks, discussion & issue boards
    • create derivative documents & compilations
  • Lua Lib
    • aggregate Lua examples/lib
      • categorize into logical/intuitive hierarchies - formatting functionality of no concern
    • parse methods add doxygen comments - including @param, @return annotations
      • this adds intellisense support
      • strongly types methods so they are self-documenting
      • reduces errors due to less ambiguity
    • create overloaded methods for flexibility, while forcing logic into one place
    • plan an entire lua wrapper framework to provide a layer of abstraction between Ctrlr Lua API and actual implementation
      • this provides critical flexibility for future updates by decoupling Ctrlr from the implementation scripts
        • ie: if Ctrlr API is changed - particularly moving/adding things - Lua scripts will necessarily break...along with existing panels
        • the abstraction layer provides the ability to update the Ctrlr-LuaFramework links without impacting Panel-LuaFramework links
      • add Lua methods to expose the entire LuaBind API
      • add purpose/vendor agnostic utility methods such that they become part of the Ctrlr Core and relieve panel authors of the need to understand the C++ Core
      • add Graphics API for generating various ui widgets such as displays, status messages and modulators
      • extend further with full APIs for each Component, such as complex calculations, listener & callback logic, and error handling to avoid crashes & provide debug logging
  • C++ Lib
    • comment c++ codebase for improved intellisense
    • Look for opportunities for refactoring to reduce class size & modularity
    • Lua 5.4.6? boost is old.. not sure if this can be updated, so new tech solution is likely needed.