fix: Better fill rendering with latest RoughJS (#7031)

Co-authored-by: dwelle <luzar.david@gmail.com>
This commit is contained in:
Preet 2023-10-20 06:08:24 -07:00 committed by GitHub
parent 3697618266
commit d2a508104e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 44 additions and 32 deletions

View file

@ -12,6 +12,7 @@ import type {
import { isPathALoop, getCornerRadius } from "../math";
import { generateFreeDrawShape } from "../renderer/renderElement";
import { isTransparent, assertNever } from "../utils";
import { simplify } from "points-on-curve";
const getDashArrayDashed = (strokeWidth: number) => [8, 8 + strokeWidth];
@ -334,7 +335,8 @@ export const _generateElementShape = (
if (isPathALoop(element.points)) {
// generate rough polygon to fill freedraw shape
shape = generator.polygon(element.points as [number, number][], {
const simplifiedPoints = simplify(element.points, 0.75);
shape = generator.curve(simplifiedPoints as [number, number][], {
...generateRoughOptions(element),
stroke: "none",
});