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 6f19e6c954 Uneven capsules (and a very naive shader) to draw getter variable-width lines 10 months ago
client Uneven capsules (and a very naive shader) to draw getter variable-width lines 10 months ago
server First working draft of pressure hanlding 10 months ago
.gitignore Redraw HTML on canvas move, first draft of wasm LOD core 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 Fix strokes being added to storage even when skipped by SN logic 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) + 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 - 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) + 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 - 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 + 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/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 - 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 - 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?)