Skip to content
Greg Stanton edited this page Jul 19, 2023 · 13 revisions

Welcome to the Mathemagical.js wiki!

During the throwaway prototype phase, we're using this as a place to document the project.

Design principles

  • Accessibility: It must be easy for beginner users and contributors.
  • Interactivity: It must be easy to make visualizations interactive!
  • Expressiveness: It must be easy to create custom aesthetics.

Documentation

Using

Eventually, we plan to create user-friendly, interactive documentation with a documentation generator. While Mathemagical.js is in its prototype phase, we can use wiki documentation, which we can link to from here.

Contributing

We welcome contributions of all kinds, and of any size! This includes community building, helping with logo design, providing feedback, and many other things. As we get up and running, we'll provide more detailed information about these kinds of contributions here. If you'd like to be notified of project updates and opportunities like online meetups, you can fill out our community form.

We'll also have developer documentation to make it easier to improve the library. Currently, we're working on a Mathemagical prototype, which resides in a single JavaScript file; users can test out the prototype in the p5.js Web Editor.

After the prototype phase, we may use Vite as a replacement for much of the tooling used by p5.js itself. In general, our plan is to be consistent with p5 development practices, to make things easier for contributors coming from the p5 community, while staying open minded about changes that would offer significant advantages. Some adjustments are probably inevitable (e.g. there is ongoing discussion about changing the current documentation build process for p5).

Designing

While we're in the prototype phase, we may make changes to the interface. Before doing so, we can check our design documentation, in order to

  1. ensure that any changes account for the existing design rationale
  2. update the list of design decisions or their respective rationales
Clone this wiki locally