|
|
|
Release:
|
|
|
|
* Engine
|
|
|
|
+ Benchmark harness
|
|
|
|
+ Reuse points, pack "nodraw" in high bit of stroke id (probably have at least one more bit, so up to 4 flag configurations)
|
|
|
|
- Draw dynamic data (strokes in progress)
|
|
|
|
- Textured quads (pictures, code already written in older version)
|
|
|
|
- Resize and move pictures (draw handles)
|
|
|
|
- Z-prepass fringe bug (also, when do we enable the prepass?)
|
|
|
|
- Restore ability to limit event range
|
|
|
|
- Only upload stroke data to texture as it arrives (texSubImage2D)
|
|
|
|
- Listeners/events
|
|
|
|
- Investigate skipped inputs on mobile (panning, zooming)
|
|
|
|
- Save events to indexeddb (as some kind of a blob), restore on reconnect and page reload
|
|
|
|
- Separate events and other data clearly (events are self-contained, other data is temporal/non-vital)
|
|
|
|
- Do NOT use session id as player id LUL
|
|
|
|
- Local prediction for tools!
|
|
|
|
- Drag with mouse button 3
|
|
|
|
- Missing features I do not consider bonus
|
|
|
|
- Eraser
|
|
|
|
- Line drawing
|
|
|
|
- Player screens/pointers
|
|
|
|
- Follow player (like Ligma)
|
|
|
|
- Color picker (or at the very least an Open Color color pallete)
|
|
|
|
- Undo/redo
|
|
|
|
- Dynamic svg cursor to represent the brush
|
|
|
|
- Polish
|
|
|
|
- Show what's happening while the desk is loading (downloading, processing, uploading to gpu)
|
|
|
|
- Settings panel (including the setting for "offline mode")
|
|
|
|
- Presentation / "marketing"
|
|
|
|
- Title
|
|
|
|
- Icon
|
|
|
|
- Product page (github readme, demo videos)
|
|
|
|
|
|
|
|
Bonus:
|
|
|
|
- Handle pressure
|
|
|
|
- Add pressure data to quads
|
|
|
|
- Draw capsules instead of segments
|
|
|
|
- Adjust curve simplification to include pressure info
|
|
|
|
- Curve modification
|
|
|
|
- Select curves (with a lasso?)
|
|
|
|
- Move whole curve
|
|
|
|
- Move single point
|
|
|
|
- Move multiple points
|
|
|
|
- Customizable background
|
|
|
|
- Color, textures, procedural
|
|
|
|
|
|
|
|
Bonus-bonus:
|
|
|
|
- Actually infinite canvas (replace floats with something, some kind of fixed point scheme? chunks? multilevel scheme?)
|