-
Notifications
You must be signed in to change notification settings - Fork 5
Description
The whole project is currently contained within a ~4k LOC L5.lua file. This makes the dev experience less than ideal by having everything mashed into one file instead of being separated into modules introduced in lua 5.1
The folders structure could be simply as it is in other processing repos (ref: libprocessing)
We don't really export any tables, everything we do is global. So I imagine all the smaller components going into an L5 folder, and the top level L5.lua file would look something like:
require("l5.color")
require("l5.shape")
require("l5.typography")
...
The current L5.lua already has section headers. Those section headers are basically our future modules:
- runtime
- input/events
- transform
- shape
- color
- rendering
- vertex
- math
- typography
- system
- media/loading
This is the safest refactor as of yet, but in the future I think it makes sense to have a segregation between the internals like local state/functions and the global public APIs like size.