Skip to content

a user interface, infinite whiteboard with interactive elements, zoom while drawing, infiniteCanvas, fabricjs infinitewhiteboard, fabric js infinite canvas, virtual whiteboard, freedrawing mathgame

License

Notifications You must be signed in to change notification settings

teachingbeforedying/a-user-interface

Repository files navigation

A User Interface

Drawing demo

Try it !

(Keep ² or ` key pressed (right above TAB) and click to draw)
https://mathgame.fr/3DRoom+ic.html

Advice: To be very comfortable and precise,
reverse left click and right click in your OS mouse settings,
so that index finger scrolls mouse wheel while middlefinger is clicking

About

Infinite whiteboard with interactive elements.
Originally designed for students to manipulate math objects.
Can be used for making presentations, drawings, games or all at the same time.
Open for any kind of improvement, or degeneration.

Key features

Infinite canvas: space is not constrained in width, height, or depth
Z-scroll: resize your elements in a blink
Z-index: bring this in front of that
Create and save/load presentations with text, images, videos, ...
Easy yet awesome freeDraw UX (zPencil, comb, zPixel, ...)
Batch paste
Interactive objects
Operators
Math objects
Composites
Conveyors
Vessels
Pathmade operators
Platform operators
Cores
Povs (replacement for 'slides')
...and many others, scattered here and there

Video

https://www.youtube.com/watch?v=ZGPzRM4oQSw

Try it offline !

  1. Download project : [Code] (green button) > [Download ZIP]
    OR more simply: iC.zip
  2. Open ic.html
    (3. Mess around with objects and keyboard shortcuts)

For math stuff: https://mathgame.fr (or index.html in offline mode)

Vision

The vision is to create a galaxy of interactive objects to teach/learn differently.
But, to be pragmatic, it's all about z-ifying all that can be z-ified
(i.e. what if all software were made with infinite canvas as a principle)

A ton of ideas still remain in still_shute
Some are written in English and some in French.
Ideas rating: from *** (very good idea) to * (nice idea)

Interested by an idea? Go on and code it yourself!


There is some (huge) refactoring to do (Reduce loc nb, create lib(s) with separate files, improve performance, ...)
See this as the first version of something bigger




Development routine

3 tabs in VSCode:
programmashute: day-to-day low-level technical issues and progresses
3DRoom+ic.html: code
still_shute: "ideas worth coding"

About

a user interface, infinite whiteboard with interactive elements, zoom while drawing, infiniteCanvas, fabricjs infinitewhiteboard, fabric js infinite canvas, virtual whiteboard, freedrawing mathgame

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages