Design
Project model
- robotlegs
- template
- components
- commands
Tools
image exporter
PS/XD UXP
visual editor (frontEnd)
Solar2D
- live editor
(Maybe) React
- uxp plugin for Ps or XD
- web app
REST server
pegasus-harness
pegasus-launcher
frontEnd app sends REST API requests to harness of pegasus lua server
this server offers the renderer of .lua for components and commands
other tools
- generate_scene_index
Sample projects
Image Exporter plugin for Adobe Photoshop
Project Model
sample-projects/Pegasus
test/base-proj/Solar2D/App/bookFree
Visual Editor(React)
{{webview html panel}}
- UXP
- Browser
Visual Live Editor(Solar2D)
Solar2D/tools/kwik-editor/App/kwikEditor to be copied into a project? Or make them as components like a AtoB?
books/pages(scenes)/layers
menu
tools/actions with icons
selectPage
selectLayer with filter
- select class
- show an event with class name like button->onTap, anim->onComplete
- button (-> New Action Icon)
- select class
selectComponent
- audio
- event
- group
- timer
- event
- var
- audio
add a component to a layer or a page selected
selectAction
list actions
cross references to components
Action Editor
- Add a command
- user select Animation
- list animations
- user select an animation, select an operation
- editt props
- list animations
- user select Animation
- Drag & Drop to change the order of commands
- Add a command
Pegasus & httpYac to get/post properteis of components and actions? yaml props in .http
Copy/(optional)EditRawJSON/Apply
- copy json-props in a buffer
- (optional) show Edit JSON panel: json-props in text field, then you can copy it or modify
- select components and click paste button?
audio/group/timer/var are independent from layers
components w/o events
page
- group
- variable
layer replacements
- set lang
- multiplier
- particles
- dynamic text
- text
- mask
interactions
- canvas
- scroll
physics
- env
- body
- force
- joint
components with events
timer
audio
layer (replacements)
onComplete
- animation
- video
- countdown
- text input
transition
- onStart
- onComplete
- onPause
- onResume
- onCancel
- onRepeat
sprite
- began
- ended
- bounce
- loop
- next
sync audio text
- word timecode
interactions
button
- tap #
- press
- release
drag
- drop area
- dragging
- release
swipe
pinch
- pinching
- release
spin
- clockwise
- anti clockwise
shake
parallax
- forward
- backword
physics
- collision
- preCollision
- postCollision
create ‘select book/page/layer’ menu at the bottom
layers table for a seclection . showOverlay?
layer name with ‘Add Class’ button?
create tools/actions with icons at the bottom
- select animation > linear
save/load
scene/layers create? read update crud a class save table in lua into json publish json to lua
TODO
- add audio icon, action icon
- initApp to select an app folder? rename it to select App?
- move menu position to top/buttom/right/left
Tools
develop/Solar2D/tools/pegasus-harness
develop/Solar2D/tools/pegasus-launcher
REST API requests from httpYac are sent to pegasus
generate_scene_index