Show newer
skyjake boosted

Bare metal UXN running on the PI4 hardware!

For some reason this refused to work with -O2 optimizations, but works fine on -O1. Probably need to do some assembly archeology to find what is going on.

Major updates to Lagrange have been coming in at a bit slower pace over the past few months. Looking forward to some serious coding in the future.


skyjake boosted

v1.6.5 is available:

Various minor bug fixes this time. Worth mentioning is the KMSDRM fix, so one can run the app in a console outside X11 and Wayland. (Tested on Raspberry Pi 400.)

There's been a little pause on this but I'm still working on my small Emoji font. Here's today's glyph: A turkey!

The Emoji test page in Lagrange shows full coverage up to Unicode 7. The turkey is part of Unicode 8 (about halfway done).

Note: Lagrange uses Noto Emoji/Symbol fonts as well.

This week's patch is out:

v1.6.4 fixes of a mix of old and new issues, including a few found on OpenBSD. I also added detection of UTF-8 text when opening local files, so it isn't restricted to known file extensions.

@ainent Thanks, this clarifies it!

Looks like the DPI is fine as-is. The UI is using the desktop layout, which is not surprising because the mobile layout is hardcoded to be used on iOS only. There might also be an unnecessary minimum window size that causes the right side of the UI to be out of bounds.

I'll add a build option for the mobile layout. It is much better for small screens.


I continued improving text input fields, and fixed a long-standing issue with delayed refresh after activating split view mode. Also fixed a possible hang if server doesn't respond before the connection is closed.

Built with SDL 2.0.16 for Windows and Mac.

SDL 2.0.16 seems to address the issue has been having with high CPU usage while waiting for events. Looking forward to test this!

The improved Wayland support sounds great, too.

I also note that on Windows there's a way to observe all window messages, which might allow improving the native app behaviors.

skyjake boosted

Listening to the Panic podcast about Playdate, and they're talking about how the hardware limitations stimulate them to develop games, and it makes me happy to see people discovering what's appealing about retro development. PICO-8 and Playdate have allowed a whole lot of people that aren't willing to or can't write assembly and/or C on old consoles to still be able to experience some of the things that makes retro dev great.

Released v1.6.2:

Slightly bigger patch this time:
* text input UX improvements
* fixed more input widget regressions
* improving UI drawing related to buffered visuals
* added `--tab-url`

Gemlogging using Lagrange to test upcoming fixes for v1.6.2:


> I'm currently downloading IE 5.0. This is fantastic.

1999 was a different time... 馃檮

A couple of quick fixes for , mostly about text input:

The input widget was almost fully rewritten in v1.6 due to changes in text rendering and to better support long multi-line content. It's pretty complex code, so of course we also got many regressions.

skyjake boosted

@jk Excellent! Now it behaves exactly as one would expect! 馃憦

I've had an "interesting" time today updating all the distrib/CI scripts to correctly work with the new dependencies (HarfBuzz and FriBidi)...

If you're compiling Lagrange manually, you may run into some of the same issues. By default, both are enabled and `pkg-config` is used to find them. See the README for more options.

If fonts appear completely broken, your HarfBuzz may be an incompatible version. You can try ENABLE_HARFBUZZ_MINIMAL so it gets built as part of the app.

Show thread

Support for bidi text and complex scripts has landed in the dev branch.

I had to make a few more fixes for actual bidi typesetting (direction changes inside the paragraph), but it's starting to look acceptable now.

There was a final wrinkle where HarfBuzz wasn't detecting the script correctly, leading to some Arabic glyphs being wrong. It remains to be seen whether this is a problem with other complex scripts as well.

Show thread
Show older

skyjake's choices:

skyjake's personal Mastodon instance