~project-mage/news

Announcement #1

Details
Message ID
<cb8195169321ccb533eae5116ce15813@project-mage.org>
DKIM signature
pass
Download raw message
Hi, everyone! Good news!

I haven't reached the funding goals, but that's OK! Already, with the 
support of the patrons (thank you!), I think I will be able to work on 
Mage something close to full-time for all of 2023 (at least).

The plan for this year is pretty simple: bring Fern up to speed. It's 
going to be a GUI toolkit. In a few ways, it's rather simple, but in 
others, it's quite powerful. The foundation has been established, in 
most part thanks to the Garnet[1] and the Multi-Garnet[2] projects from 
many years back.

That foundation does need to see some improvements. I have described the 
reasoning for them in the Fern section[3] on the website. The gist of it 
comes down to:

- Knowledge-Represention improvements
   - Better syntax. (This will be done ASAP.)
   - Meta info accessible via a slot.
   - Generalized selectors.
   - Configurations.
   - Contexts.
- Constraint management improvements
   - Better syntax. (This will also be done ASAP.)
   - Advice for constraints (this is yet to be designed carefully).
   - Change predicates (just an optimization, for what it's worth).
   - Parameterized pointer variables via generalized selectors.
   - Asynchronous execution.
   - Slot change hooks.
- 2D Graphics
   - Some additions to the geometry and linear algebra modules.
   - A simple 2D API for geometry + backend (via SDL).
   - Event objects + backend (via SDL).
   - A simple text API + backend (via Pango).
- Cells

Once Fern is ready, it should be possible to start working on the editor 
specification and some actual editors: Rune and Kraken. But that's 
unlikely to happen until next year.

So, I will probably spend the next few days setting up my environment, 
and then populating the Wiki[4] of the project. Then I will switch to 
programming.

Also, some people have shown interest in the code. Please, if you are 
learning about Fern or even want to be implementing something, do 
communicate with me! It's important to be on the same page. In the next 
few days, I will be populating the Wikis with some development notes for 
anyone interested in learning about the code, as well as talk about the 
future course of development. Just for now, the best place to learn 
about the code is still the project's website Code page[5].

The development will be taking place on Sourcehut: 
https://sr.ht/~project-mage/

I found Sourcehut to be geared for the efficient workflow over mail, and 
yet it seems to have a decent web interface.

I hope to make the best of it. So, again, thank you all!

P.S. I will write news and updates on the development about once a 
month. I will publish them on the Project's Campaign page and on 
Patreon, as well as send them via this mailing list.

There are other mailing lists[6] other than this one, too, for 
develepment and general discussions. And, in general, if anyone has any 
concerns or suggestions, feel free to contact me[7].

[1] http://www.cs.cmu.edu/~garnet/
[2] https://constraints.cs.washington.edu/ui/multi-garnet-92.html
[3] https://project-mage.org/the-power-of-structure#Fern
[4] https://man.sr.ht/~project-mage/
[5] https://project-mage.org/Code
[6] https://lists.sr.ht/~project-mage/
[7] https://project-mage.org/Contact
Reply to thread Export thread (mbox)