Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Codea 2.0 Beta

SimeonSimeon Admin Mod
edited January 2014 in Beta Posts: 5,420

Hi Everyone

This is the thread for Codea 2.0.

It's missing quite a lot, because not all parts have been re-written yet. It is also a mix of old and new UI design in places. It should run though, please let me know how it goes.

Also, please backup everything before installing this. I don't think it will do anything bad, but I'd rather you don't take chances on this update.

@Jmv38 It is unfortunately iOS 7 only, but I'll be getting in touch with you to see what we can do. Can you send me your email address?

Tagged:
«13456717

Comments

  • Posts: 2,820

    I've been watching Codea Commits recently, and I'm very happy to see it in beta. Anyways, I'm keeping a list of bugs, crashes, opinions, etc.
    Thank you!
    As a side note, is CodeaBufferData anything related to the Lua script, or is it something on the native side? Also, you did mention something about an OS X runtime again, which intrigues me.

  • SimeonSimeon Admin Mod
    Posts: 5,420

    The OS X runtime just had some minor project changes — it's lacking in features but otherwise can render Codea projects. All of our work has been on getting Codea 2.0 running.

    CodeaBufferData is just data that gets attached to your current editing session to track where your cursor is in a document, where it's scrolled to, and so on. It's just an internal class that was part of a commit.

  • BriarfoxBriarfox Mod
    Posts: 1,542

    The editor is beautiful! Love the quick comment/uncomment. The auto scope complete will save a lot of time and the auto indent is great!

    Bugs

    • Project search does not appear to work.
    • http.request is crashing codea.
  • SimeonSimeon Admin Mod
    Posts: 5,420

    @Briarfox does http.request consistently crash Codea? There is one known issue where you exit the viewer before the http.request has finished, and it will crash.

    Does the Image IO example work?

    Project search needs a re-work too, sorry about that.

  • Posts: 2,820

    It's getting late here, so I'm going to post what I have so far:
    - Can't do command-arrow key to select whole line on bluetooth keyboard
    - Text displaced in reference search
    - Love the new simplified popups on editor bar
    - Love the new icon, just the bottom section feels a bit off or dark
    - Project search does not work
    - Using commands in preview terminal prints a ton of extra stuff
    - Typing and executing a command in the preview terminal twice crashes Codea
    - End of about section too far left
    - When creating a new empty tab, the line highlighting stays, even though there is no cursor in the other tab
    (Let me know if any of these don't make sense. It's late and they were typed pretty quickly.)
    Thank you! I'll post more as I find them.

  • SimeonSimeon Admin Mod
    Posts: 5,420

    Thanks @Zoyt

    • The command-arrow thing is bugging me too. Looking for a fix.
    • Reference search needs a re-design for iOS 7 so that will be addressed
    • Didn't realise the command input was broken, thanks
    • The output pane is very crashy at the moment, looking into it
    • Thanks for the new tab bug
  • BriarfoxBriarfox Mod
    Posts: 1,542

    @Simeon I can crash codea with a http.request("http://google.com",function(d) print(d) end)

    It will not crash right away but if I scroll in the output panel then it will close. happening 75% of the time.

    I'm not certain that is it http.request thats crashing. Codea Community runs fine but my dropbox viewer crashes on startup. which I assumed was the http.request. I'll dig deeper.

  • BriarfoxBriarfox Mod
    edited January 2014 Posts: 1,542

    @simeon was anything changed with the way draw function is loaded? I can no longer seem to hook it before Codea loads with debug.sethook() Edit I can hook it and print text but something with draw seems to have changed.

    I also noticed the sprite() auto complete. How does this work? Does it look for another sprite in the same function and grab it's parameters? edit It uses the last parameters passed to a sprite().

  • SimeonSimeon Admin Mod
    Posts: 5,420

    You might be using local or global variables as arguments to sprite(), Codea will autocomplete those now.

    Will look into the draw thing.

    With regards to the http.request crashing, can you try without the print(d)? I suspect it's not http.request, it's the printing. The output pane / GL view interaction is causing some issues in this release.

    I am re-writing http.request now anyway, it has been in need of some attention.

  • Posts: 505

    Hi. I've added my iPad 3 to Testflight if you want another test user. Happy coding!

  • BriarfoxBriarfox Mod
    Posts: 1,542

    @simeon Sorry it's not a draw issue. But I'm still not sure what it is. Working in release but not 2.0. I'll track it down and get back to you.

  • edited January 2014 Posts: 2,820

    I guess I'm not going to bed then. More bugs:
    - Can't tap and drag on number
    - White space when scrolling above top of project list
    - Chat Room project doesn't seem to work (may be my issue)
    - When multiple functions selected, multiple "Re-indent"s show up in pop up
    - Destroying bodies does not work like it use to (I sent you an email about this, if you want the example code to prove it again, let me know)
    - When moving magnifying glass below bottom line, the magnified image starts jumping around (tiny, but I might as well mention it)
    - Keyboard gestures not working (I assume they were removed because they're not in the settings)
    - 3D Air Hockey project behave differently (http://twolivesleft.com/Codea/Talk/discussion/comment/28203) (the center line is colliding with the puck, while it didn't use to)
    - Look up functionality doesn't work
    Thanks! Now I'm really going to bed.
    Edit: Also, the icon is growing on me (like most do).

  • SimeonSimeon Admin Mod
    Posts: 5,420

    @tnlogy sorry I forgot to re-add your device! Just spotted it on TestFlight and will make sure it's in the next build. Once I send you the build, if you could test your Codea Cookoff entry (Going South) and tell me if it's behaving correctly that would be great. There might be some rendering issues due to the 64 bit move.

    @Zoyt

    • number dragging hasn't be re-built yet. Will be back in with some tweaks (there were complaints about this one in the past).
    • Thanks for the multiple re-indent bug, will fix
    • Destroying bodies: odd I'll have to ask @John about it, could you send your email to john@twolivesleft.com
    • Keyboard gestures are removed, it felt like too much of a hack, and too little-used, to include.
    • 3D Air hockey might be due to the 64 bit stuff, there may still be some rendering bugs to sort out.
  • Posts: 2,820

    @Simeon - Thanks. I will do that. The 3D air hockey project was not a problem with the rendering, but with the physics, so I'll send that to John too.
    Thanks!

  • SimeonSimeon Admin Mod
    Posts: 5,420

    @tnlogy I've updated the current build with your device details. You should be able to install.

  • Posts: 505

    Thanks. I added the device just an hour ago on the bus to work, so that was fast update. Will try it out later!

  • Posts: 2,161

    Spotted so far:

    • The section key isn't moving the selection boundaries
    • I would prefer the pop-up keys to stay popped up until dismissed
    • viewMatrix doesn't work. When I put in viewMatrix(matrix()) then what I get back is a matrix that is mostly zero but with entries 1.875 on (1,2) and (3,4) (I think I got the indices right). It appears to be the setting that is incorrect since viewMatrix(matrix()) makes my drawing disappear.
  • SimeonSimeon Admin Mod
    Posts: 5,420

    Thanks @Andrew_Stacey, the matrix stuff had me a little worried. Those are bugs relating to the move to 64 bit floating point. (Lua is now 64 bit, OpenGL remains 32 bit.)

    • Selection key should move the ending selection boundary? It appears to work for me.
    • I'll have a think about the popup keys behaviour. I personally prefer the drag option.
    • I'll get onto fixing the matrix issues now
  • toffertoffer Mod
    Posts: 151

    There is a big improvement with large text buffer (scrolling, text handling), that really great! Spotted:

    • in the preferences, font size font size sticker eat it's label
    • inline color preview eat two following characters (ie: c,d = color(),10 > c,d = color()0)
    • scrolling point is lost when return back from viewer (scrolling is reset at the top of the current tab)
  • SimeonSimeon Admin Mod
    edited January 2014 Posts: 5,420

    @toffer can you take a screenshot of those first two problems? That's a little strange and I wonder if it's due to a non-retina issue.

  • SimeonSimeon Admin Mod
    Posts: 5,420

    Ah thanks @toffer. The first one (color overlap) is just something that comes with the new design — I'm open to solutions for how we might be able to fix it in these sorts of cases where you have code running against itself.

    The second bug occurs with certain localisations, it looks like. I am considering dropping localisations and keeping Codea in English only. Because it will be quite difficult to keep all the localisations up-to-date. Do you think there is value in maintaining the localisations?

  • Posts: 2,161

    @Simeon

    • Selection key does absolutely nothing, either when there is currently a selection or not.
    • Anonymous functions mess up both the indentation and the end-matching, to the point where it gets extremely irritating. For example,

      a = function()
      

      pressing <return> here produces an end that is considerably indented, and the cursor on the blank line is also considerably indented.

      What is worse is that pressing <return> after the end also produces an indented line. I don't know if this is because I manually removed the indentation from the end first, but even so, this is annoying.

  • SimeonSimeon Admin Mod
    Posts: 5,420

    @Andrew_Stacey

    • Are you tapping the key, or touching it and dragging? Tapping may not have an effect (I could have forgotten to re-implement that behaviour).

    • Thanks for this I'll look into how I can improve anonymous function indenting.

  • Posts: 2,161

    Oooh, funky! I never tried dragging before. Yes, I was tapping. Dragging works just fine.

  • BriarfoxBriarfox Mod
    edited January 2014 Posts: 1,542

    @simeon

    • The use of text() keeps crashing projects.
    • Looks like my draw issue is related to viewMatric()
  • Posts: 2,820

    I'm not sure if this is what Andrew was talking about, but I can't seem to tap on numbers to select them. It's much more efficient to just tap on them rather than double tap.
    Thanks!

  • SimeonSimeon Admin Mod
    Posts: 5,420

    @Andrew_Stacey I've just tried the anonymous function use case and can't seem to recreate your issue. Here is what I get:

    a = function()
        <-- indent level in function
    end <-- appears here
    <-- next indent level
    

    Could you provide me some code I could type out to re-create your issue?

    @Briarfox @Andrew_Stacey next build should fix the matrix issues. If you could provide a text() example that crashes in the next build (4) it would be much appreciated.

  • SimeonSimeon Admin Mod
    Posts: 5,420

    @Zoyt yes I prefer that, too. However in the previous version the numbers interfered with other gestures sometimes — such as bringing the keyboard up (the main problem). I'll try to fix them up this time around.

    @Briarfox next build should also fix http.request issues and networking in general.

  • edited January 2014 Posts: 2,820

    some reason Command-C works only some of the time. Also, the view jumpts to the top every time I run the program. Also Shift-Command-Z is not working. I think I've reported all the dis functional keyboard commands.
    Thanks!

  • Posts: 505

    Trying going south, my "tap to start" graphics never show up, probably due to the viewMatrix(matrix()) issue. I also use rotate, which seems to make things crazy.

            local m = matrix():rotate(ps.rotate, n.x,n.y,n.z)
    

    is the identity matrix having a crisis? looking nice otherwise. think you should light up both "do" and "end" if you want to show matching blocks, otherwise it is a bit annoying I think.

  • SimeonSimeon Admin Mod
    Posts: 5,420

    @tnlogy thanks for the feedback. Can you see if build 4 fixes your matrix issues?

  • Posts: 505

    Wow, you fixed it a minute or so after I downloaded the previous version. Now it works fine, was about to report that RotationRate crashes it, but it got fixed as well. :)

    A few troubling project started running fine after that matrix fix.

  • Posts: 2,820
    • When pressing tab behind "end", it adds "ENDED", but still tabs out
    • Codea is not aware of the current indentation; if I have a function tabbed in really far and I do an if statement in it, it puts the "end" where Codea thinks it would be according to the syntax, not extra indentation
    • Renaming tabs does not work
    • If there is no author when exporting the project, it uses the author from the last project exported, which is incorrect
    • When you tap multiple times rapidly on settings, it brings up 2, but you can only dismiss 1
  • toffertoffer Mod
    edited January 2014 Posts: 151

    [edit]

    • when typing == by hand followed by a space, the second = disappear. It seem only if one space preceed the ==.
    • sliding twice on selection button does not keep the right direction from bottom to top. ie: start selection from bottom to top > release > slide from bottom to top.
  • BriarfoxBriarfox Mod
    Posts: 1,542

    So far build 4 has fixed my text() and viewMatrix issues.

  • edited January 2014 Posts: 2,820

    @Luatee's text outline code doesn't seem to be working. I think it might be a text issue, but I don't know.

  • SimeonSimeon Admin Mod
    Posts: 5,420

    @Zoyt

    • I can't seem to trigger the ENDED behaviour you describe, can you step me through it?
    • I'll look at modifying the auto-indent to look at user indentation and use it
    • Will look at tab renaming, thanks
    • Project exporting is all untested at the moment, I will keep this one in mind
    • Will fix multiple settings bug

    @toffer

    • Thanks for finding the "==" thing
    • Selection thing is true — it has actually always been this way, I'm not sure how fixable this will be.
  • JohnJohn Admin Mod
    Posts: 639

    @Zoyt Can you send me the email about destroying bodies as well.

  • Posts: 2,820

    @John - Done.

  • Posts: 2,161

    My sprite pack in my documents folder seems to no longer be in the sprite pack chooser (and not found when I try to access a sprite from it). The files are still there.

    (Incidentally, on some update - not this one - I seem to have lost a load of files from my test project.)

    I have Codea in "Night mode", but when the keyboard comes up then it starts in Day Mode very briefly.

    Are all the maths functions updated to 64bit? I'll need to do a bit of investigating, but some equality test that I was doing now fails.

  • Posts: 2,161

    There are several symbols that are now hard to reach that used to be in the +- list. I've noticed <, >, and ^ in particular.

    Some functions/variables are not in the autocomplete. So far, I've noticed ElapsedTime and isRecording.

  • Posts: 2,161

    Re tapping vs dragging, and tapping on the pop-up displays: I think I'm faster with tap-to-display then tap-to-select than hold-to-display then release-to-select. It's annoying having to wait for the whatsit to display.

    Another missing character: #.

  • Posts: 505

    I agree that the hold-to-display is a bit annoying. If you would add the default-button do the hold-to-display-view making it focused and show it immediately, then drag to selected another button. And do it the same way with +-x%-button so that + is selected as default for example.

    I would also suggest removing animation of opacity of keyboard, since it disturbs the focus.

    Is my description understandable?

    Bug: selecting a line doesn't show the keyboard or copy/paste options (unless the keyboard is already visible)

  • SimeonSimeon Admin Mod
    edited January 2014 Posts: 5,420

    @Andrew_Stacey does your sprite pack have a ".spritepack" extension, or ".assetpack"?

    The white keyboard bug is an odd one, I'm still trying to figure out if it's iOS 7 or my bug.

    The math functions will need to be updated for 64 bit — I forgot about those, thank you for the reminder (i.e., functions in math.*). The way it works is as follows:

    • Lua is internally 64 bit
    • OpenGL remains 32 bit

    So anything you fetch from the renderer (viewMatrix, et al) is converted from 32 to 64 bit when is comes into your Lua code. This is a little more expensive than what was happening before, but the tradeoff needed to happen some time. If there is anything fishy going on with maths then please let me know about it.

    ElapsedTime and isRecording both autocomplete for me — there may be a case where Codea autocompletes local variables with similar names instead of built-ins. If you can discover such a case it would be good to hear about.

    Regarding the extra symbols: I can add them back in, but cluttering the popup could lead to it being less used. So I'm trying to give a lot of thought to what's included.

  • SimeonSimeon Admin Mod
    Posts: 5,420

    @Andrew_Stacey on the tapping vs. holding: the previous version of Codea only had the expression popup appear instantly — which is the same as the new version. None of the other keys had "extra options," those are additional in this version. So there should be a net gain here (excepting the symbols you are missing).

    I'm hesitant to change the behaviour, but I will try reducing the hold delay for the next build so you don't have to wait as long. Typing speed isn't the only factor I'm trying to optimise here: consistency with iOS and discoverability are quite important for me as well.

    @tnlogy good suggestion and I will give it some thought as well. I'll have to see how it feels.

  • SimeonSimeon Admin Mod
    edited January 2014 Posts: 5,420

    On the whole is the editor feeling better for everyone than the previous version? Is autocomplete more helpful? Do the new features such as multi-line comments, inline errors, colour preview make much difference?

    Edit: I'm not sure if anyone has noticed this feature but when the circle appears around the text insertion caret it means you can grab the circle and drag to immediately start selecting text. Did anyone discover this?

  • Posts: 2,161

    Okay, I'm beginning to find my way around the new keys. I see what you mean about the +- one being an honest pop-up, so that one is okay (once I get used to the hold-release rather than tap-tap). What's causing my complaints is that the [], {}, and "" are no longer on that pop-up so take longer to get to. Also, I think that < and > at the least are high-use symbols so should be there. I'm less bothered about # and ^, though they'd be nice. Maybe > and < can go on the = pop-up since they are comparisons.

    I also liked that the selection button could start a selection: if I have the cursor at the right point then I don't want to risk tapping the screen again. And that both ends of the selection could move - though I think I'll like the current behaviour once I get used to it as I can see distinct advantages.

    I've just noticed that the comment button -- always inserts the comment at the start of the line, not at the current cursor position. Is that deliberate?

  • Posts: 2,161

    Some positive comments: Yes, I like the new commenting facilities. And I hadn't noticed that about the circle, but now that you point it out then I like it a lot. Not so bothered about the colour preview (most of my colours are virtual anyway), but quite happy to have it there.

  • SimeonSimeon Admin Mod
    Posts: 5,420

    @Andrew_Stacey yes the comment button has two behaviours: at the start or anywhere in a line it toggles the comment on OR off for the whole line. If you are already at the end of a line (one space past the end so the cursor is not at a character boundary) then it adds a comment marker after the end so you are ready to type a comment for that line.

    I felt that these were the two behaviours I used the most. The unaccounted for behaviour, commenting a part of an existing line, is something I do much less frequently so that is left to doing manually.

    Thanks for all the feedback on symbol keys, I will keep thinking on it.

Sign In or Register to comment.