← Back to all posts

Heliodex project update – July 2025

Published 12 August 2025 at 22:48
Updated 12 August 2025 at 22:48

Another project update! I never know what to write in the first paragraph of these things. Here's what I've worked on over the last month.

Mercury

The documentation site on the docs branch has been updated with articles on installation of certain tools and further integration guides.

I've been experimenting with different ways to start up and manage Mercury's external services, mainly the Database and Economy service. This has usually been done with Docker, which is great when it works though often has issues on machines with poor support for virtualisation. Starting each process independently is difficult to manage. I tried using my own tool for this, which worked surprisingly well, but would shut down if its parent terminal was closed. Recently I tried Nomad, which worked better than Docker but still seems overkill for a project like Mercury.
The solution I'm beginning to explore is simply having the Site start up the Database and Economy services directly, or whenever it needs them. This seems like the most straightforward option and will simplify a lot of documentation relating to their usage in both development and production environments.

A rewrite of some of the Site's backend functions is due, given that SvelteKit's remote functions feature has just been fully released. This will likely make loading data to the client-side a lot easier and simplify the logic for doing so. Big thanks to the SvelteKit team for this!

In terms of the Mercury 3 client, its development is effectively complete, with a number of small patches still to be finished. After this, Mariner (the DLL hook) will be further worked on with aims to re-enable features in the client and allow them to work with Mercury Core.

Coputer

Coputer's first gateway is hosted at coputer.heliodex.cf, and the first program at first-h2lk2orlh-cctfxch0x-5yd7n93mg-zxmn64hy4-wfe6s2l9z.coputer.heliodex.cf. The first program uses a custom layout system based on HTML and inline CSS to integrate nicely with Luau's syntax, and also shows some information on how different parts of the Coputer system interact with each other.

More VM optimisations have been made to Litecode, mainly starting by benchmarking basic functions in the standard library. Through this, I found that some custom functions, notably float32 mathematics, were actually slower than simply using the standard library and converting between number types. I hope to keep benchmarking larger functions until some noticeable performance improvements are made.
Some fixes have also been made to error messages in files which require other files, which previously sometimes resulted in every point in the error stack erroneously referring to the same file.

Interesting experiments are being carried out in the ast branch of the repository, with an implementation of Luau's AST node structure, parsing the JSON output of luau-ast (During this, I found an issue with Luau's JSON serialisation which was fixed in 685. Pretty cool!). The node structure still needs some more refinement to have enough detail to be useful for anything.

While waiting for release 685 to come out, I also wrote a working Luau lexer, passing all of the reference implementation's tests. I planned to work on a parser implementation next, though this would be a significantly more complex undertaking.

Sprig

I've had some fun writing more on my custom Sprig firmware, which now handles button presses and screen rendering through an event loop, with improved screen drawing routines. One of the problems with the Pi Pico used to power the Sprig is its low RAM, and allocations larger than a few kilobytes regularly cause crashes. I've been considering souping up the Sprig with a Pico 2/Orpheus Pico/other microcontroller to help with this, which would be a fun project.

I'd like to write a small game engine for native (probably in TinyGo) games. I could also look into whether it would be possible to embed an interpreter such as Litecode, given that Spade, the reference Sprig firmware, did this with JerryScript. AtomVM using Erlang/Elixir/other BEAM languages could also work instead of TinyGo, though I'd need to write an st7735 driver before being able to get display output.

Other posts

Heliodex project update – May 2026

May 2026 updates for Heliodex projects

Published 4 June 2026 at 17:01 #monthlyupdate

Welcome!

The first actually-official post of my blog.

Published 25 May 2026 at 01:56

Heliodex project update – April 2026

Project update for Heliodex projects in April 2026

Published 3 May 2026 at 02:02 #monthlyupdate

Heliodex project update – March 2026

March 2026 issue of the Heliodex project update

Published 6 April 2026 at 20:18 #monthlyupdate

Heliodex project update – February 2026

Monthly project update – February 2026

Published 4 March 2026 at 04:49 #monthlyupdate

Heliodex project update – January 2026

1st 2026 project updateee

Published 6 February 2026 at 00:42 #monthlyupdate

Heliodex project update – December 2025

Updates for Heliodex projects in December 2025

Published 12 January 2026 at 23:09 #monthlyupdate

Heliodex project update – November 2025

November 2025 Heliodex project update

Published 12 December 2025 at 20:17 #monthlyupdate

Heliodex project update – October 2025

Monthly update for October 2025

Published 9 November 2025 at 06:21 #monthlyupdate

Heliodex project update – September 2025

Another montly update for September 2025

Published 7 October 2025 at 12:58 #monthlyupdate

Heliodex project update – August 2025

Heliodex's monthly project update, for August 2025!

Published 9 September 2025 at 17:38 #monthlyupdate

Heliodex project update – June 2025

Monthly Heliodex project update for June 2025

Published 13 July 2025 at 17:45 #monthlyupdate

Heliodex project update – May 2025

Project update for May 2025

Published 13 June 2025 at 13:43 #monthlyupdate

Heliodex project update – April 2025

Monthly update for Heliodex's projects, April 2025

Published 10 May 2025 at 04:19 #monthlyupdate

Heliodex project update – March 2025

Another monthly update to Heliodex projects for March

Published 10 April 2025 at 19:27 #monthlyupdate

Heliodex project update – February 2025

Heliodex monthly project update for February 2025

Published 10 March 2025 at 01:08 #monthlyupdate

Heliodex project update – January 2025

irst 2025 monthly Heliodex project update

Published 13 February 2025 at 17:38 #monthlyupdate

Heliodex project update – December 2024

Changes to Heliodex projects for the end of 2024

Published 14 January 2025 at 23:55 #monthlyupdate

Heliodex project update – November 2024

Update for projects by me for November 2024

Published 14 December 2024 at 07:15 #monthlyupdate

Heliodex project update – October 2024

actual October 2024 update

Published 13 November 2024 at 00:13 #monthlyupdate

Heliodex project update – September 2024

September* 2024 Heliodex projects update

Published 8 October 2024 at 00:31 #monthlyupdate

Heliodex project update – July/August 2024

Double July and August 2024 update by Heliodex

Published 8 September 2024 at 23:59 #monthlyupdate

Heliodex project update – June 2024

big June 2024 update for projects with Heliodex yeah

Published 12 July 2024 at 04:34 #monthlyupdate

Heliodex project update – May 2024

May 2024: more updates for projects by Heliodex

Published 7 June 2024 at 22:10 #monthlyupdate

Heliodex project update – April 2024

update 4 for 2024 for Heliodex projects in April

Published 14 May 2024 at 04:09 #monthlyupdate

Heliodex project update – March 2024

Heliodex projects update for 2024 March

Published 4 April 2024 at 07:49 #monthlyupdate

Heliodex project update – February 2024

update for Heliodex projects month of February 2024

Published 8 March 2024 at 23:50 #monthlyupdate

Heliodex project update – January 2024

first 2024 january Heliodex project update

Published 13 February 2024 at 04:13 #monthlyupdate

Heliodex project update – December 2023

final 2023 Heliodex project update

Published 13 January 2024 at 03:58 #monthlyupdate

Bootstrap considered harmful

Bootstrap considered harmful

Published 4 January 2024 at 15:10

Heliodex project update – November 2023

update information for Heliodex projects in November 2023

Published 11 December 2023 at 13:52 #monthlyupdate

Heliodex project update – October 2023

update to projects by Heliodex for October

Published 6 November 2023 at 02:41 #monthlyupdate

Heliodex project update – September 2023

late update to Heliodex projects for the month of September

Published 8 October 2023 at 18:31 #monthlyupdate

Heliodex project update – August 2023

update for August on projects by Heliodex

Published 2 September 2023 at 23:26 #monthlyupdate

Heliodex project update – July 2023

Heliodex projects July update

Published 4 August 2023 at 04:14 #monthlyupdate

Heliodex project update – June 2023

update for June on Heliodex projects

Published 2 July 2023 at 07:12 #monthlyupdate

Heliodex project update – May 2023

information about projects by Heliodex for May

Published 3 June 2023 at 02:46 #monthlyupdate

Heliodex project update – April 2023

update for Heliodex projects april

Published 2 May 2023 at 21:52 #monthlyupdate

Heliodex project update – March 2023

Project update 5 for march

Published 2 April 2023 at 22:04 #monthlyupdate

Heliodex project update – February 2023

Heliodex project update 4

Published 3 March 2023 at 22:35 #monthlyupdate

Heliodex project update – January 2023

project update 3

Published 2 February 2023 at 04:59 #monthlyupdate

Heliodex project update – December 2022

project update number 2

Published 2 January 2023 at 05:26 #monthlyupdate

Heliodex project update – November 2022

project update for projects

Published 24 November 2022 at 19:15 #monthlyupdate