Architecure
Architecure
UXP panel
flowchart LR Designer((fas:fa-user Designer)) Developer((fas:fa-user Developer)) User((fas:fa-user User or AI)) subgraph Photoshop[Photoshop UXP] graphics(images/lua renderer<br>scaffolder) end subgraph Editor[Kwik Visual Editor] subgraph App assets[(assets/images<br>models/json)] lua[(Source .lua)] end tools(GUI tools<br><br>renderer<br>scaffolder) httpServer RestApi(RestApi<br>transform<br>animation) RestApi -.- tools end subgraph RestApi[REST API] form(Properties <br> CRUD) end subgraph VSCode httpYac(httpYac) coding end Photoshop -.img/json.-> assets RestApi <-.img/json.-> httpServer httpServer <-.-> assets httpServer -.- tools tools -.- App User -.- Browser Browser-.maybe in future.- RestApi httpYac -.- RestApi coding -.- lua RestApi -.- assets Designer --- tools Designer --- Photoshop Developer --- VSCode
Rest api
pegasus is runningin Editor
run Editor
upload an image to pegasus server
- save it assets/images/book/
- create display.object
- .json
Kwik Visual Editor
outputs images/json to App/book
run App/book
Data store
A Kwik Project
flowchart RL subgraph Editor[kwik editor] subgraph nanostores layerstore[layers] actions assets audios end GUI[ menu > Layer] subgraph asset assetSelectBox classProps buttons end subgraph parts selectors bookTable pageTable layerTable propsTable buttons subgraph controller selectLayer end controller -.- selectors end selectors -. 1 click .- GUI subgraph action actionTable actionCommandTable actionPropsTable end subgraph classEditors subgraph animation selectBox classProps controller end audio end controller template scripts end subgraph framework controller subgraph components_kwik[components] bookstore common[Common <br> myClass] custom layer anim button end command_kwik[command] plugin extlib end subgraph App/bookX assets subgraph components page(pageX.index <br> - layers <br> - audios <br> - ........) end subgraph commands pageX end scene(index.lua returns scenes as pageXs) end
Select Layer to load the layer table
flowchart RL subgraph Editor[kwik editor] GUI[ menu > Layer] subgraph asset assetSelectBox classProps buttons end action classEditors subgraph parts selectors bookTable pageTable layerTable propsTable buttons subgraph controller selectLayer end controller -.- selectors end selectors -. 1 click .- GUI controller template scripts subgraph nanostores layerstore[layers data] actions assets audios end end subgraph framework end subgraph App/bookX assets subgraph components page(pageX.index <br> - layers <br> - audios <br> - ........) end subgraph commands pageX end scene(index.lua returns scenes as pageXs) end selectLayer -. 2 read .-> components selectLayer -. 3 set .-> layerstore layerTable -. 4 listening for createTable .- layerstore
- layers lua -> framework.components.layer -> view (App.pageX.layers)
- layers data -> nanostore -> view (editro.layersTable)