Proposal: Mogan Draw

Level: Medium / Hard

What

Improve the built-in tool for making technical graphics and make it user-friendly enough for most users.

Imagine that you are a teacher in a junior high school teaching Euclid’s Elements, and you are using Mogan Editor/GNU TeXmacs to prepare the slides.

Here is the link to Euclid’s Element (in Greek), you should be able to re-draw the figures in Euclid’s Element via Mogan Draw in an easy way (straight-forward and no need to remember any tricks) and can persuade your colleagues to use Mogan Draw.

http://www.physics.ntua.gr/~mourmouras/euclid/

UI Re-design

The User Interface (eg. Cursor) should be re-designed.

Some mature products:

We have discussed it (in Chinese) on 2023/04/16:
https://www.bilibili.com/video/BV1Sc411p7cp

New Features

  • Draw a circle with its center and radius
  • Draw a ellipse, and more basic commonly used figures
  • Implement various kinds of arrows and decorations
  • Implement more features of quiver

Bug Fixes

There are severe bugs. That’s why we maintain the figures of the interactive SICP separately:

Bonus 1 (Hard Level)

  • Make it work in WASM as a independent app

Bonus 2 (Hard Level)

Design a language similar to Eukleides.

For now, we can switch between the Scheme trees and Figure. But the Scheme trees are not friendly enough to edit.

The design of this language must follow the design goal of the Mogan Language.

Why

Because technical graphics are important for exploring Science and Technology.

How

1 Like

I looked at arrows (which are currently quite ugly). They are implemented in the C++ code, which is not clear to me why, we should allow the user to implement its own arrows. And maybe program new objects in Scheme. (see e.g. progs/graphics/graphics-markup.scm for some example). For example a better UI to handle arrows with labels on them. Or curved arrows. And enough infrastructure to make easy to draw commutative diagrams or other diagrams. One could take inspiration by tools like https://q.uiver.app and https://www.mathcha.io .

I’d like to work on this proposal. Going to start my research tomorrow.

3 Likes