|
|
|
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)
|
|
|
|
+ Webassembly for core LOD generation
|
|
|
|
+ Webassembly for final buffers
|
|
|
|
+ Do not copy memory to wasm, instead use wasm memory to store data in the first place
|
|
|
|
+ SIMD for LOD?
|
|
|
|
+ Multithreading for LOD
|
|
|
|
+ Textured quads (pictures, code already written in older version)
|
|
|
|
- Z-prepass fringe bug (also, when do we enable the prepass?)
|
|
|
|
- Resize and move pictures (draw handles)
|
|
|
|
+ Bugs
|
|
|
|
+ GC stalls!!!
|
|
|
|
+ Stroke previews get connected when drawn without panning on touch devices
|
|
|
|
+ Redraw HTML (cursors) on local canvas moves
|
|
|
|
+ New strokes dissapear on the HMH desk
|
|
|
|
- Color picker misses on strange line endings
|
|
|
|
- Debug
|
|
|
|
- Restore ability to limit event range
|
|
|
|
* Listeners/events/multiplayer
|
|
|
|
+ Fix multiplayer LUL
|
|
|
|
+ Fix blinking own stroke inbetween SYN->server and SYN->client
|
|
|
|
+ Drag with mouse button 3
|
|
|
|
+ Investigate skipped inputs on mobile (panning, zooming) [Events were not actually getting skipped. The stroke previews were just not being drawn]
|
|
|
|
+ Smooth zoom
|
|
|
|
+ Infinite background pattern
|
|
|
|
- Be able to have multiple "current" strokes per player. In case of bad internet this can happen!
|
|
|
|
- Do NOT use session id as player id LUL
|
|
|
|
- Save events to indexeddb (as some kind of a blob), restore on reconnect and page reload
|
|
|
|
- Local prediction for tools!
|
|
|
|
* Missing features I do not consider bonus
|
|
|
|
+ Player pointers
|
|
|
|
+ Pretty player pointers
|
|
|
|
+ Player list
|
|
|
|
+ Follow player
|
|
|
|
+ Color picker (or at the very least an Open Color color pallete)
|
|
|
|
+ EYE DROPPER!
|
|
|
|
+ Dynamic svg cursor to represent the brush
|
|
|
|
- Eraser
|
|
|
|
- Line drawing
|
|
|
|
+ Undo
|
|
|
|
- Undo for images
|
|
|
|
- Redo
|
|
|
|
* Polish
|
|
|
|
+ Use typedvector where appropriate
|
|
|
|
- Show what's happening while the desk is loading (downloading, processing, uploading to gpu)
|
|
|
|
- Settings panel for config values (including the setting for "offline mode")
|
|
|
|
- Set up VAOs
|
|
|
|
- We are calling "geometry_prepare_stroke" twice for some reason
|
|
|
|
- Presentation / "marketing"
|
|
|
|
- Title (InfiNotes?)
|
|
|
|
- Icon
|
|
|
|
- Product page (github readme, demo videos)
|
|
|
|
|
|
|
|
Bonus:
|
|
|
|
* Handle pressure
|
|
|
|
+ Add pressure data to quads
|
|
|
|
+ Account for pressure in quad/bbox calc
|
|
|
|
+ Adjust curve simplification to include pressure info
|
|
|
|
+ Migrate old non-pressure desks
|
|
|
|
- Check out e.pressure on touch devices
|
|
|
|
- Send pressure in PREDRAW event
|
|
|
|
- Curve modification
|
|
|
|
- Select curves (with a lasso?)
|
|
|
|
- Move whole curve
|
|
|
|
- Move single point
|
|
|
|
- Move multiple points
|
|
|
|
* Customizable background
|
|
|
|
+ Dots pattern
|
|
|
|
+ Grid pattern
|
|
|
|
- Menu option
|
|
|
|
|
|
|
|
Bonus-bonus:
|
|
|
|
- Actually infinite canvas (replace floats with something, some kind of fixed point scheme? chunks? multilevel scheme?)
|