MatseFR / valeditor

UI system for valedit and base editor
MIT License
1 stars 0 forks source link

Implementation code for Timeline #1

Open rainyt opened 10 months ago

rainyt commented 10 months ago

Hello, I'm curious about how your timeline is implemented, but I don't seem to see it in the code.

MatseFR commented 10 months ago

Hello ! Current code is in the editor branch for both ValEdit and ValEditor https://github.com/MatseFR/valedit/blob/editor/src/valedit/ValEditTimeLine.hx https://github.com/MatseFR/valeditor/blob/editor/src/valeditor/ValEditorTimeLine.hx

it also uses this small lib, which is adapted from Starling https://github.com/MatseFR/openfl-juggler

rainyt commented 10 months ago

Cool, Thanks.

rainyt commented 10 months ago

Oh, I still want to ask, is your timeline implemented using Sprite.graphics?

rainyt commented 10 months ago

I took a closer look and it's true. I'm if its drawcall is very high? and will its performance be affected? And can I use any simple method to run it?

MatseFR commented 10 months ago

Do you mean the timeline UI ? It uses Feathers ListView with bitmaps and scrollRect, that's the best I could come up with performance-wise : I started with Graphics and it was pretty slow when creating/updating/resizing.

Draw calls should be normal, in the editor there are additionnal objects like selection boxes and invisible mouse objects but that's necessary. Performance will obviously be better when exported than in editor mode.

I'm focusing on ValEditor for now, later on I will optimize ValEdit's code : probably getting rid of layers Sprites and stuff like that but draw calls will depend on user content and how it's organized.

I'm more of a Starling user, if there are things I can do to optimize OpenFL's rendering I'll definetely do my best to put them in : suggestions are welcome !

rainyt commented 10 months ago

Thank you! Okay, I will continue to pay attention. If the exported data is universal, it is easy to cross platform across various engines.

MatseFR commented 10 months ago

You're welcome ! Export data will be JSON, inside a ZIP file (like it is now for source file data) and I'll let users choose if they want to include assets (Bitmaps, Sounds etc) in the export or not.