Good idea, but...

… I don’t like it… in it’s current form.

  1. First major flaw - don’t make it in Corona, use normal UI toolset.

Obviously you want to make your own “LevelHelper” (plus “Kwik” or “Flash”). Well, their interface is much more complex and provides much more functionality.

If you continue to use Corona for Composer you will run in all sorts of problems because of that - I gurantee.

For such product coming from the brand, people expect enterprise quality for desktop experience, which Corona simply can’t provide.

Use wxWidgets to develop UI. It’s easy and looks good. You still can write in Lua the whole thing, wx has bindings to Lua. Take ZeroBrane Studio as example.

Show corona workspace as Corona Card, but make support for mouse right click. People need to Right Click! With a context menu relevant to the current object under the mouse. (send signal from corona card to wx composer).

  1. Align to corners and edges.

You have an instrument to position an element in corners, but it’s not dynamic. To maintain different aspect ratios you have to provide support for positioning relative to corners/edges. (edge is center point of a side). For example I make button, choose it’s anchor points to BottomRight, then I tell it to be relative to BottomRight corner of the screen, then I put offset x = -10px, y = -10px. That way I have a button which is 10 pixels away from bottom right corner on all devices.

Take into account my awesome config.lua from my guest piece.

  1. Add ability to import sketches of the app and put them on background for mockuping. Like you do in many mockup apps.

  2. Operate in terms of actions/signals. Take wxBuilder and qtCreator as example. How they bind created ui to the app. With Lua it becomes simpler though.

  3. Animations is a whole different story. Look how complex is Spine. But yeah, simple animations are possible.

  4. Put all scenes into ‘scenes’ subdirectory.

7. getObjectByTag must be getObjectById. By Tag you can get many objects, this must be a lua iterator. for id, obj in self:getObjectsByTag(‘sparkle’) do obj:twinkle() end

  1. Better to expose all objects via a simple table. self.objects.button1, self.objects.rect1

I want such tool exist, but it needs a good implementation.

PS. I knew something is going on when you suddenly renamed storyboard to composer, which is no way a right name for scene manager, heh.

Instead of JSON we can use Lua.

Take serpent module https://github.com/pkulchenko/serpent

and use it to save a Lua table as a Lua file.

Advantage of using this method is speed of loading scene data. Lua is preprocessed into bytecode while JSON has to be parsed by Corona at Runtime. Plus it hides scene files from 3rd eyes in end application.

Plus serpent provides formatting and such files is possible to edit by hand.

I still highly recommend using normal UI toolkits (wx, qt). Just think about Drag&Drop, detachable panels with automatic liquid layout, resizing main window, menu bar. Normal fonts, ability to select and copy text on forms, right clicks and many more little things. This would be a headache to implement in Corona.

Tools like Composer have tons of functionality, that has to be in Composer. Z-ordering, aligning, layering, grouping, shortcuts, manipulations, transformations. Object libraries, bitmap fonts, actions (goto scene 2, play sound, execute macros/function like start/stop animation or call lua function).

Not all people like dark themes.

Thanks for the feedback. Definitely we think there’s a long ways to go. We’ll incorporate your ideas into our list. 

At the moment I am developing a level editor for a game. And it will be similar to composer in some ways.

I will make a standalone app using wxWidgets for the UI and a workplace coded in Corona. They will communicate via UDP.

If you are interested in seeing how it works, I can make a video for you when it’s ready.

Instead of JSON we can use Lua.

Take serpent module https://github.com/pkulchenko/serpent

and use it to save a Lua table as a Lua file.

Advantage of using this method is speed of loading scene data. Lua is preprocessed into bytecode while JSON has to be parsed by Corona at Runtime. Plus it hides scene files from 3rd eyes in end application.

Plus serpent provides formatting and such files is possible to edit by hand.

I still highly recommend using normal UI toolkits (wx, qt). Just think about Drag&Drop, detachable panels with automatic liquid layout, resizing main window, menu bar. Normal fonts, ability to select and copy text on forms, right clicks and many more little things. This would be a headache to implement in Corona.

Tools like Composer have tons of functionality, that has to be in Composer. Z-ordering, aligning, layering, grouping, shortcuts, manipulations, transformations. Object libraries, bitmap fonts, actions (goto scene 2, play sound, execute macros/function like start/stop animation or call lua function).

Not all people like dark themes.

I don’t think I’ve mentioned this in any of my other posts, mainly because I believe it’s too late to matter, but I’d rather be “on record” than stay silent…

I agree *strongly* with Lerg’s point #1. I think you guys are painting yourselves into a corner by building Composer GUI into the simulator. I can’t imagine a pro that would outweigh the zillions of cons for doing it this way.

That’s all. :slight_smile:

 Jay

Thanks for the support!

By the way I have finished the level editor I was talking about and I love it, too bad I can’t show it because of the NDA.

I have to make something similar instead.

Thanks for the feedback. Definitely we think there’s a long ways to go. We’ll incorporate your ideas into our list. 

At the moment I am developing a level editor for a game. And it will be similar to composer in some ways.

I will make a standalone app using wxWidgets for the UI and a workplace coded in Corona. They will communicate via UDP.

If you are interested in seeing how it works, I can make a video for you when it’s ready.

I don’t think I’ve mentioned this in any of my other posts, mainly because I believe it’s too late to matter, but I’d rather be “on record” than stay silent…

I agree *strongly* with Lerg’s point #1. I think you guys are painting yourselves into a corner by building Composer GUI into the simulator. I can’t imagine a pro that would outweigh the zillions of cons for doing it this way.

That’s all. :slight_smile:

 Jay

Thanks for the support!

By the way I have finished the level editor I was talking about and I love it, too bad I can’t show it because of the NDA.

I have to make something similar instead.