Codea 2.3 suggestions

Hi all! I guess this is for @Simeon but would like to hear everyone’s input, maybe i’m missing something.

One thing that seems to be overlooked is adding more words to the autocomplete feature, none of the physics commands like linearvelocity, restitution, etc. seem to be loaded in the autocomplete library. So we are forced to type out the full word every time, which can get tiresome you are setting up a lot of physics bodies.

Would be really helpful to have more commands especially the physics commands added to the autocomplete feature.

Am I missing something?

Any other suggestions you guys have?

I would love to see function parameters of user defined functions show up as tooltips like they do with built-in functions

perhaps the solution :

parameter.position(left) for left-handed
parameter.position(right) for right-handed

since on tablet hand hides the screen
unless you use a brush pen

@Crumble although these aren’t included in autocorrect, (and I think it’s a good idea for the user to be able to add custom variables to autocorrect, although) it happens automatically for the most part so if I have

local pb = physics.body(CIRCLE,20)
--there won't be any autocomplete's here
pb.position = vec2()
--now when you type pb. 'position' should show up in autocorrect.
--you could list all the parameters of the physics body if you wanted all the autocorrects.

It’s kind of like you have to add it yourself, and because of autocorrects clever little algorithm it works with Lua’s scopes so make sure you’re inside the scope with the physics body or you won’t get autocorrect popping up.

I’d appreciate the ability to pass a file extension to assetList and get only files of they type

I think to make Codea a more practical tool to make and publish apps with,
it’d be important to have a way of knowing when the program is in the background.

@Goatboy76 absolutely agree

But what level of abstraction should this API sit at?

I have two thoughts on this:

Runtime level: same regardless of platform

function codeaWillPause()
    -- called when the pause button pressed and just before actual pause
    -- also called when the app gets sent to background 
end

function codeaDidPlay()
    -- called on app start (prior to setup?)
    -- called after user up pauses but prior to first draw
    -- called when app resumes from background
end

Hardware level: specific to iOS platform behaviour

function appEnteredBackground()
    -- called when home button pressed prior to pause
end

function appEnteredForeground()
    -- called when app opened after unpause 
end

I prefer the first because it abstracts over the OS specific notifications in case Codea comes to more platforms in the future.

@Goatboy76 +1, preferably functions that are called when the app is closed, opened, and maybe something like draw that is ran while the app is closed (updates). Maybe some notifications would be nice?

Here are a couple of feature requests that I was hoping would have been added since 2013.

  1. Rename projects directly from the popup menu, instead of having to create a duplicate, rename the duplicate, and then delete previous version.

  2. Projects can be placed into folders. I have to keep on deleting my projects off the project browser since there is no folder structure, and my project list gets very long and messy, since I create many new projects each week (50+).

This feature would be nice to have, but not essential.

  1. Lock/unlock a project on the project browser page by selecting it in the popup menu. This could allow projects to be played without accidentally making changes to it.

A small but important addition to the editor would be an ‘elevator bar’ preview on the right to help you more easily (and quickly) move through reams of code.

Currently, it’s a bit of a pain when you have a few hundred lines of code and need to navigate to a different part in the same code block/class.

As a guide - Sublime Text does this beautifully on the Mac (as well as other cool things!) - certainly my favourite code editor after many years of doing this sort of stuff :wink:

@adamskii_uk

  1. Agree, but my resistance to doing this is that the long press menu for projects on the home screen is getting too long. Perhaps throwing out the menu all together and replacing it with something that is more expandable? Ideas?

  2. There is a plan for this which was a big (but hidden) part of the Codea 2.1 update. Projects are now organised into “collections”, which is why the example projects are editable. They are located in Documents/Examples.collection/<projects> on the filesystem now. So the plan is to make user created collections available.

  3. I think the way to go for this would be to allow a URL scheme which can directly play a project. That way you could add an icon to your home screen for this purpose.

@andymac3d

I like that feature too. I think it’s more possible now with multi-core iPads. (We could do the lower priority rendering of the entire file on a background thread.)

It’s probably not something for the next few updates, though.

@Simeon
1) Agree, but my resistance to doing this is that the long press menu
for projects on the home screen is getting too long. Perhaps throwing
out the menu all together and replacing it with something that is
more expandable? Ideas?

In the current version of Codea, if someone was to long press on a project on the second row from the top, then the menu sometimes appears near to the top edge of the screen, and this causes the menu to look too long. If you were to perform a check on the position of each of the icons, then make the menu popup on the side of the screen that has most space available, then you could add longer menus without running out of space.

Alternately, you could have the menu pop out to the side of the icons, instead of the top and bottom. For the two icons on the left, the menu would appear on the right side, and for the two icons on the right, the menu would appear on the left side. This would allow for a much longer menu than the way you currently have it. The menu width could be shortened down a little so it will easily fit on the screen next to the icons, since there is currently a lot of empty space on the left and right sides of the menu.

One more idea is to add pie menus to Codea, just like in a 3D app called Blender. After a icon has been held down, a pie menu would appear in the center of the screen, with options placed in a circular menu style. Maybe Codea users could come up with some designs for you to use, and you could choose your favorite layout for a future release of Codea?

@Simeon I don’t know enough about that to make a suggestion.

@Simeon Suggestions for editor fast navigation per @andymac3d

  1. Add the option “search” on the cut/copy/…/lookup menu.
    This would hide everything except lines containing the selection.
    Tapping a line would unhide everything and put the cursor in the line tapped.
    Show occurrences in all tabs(search without having to copy/paste) as in the search view.

If nothing is selected, show all lines containing the words function, if, for, repeat, or while(the lua statement starts).

  1. Open a second edit window by dragging down from the tab labels line with a horizontal line separating them.
    Drag this line up or down to resize or close.
    Tap line to open vertical list of all tabs so can see source from different tabs at the same time.

Thanks for your consideration.

A couple of requests for features, one small, one big

  1. When you add a new tab, currently it appears as the left-most tab. It would be useful, especially if the tab is a class, if it appeared immediately to the right of the currently selected tab (as sub-classes need to be to the right of the super-classes they inherit from). This would be a very easy way to allow the user to control where the new tab appears.

  2. Some form of Codea-on-iPhone would be incredible, whether it’s a separate player app (that I would be more than happy to pay for again), or if the existing Codea app went universal. Coding on an iPhone probably isn’t much fun (unless it’s an iPhone 6?) but the ability to repeatedly test our code on the iPhone (say if the code synced across iCloud) as we go along would be invaluable for developing universal apps. I understand though that as feature requests go, this is about as big as they come :slight_smile:

I love love love Codea. We are all incredibly lucky that it exists!

I would love love love to see Codea become universal. With the power of the new iPhones, I see no reason why it couldn’t. Except it would probably be a lot of work to make it universal. @Simeon would stand to gain a lot from it though, Iphone is by far the most popular platform.

Double tap (or other gesture) on the output section of the console to toggle it to full screen mode, then double tap again to return back to normal mode. Something like “output.fullscreen()” could be used to automatically change the output section to full screen mode, for projects that use just the print function. Also, the ability to manually select and copy text that’s in the output window would be nice.

it would be nice to be able to remove the output section of the sidebar (or set its height). This would allow the full sidebar to be used as we want without the output getting in the way.

Hi all, has been “text to mesh” already been mentioned? That would be awesome. My impression ( and I might be wrong) is that text() is used in Codea pretty much as a sprite is. So if you display a relevant omout of text, that will affect performance.

As with @yojimbo2000, I have two feature requests, one that is small, and one that is quite large.

  1. Selective editing. Correct me if I am wrong, but at the moment the search and replace function searches all of your code, in all classes. I would be extremely happy if there was a way to only search code in a certain tab, or perhaps(even better) to only search a section of code that has been selected.
  2. Sockets. I am not sure if this is possible with Apple’s current guidelines, or if this is possible in Codea at all, but I just thought I would request it because it would be amazing if we had access to these to code multiplayer games.

Mind you, I think Codea is perfect the way it is, but these suggestions will make it, in my opinion…perfect-er?