Something went wrong. Try again.
inkfinite (an infinite canvas/whiteboard) monorepo ink.stormlightlabs.org
svelte rust tauri svg canvas perfect-freehand
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234{ "cases": [ { "name": "free-straight", "routing": "straight", "points": [ { "x": 0, "y": 0 }, { "x": 100, "y": 50 } ], "expected": { "routing": "straight", "waypoints": [ { "x": 0, "y": 0 }, { "x": 100, "y": 50 } ], "path": { "fill_rule": "nonzero", "subpaths": [ { "closed": false, "segments": [ { "type": "move", "to": { "x": 0, "y": 0 } }, { "type": "line", "to": { "x": 100, "y": 50 } } ] } ] } } }, { "name": "multi-point-straight", "routing": "straight", "points": [ { "x": 0, "y": 0 }, { "x": 40, "y": 20 }, { "x": 100, "y": 0 } ], "expected": { "routing": "straight", "waypoints": [ { "x": 0, "y": 0 }, { "x": 40, "y": 20 }, { "x": 100, "y": 0 } ], "path": { "fill_rule": "nonzero", "subpaths": [ { "closed": false, "segments": [ { "type": "move", "to": { "x": 0, "y": 0 } }, { "type": "line", "to": { "x": 40, "y": 20 } }, { "type": "line", "to": { "x": 100, "y": 0 } } ] } ] } } }, { "name": "free-curved-bend", "routing": "curved", "bend": 20, "points": [ { "x": 0, "y": 0 }, { "x": 100, "y": 0 } ], "expected": { "routing": "curved", "waypoints": [ { "x": 0, "y": 0 }, { "x": 100, "y": 0 } ], "path": { "fill_rule": "nonzero", "subpaths": [ { "closed": false, "segments": [ { "type": "move", "to": { "x": 0, "y": 0 } }, { "type": "quadratic", "control": { "x": 50, "y": 20 }, "to": { "x": 100, "y": 0 } } ] } ] } } }, { "name": "free-curved-zero-bend", "routing": "curved", "bend": 0, "points": [ { "x": 0, "y": 0 }, { "x": 100, "y": 0 } ], "expected": { "routing": "curved", "waypoints": [ { "x": 0, "y": 0 }, { "x": 100, "y": 0 } ], "path": { "fill_rule": "nonzero", "subpaths": [ { "closed": false, "segments": [ { "type": "move", "to": { "x": 0, "y": 0 } }, { "type": "quadratic", "control": { "x": 50, "y": 0 }, "to": { "x": 100, "y": 0 } } ] } ] } } }, { "name": "free-curved-negative-bend", "routing": "curved", "bend": -20, "points": [ { "x": 0, "y": 0 }, { "x": 100, "y": 0 } ], "expected": { "routing": "curved", "waypoints": [ { "x": 0, "y": 0 }, { "x": 100, "y": 0 } ], "path": { "fill_rule": "nonzero", "subpaths": [ { "closed": false, "segments": [ { "type": "move", "to": { "x": 0, "y": 0 } }, { "type": "quadratic", "control": { "x": 50, "y": -20 }, "to": { "x": 100, "y": 0 } } ] } ] } } }, { "name": "free-curved-short-bend", "routing": "curved", "bend": 2, "points": [ { "x": 0, "y": 0 }, { "x": 4, "y": 0 } ], "expected": { "routing": "curved", "waypoints": [ { "x": 0, "y": 0 }, { "x": 4, "y": 0 } ], "path": { "fill_rule": "nonzero", "subpaths": [ { "closed": false, "segments": [ { "type": "move", "to": { "x": 0, "y": 0 } }, { "type": "quadratic", "control": { "x": 2, "y": 2 }, "to": { "x": 4, "y": 0 } } ] } ] } } }, { "name": "free-curved-long-bend", "routing": "curved", "bend": -80, "points": [ { "x": 0, "y": 0 }, { "x": 400, "y": 0 } ], "expected": { "routing": "curved", "waypoints": [ { "x": 0, "y": 0 }, { "x": 400, "y": 0 } ], "path": { "fill_rule": "nonzero", "subpaths": [ { "closed": false, "segments": [ { "type": "move", "to": { "x": 0, "y": 0 } }, { "type": "quadratic", "control": { "x": 200, "y": -80 }, "to": { "x": 400, "y": 0 } } ] } ] } } }, { "name": "free-curved-multi-point", "routing": "curved", "cornerRadius": 10, "points": [ { "x": 0, "y": 0 }, { "x": 40, "y": 0 }, { "x": 40, "y": 40 } ], "expected": { "routing": "curved", "waypoints": [ { "x": 0, "y": 0 }, { "x": 40, "y": 0 }, { "x": 40, "y": 40 } ], "path": { "fill_rule": "nonzero", "subpaths": [ { "closed": false, "segments": [ { "type": "move", "to": { "x": 0, "y": 0 } }, { "type": "line", "to": { "x": 30, "y": 0 } }, { "type": "quadratic", "control": { "x": 40, "y": 0 }, "to": { "x": 40, "y": 10 } }, { "type": "line", "to": { "x": 40, "y": 40 } } ] } ] } } } ]}