You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
A.Olokhtonov ee1d1471f4 Pretty(er) player cursor: bright colors and an actual icon 10 months ago
client Pretty(er) player cursor: bright colors and an actual icon 10 months ago
server Draw player pointers as colored squares with html 10 months ago
.gitignore Don't repeat points segment points. Introduce "tv" (typedvector) 10 months ago
Caddyfile Do not upload buffers each frame (DUH!), re-introduce dynamic data, set headers in caddy to enable precise timings 1 year ago
LICENSE Added LICENSE (unlicense) 1 year ago
README.md Pretty(er) player cursor: bright colors and an actual icon 10 months ago

README.md

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) - Z-prepass fringe bug (also, when do we enable the prepass?) - Textured quads (pictures, code already written in older version) - Resize and move pictures (draw handles) - Further investigate GC pauses in Firefox - 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] - 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! - Be able to have multiple "current" strokes per player. In case of bad internet this can happen! * Missing features I do not consider bonus + Player pointers - Player list - Follow player - Eraser - Line drawing - 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 * 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 - 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 - Further optimization - Draw LOD size histogram for various cases (maybe we see that in our worst case 90% of strokes are down to 3-4 points) - If we see lots of very low detail strokes, precompute zoom level for 3,4,... points left

Bonus-bonus: - Actually infinite canvas (replace floats with something, some kind of fixed point scheme? chunks? multilevel scheme?)