Repository: fabricjs/fabric.js
Pull request #10284 (2024-11-16 23:29:21)

fix(Fabtictext) Svg export for text on a path
## Description

Fix SVG export for text object with text on a path

## In Action

<!-- Add screenshots or recordings if necessary or requested -->
<!-- Are you proposing a performance change? show a some proof of performance -->


codesandbox[bot]: #### Review or Edit in CodeSandbox

Open the branch in <a href="https://codesandbox.io/p/github/fabricjs/fabric.js/svg-export-path?mode=review&utm_source=gh_app">Web Editor</a> &bull; <a href="https://codesandbox.io/p/vscode?owner=fabricjs&repo=fabric.js&branch=svg-export-path&utm_source=gh_app">VS Code</a> &bull; <a href="https://codesandbox.io/p/vscode?owner=fabricjs&repo=fabric.js&branch=svg-export-path&insiders=true&utm_source=gh_app">Insiders</a><br>
<details>
<summary>Open Preview</summary>
<ul><li><a href="https://codesandbox.io/p/devtool/preview/fabricjs/fabric.js/svg-export-path?task=next&port=3000&redirect=true&utm_source=gh_app">Run Next Template</a></li><li><a href="https://codesandbox.io/p/devtool/preview/fabricjs/fabric.js/svg-export-path?task=node&port=8080&redirect=true&utm_source=gh_app">Run Node Template</a></li><li><a href="https://codesandbox.io/p/devtool/preview/fabricjs/fabric.js/svg-export-path?task=vanilla&port=1234&redirect=true&utm_source=gh_app">Run Vanilla Template</a></li><li><a href="https://codesandbox.io/p/devtool/preview/fabricjs/fabric.js/svg-export-path?task=vue&port=5173&redirect=true&utm_source=gh_app">Run Vue Template</a></li></ul>
</details>

<!-- open-in-codesandbox:complete -->

github-actions[bot]: Coverage after merging <b>svg-export-path</b> into <b>master</b> will be<table><tbody><tr><th>86.51%</th></tr></tbody></table>

<details><summary>Coverage Report</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts'>fabric.ts</a></td><td><b>86.92%</b></td><td><b>20%</b></td><td><b>0%</b></td><td><b>95.79%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L10'>10</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L31'>31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L33-L34'>33&ndash;34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L34'>34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L34'>34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L34'>34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L34'>34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/fabric.ts#L8'>8</a></td></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/index.node.ts'>index.node.ts</a></td><td><b>14.29%</b></td><td>100%</td><td><b>0%</b></td><td><b>25%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/index.node.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/index.node.ts#L29'>29</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/index.node.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/index.node.ts#L44'>44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/index.node.ts#L47'>47</a></td></tr><tr><td colspan='6'><b>extensions/aligning_guidelines/util</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/extensions/aligning_guidelines/util/basic.ts'>basic.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>extensions/data_updaters/origins</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/extensions/data_updaters/origins/index.ts'>index.ts</a></td><td><b>97.50%</b></td><td><b>75%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/extensions/data_updaters/origins/index.ts#L22-L23'>22&ndash;23</a></td></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td><b>91.18%</b></td><td><b>64.29%</b></td><td>100%</td><td><b>97.92%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/ClassRegistry.ts#L35'>35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/ClassRegistry.ts#L56'>56</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts'>Collection.ts</a></td><td><b>78.71%</b></td><td><b>44.62%</b></td><td><b>87.10%</b></td><td><b>86.21%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L153'>153</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L155-L157'>155&ndash;157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L159'>159</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L169-L170'>169&ndash;170</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L197'>197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L217'>217</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L228'>228</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L241'>241</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L243'>243</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L252'>252</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L254'>254</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L265'>265</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L270'>270</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L279'>279</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L281'>281</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L286-L287'>286&ndash;287</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L302'>302</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L304'>304</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L309-L310'>309&ndash;310</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L329'>329</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L333-L334'>333&ndash;334</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L338-L344'>338&ndash;344</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L346-L348'>346&ndash;348</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Collection.ts#L350'>350</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>91.43%</b></td><td><b>71.43%</b></td><td>100%</td><td><b>96%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/CommonMethods.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/CommonMethods.ts#L52'>52</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/EventTypeDefs.ts'>EventTypeDefs.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Intersection.ts'>Intersection.ts</a></td><td><b>85.29%</b></td><td><b>49.46%</b></td><td>100%</td><td><b>97.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Intersection.ts#L184-L188'>184&ndash;188</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Intersection.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Intersection.ts#L228'>228</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Intersection.ts#L237'>237</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Intersection.ts#L239'>239</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Intersection.ts#L289'>289</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Intersection.ts#L297'>297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Intersection.ts#L297'>297</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts'>Observable.ts</a></td><td><b>80.63%</b></td><td><b>53.49%</b></td><td><b>93.75%</b></td><td><b>87.88%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L153'>153</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L156'>156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L168'>168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L170'>170</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L175'>175</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L68-L70'>68&ndash;70</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L72'>72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L80'>80</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L84-L85'>84&ndash;85</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Observable.ts#L87-L91'>87&ndash;91</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts'>Point.ts</a></td><td><b>90.53%</b></td><td><b>62%</b></td><td>100%</td><td><b>93.90%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L104'>104</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L117'>117</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L179'>179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L197'>197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L206'>206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L216'>216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L225'>225</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L236-L239'>236&ndash;239</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L259'>259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L285'>285</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L297'>297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L328'>328</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L341'>341</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L349'>349</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L359'>359</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Point.ts#L95'>95</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts'>Shadow.ts</a></td><td><b>89.21%</b></td><td><b>78.26%</b></td><td>100%</td><td><b>90%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts#L145-L150'>145&ndash;150</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts#L159'>159</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts#L196'>196</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts#L199'>199</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts#L206'>206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts#L223-L230'>223&ndash;230</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Shadow.ts#L234-L235'>234&ndash;235</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/cache.ts'>cache.ts</a></td><td><b>84.88%</b></td><td><b>45.45%</b></td><td>100%</td><td><b>90.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/cache.ts#L57'>57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/cache.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/cache.ts#L71-L72'>71&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/cache.ts#L74-L77'>74&ndash;77</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/config.ts'>config.ts</a></td><td><b>88.02%</b></td><td><b>55%</b></td><td><b>66.67%</b></td><td><b>94.20%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/config.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/config.ts#L138-L141'>138&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/config.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/config.ts#L146-L147'>146&ndash;147</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/config.ts#L151'>151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/config.ts#L156'>156</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/typedefs.ts'>typedefs.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/ActiveSelectionLayoutManager.ts'>ActiveSelectionLayoutManager.ts</a></td><td><b>93.33%</b></td><td><b>76.92%</b></td><td><b>85.71%</b></td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>90.75%</b></td><td><b>65.48%</b></td><td><b>76.92%</b></td><td><b>99.31%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutManager.ts#L279'>279</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutManager.ts#L344'>344</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutManager.ts#L355'>355</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts'>index.ts</a></td><td><b>48.57%</b></td><td><b>37.50%</b></td><td><b>80%</b></td><td><b>66.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L1'>1</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L1'>1</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L1-L2'>1&ndash;2</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L2'>2</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L2-L3'>2&ndash;3</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L3'>3</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L3-L4'>3&ndash;4</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L4'>4</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L4-L5'>4&ndash;5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L5'>5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L5'>5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/index.ts#L5-L6'>5&ndash;6</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/types.ts'>types.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager/LayoutStrategies</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>75%</b></td><td><b>56.25%</b></td><td>100%</td><td><b>78.95%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L41-L44'>41&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L46-L48'>46&ndash;48</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L66-L69'>66&ndash;69</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/FitContentLayout.ts'>FitContentLayout.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>85.71%</b></td><td><b>20%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>89.26%</b></td><td><b>60.71%</b></td><td>100%</td><td><b>97.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L75'>75</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>72.58%</b></td><td><b>50%</b></td><td>100%</td><td><b>78.72%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/utils.ts#L29-L32'>29&ndash;32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/utils.ts#L34-L35'>34&ndash;35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/LayoutManager/LayoutStrategies/utils.ts#L40-L44'>40&ndash;44</a></td></tr><tr><td colspan='6'><b>src/Pattern</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>67.50%</b></td><td><b>88.57%</b></td><td><b>80%</b></td><td><b>63.08%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L105-L107'>105&ndash;107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L119-L122'>119&ndash;122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L130-L138'>130&ndash;138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L153-L164'>153&ndash;164</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L174'>174</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L176-L181'>176&ndash;181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L183-L188'>183&ndash;188</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L190-L199'>190&ndash;199</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L203-L206'>203&ndash;206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L209-L210'>209&ndash;210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L212-L214'>212&ndash;214</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L216-L218'>216&ndash;218</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L218-L221'>218&ndash;221</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/Pattern.ts#L37'>37</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/index.ts'>index.ts</a></td><td><b>50%</b></td><td>100%</td><td>100%</td><td><b>50%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/index.ts#L2'>2</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/Pattern/types.ts'>types.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/brushes</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td><b>89.33%</b></td><td><b>91.67%</b></td><td>100%</td><td><b>88.55%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts#L115'>115</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts#L124-L125'>124&ndash;125</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts#L135'>135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts#L146'>146</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts#L155-L160'>155&ndash;160</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/BaseBrush.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>52.10%</b></td><td><b>12.50%</b></td><td><b>12.50%</b></td><td><b>58.25%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L100-L108'>100&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L108-L118'>108&ndash;118</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L130-L139'>130&ndash;139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L55'>55</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L69'>69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L78-L79'>78&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L83'>83</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L85-L86'>85&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/CircleBrush.ts#L92-L98'>92&ndash;98</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts'>PatternBrush.ts</a></td><td><b>73.91%</b></td><td><b>87.50%</b></td><td>100%</td><td><b>69.64%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts#L25-L31'>25&ndash;31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts#L34'>34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts#L36'>36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts#L44'>44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts#L62'>62</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts#L64-L67'>64&ndash;67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PatternBrush.ts#L69'>69</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts'>PencilBrush.ts</a></td><td><b>77.16%</b></td><td><b>82.35%</b></td><td>100%</td><td><b>74.44%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L116'>116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L124'>124</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L129'>129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L147-L149'>147&ndash;149</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L151-L152'>151&ndash;152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L155'>155</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L158'>158</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L169'>169</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L181-L184'>181&ndash;184</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L189'>189</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L191'>191</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L193-L194'>193&ndash;194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L198-L201'>198&ndash;201</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L205'>205</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L215'>215</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L224-L231'>224&ndash;231</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L235-L236'>235&ndash;236</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L238'>238</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L246'>246</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L248'>248</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L255-L256'>255&ndash;256</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L260-L263'>260&ndash;263</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L266'>266</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L278'>278</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L280-L288'>280&ndash;288</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L296-L297'>296&ndash;297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L299'>299</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L68'>68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/PencilBrush.ts#L84'>84</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts'>SprayBrush.ts</a></td><td><b>51.67%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>58.86%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L100'>100</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L107-L112'>107&ndash;112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L118-L120'>118&ndash;120</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L128-L135'>128&ndash;135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L137-L139'>137&ndash;139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L141-L148'>141&ndash;148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L162'>162</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L164'>164</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L169-L170'>169&ndash;170</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L172'>172</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L180'>180</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L182'>182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L185'>185</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L187'>187</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L195'>195</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L198-L200'>198&ndash;200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L200-L207'>200&ndash;207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L207-L210'>207&ndash;210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L212'>212</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L85-L87'>85&ndash;87</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/SprayBrush.ts#L94-L99'>94&ndash;99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/brushes/typedefs.ts'>typedefs.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/canvas</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>78.14%</b></td><td><b>40.17%</b></td><td><b>98.21%</b></td><td><b>88.73%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1012-L1013'>1012&ndash;1013</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1016'>1016</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1019-L1021'>1019&ndash;1021</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1023'>1023</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1025'>1025</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1030'>1030</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1035'>1035</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1138'>1138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1141'>1141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1143'>1143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1145'>1145</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1152'>1152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1155'>1155</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1218-L1222'>1218&ndash;1222</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1301-L1305'>1301&ndash;1305</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1329'>1329</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1329'>1329</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1332'>1332</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1349'>1349</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1349'>1349</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1353'>1353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1395-L1412'>1395&ndash;1412</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1418-L1423'>1418&ndash;1423</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1426-L1427'>1426&ndash;1427</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1429'>1429</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1433'>1433</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1435-L1436'>1435&ndash;1436</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1438-L1440'>1438&ndash;1440</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1444'>1444</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1446'>1446</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1448-L1450'>1448&ndash;1450</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1453-L1458'>1453&ndash;1458</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1461-L1463'>1461&ndash;1463</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1466'>1466</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1468'>1468</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1482'>1482</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1489'>1489</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1491-L1502'>1491&ndash;1502</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1504-L1507'>1504&ndash;1507</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1507-L1508'>1507&ndash;1508</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1510-L1511'>1510&ndash;1511</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1515-L1516'>1515&ndash;1516</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1519-L1520'>1519&ndash;1520</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1523-L1525'>1523&ndash;1525</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L1528'>1528</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L330'>330</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L355'>355</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L371'>371</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L390'>390</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L445'>445</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L562-L563'>562&ndash;563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L565'>565</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L568-L569'>568&ndash;569</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L571'>571</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L581'>581</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L584-L585'>584&ndash;585</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L587'>587</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L590-L592'>590&ndash;592</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L612'>612</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L618'>618</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L676'>676</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L678'>678</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L696'>696</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L698'>698</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L700-L701'>700&ndash;701</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L703-L706'>703&ndash;706</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L764'>764</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L800-L803'>800&ndash;803</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L806'>806</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L808'>808</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L811'>811</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L815'>815</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L841'>841</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L904'>904</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L949'>949</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L952'>952</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L964'>964</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L964-L971'>964&ndash;971</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L973'>973</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/Canvas.ts#L983-L986'>983&ndash;986</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/CanvasOptions.ts'>CanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts'>SelectableCanvas.ts</a></td><td><b>85.28%</b></td><td><b>53.50%</b></td><td>100%</td><td><b>94.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1006'>1006</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1008-L1009'>1008&ndash;1009</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1026'>1026</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1035'>1035</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1103-L1107'>1103&ndash;1107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1153-L1154'>1153&ndash;1154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1156-L1157'>1156&ndash;1157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1159'>1159</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1186'>1186</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1188-L1189'>1188&ndash;1189</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1189'>1189</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1191'>1191</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1233'>1233</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1235'>1235</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1237'>1237</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1253'>1253</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1255'>1255</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1259'>1259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1262'>1262</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1283'>1283</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1286'>1286</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1329-L1336'>1329&ndash;1336</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1339'>1339</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1342'>1342</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1351-L1352'>1351&ndash;1352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1356-L1365'>1356&ndash;1365</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1369'>1369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1371-L1372'>1371&ndash;1372</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1378-L1383'>1378&ndash;1383</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L1387'>1387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L340-L342'>340&ndash;342</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L346'>346</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L376'>376</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L398'>398</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L476'>476</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L527'>527</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L529'>529</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L605'>605</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L610'>610</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L687'>687</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/SelectableCanvas.ts#L715'>715</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts'>StaticCanvas.ts</a></td><td><b>75.58%</b></td><td><b>62.08%</b></td><td><b>97.85%</b></td><td><b>76.90%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1001'>1001</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1007'>1007</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1010'>1010</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1012'>1012</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1014'>1014</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1022'>1022</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1024-L1030'>1024&ndash;1030</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1040'>1040</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1046-L1052'>1046&ndash;1052</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1054-L1055'>1054&ndash;1055</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1057-L1078'>1057&ndash;1078</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1085-L1087'>1085&ndash;1087</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1089'>1089</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1097'>1097</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1103'>1103</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1105'>1105</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1105-L1106'>1105&ndash;1106</a>, <a href='https://github.com/fabricjs/fabric.js/blob/82e0bae9784b019df2b3b0aff49d9dbf93e139d5/src/canvas/StaticCanvas.ts#L1
github-actions[bot]: Coverage after merging <b>svg-export-path</b> into <b>master</b> will be<table><tbody><tr><th>85.43%</th></tr></tbody></table>

<details><summary>Coverage Report</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts'>fabric.ts</a></td><td><b>86.92%</b></td><td><b>20%</b></td><td><b>0%</b></td><td><b>95.79%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L10'>10</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L31'>31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L33-L34'>33&ndash;34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L34'>34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L34'>34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L34'>34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L34'>34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/fabric.ts#L8'>8</a></td></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/index.node.ts'>index.node.ts</a></td><td><b>14.29%</b></td><td>100%</td><td><b>0%</b></td><td><b>25%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/index.node.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/index.node.ts#L29'>29</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/index.node.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/index.node.ts#L44'>44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/index.node.ts#L47'>47</a></td></tr><tr><td colspan='6'><b>extensions/aligning_guidelines/util</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/extensions/aligning_guidelines/util/basic.ts'>basic.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>extensions/data_updaters/origins</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/extensions/data_updaters/origins/index.ts'>index.ts</a></td><td><b>97.50%</b></td><td><b>75%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/extensions/data_updaters/origins/index.ts#L22-L23'>22&ndash;23</a></td></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td><b>91.18%</b></td><td><b>64.29%</b></td><td>100%</td><td><b>97.92%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/ClassRegistry.ts#L35'>35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/ClassRegistry.ts#L56'>56</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts'>Collection.ts</a></td><td><b>72.55%</b></td><td><b>33.85%</b></td><td><b>51.61%</b></td><td><b>84.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L153'>153</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L155-L157'>155&ndash;157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L159'>159</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L167'>167</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L169-L170'>169&ndash;170</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L197'>197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L217'>217</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L228'>228</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L241'>241</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L243'>243</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L245'>245</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L252'>252</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L254'>254</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L263'>263</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L265'>265</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L270'>270</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L279'>279</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L281'>281</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L286-L287'>286&ndash;287</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L302'>302</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L304'>304</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L306'>306</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L309-L310'>309&ndash;310</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L327-L328'>327&ndash;328</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L328-L329'>328&ndash;329</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L333-L334'>333&ndash;334</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L337-L338'>337&ndash;338</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L338-L344'>338&ndash;344</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L346-L348'>346&ndash;348</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L350'>350</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L75'>75</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Collection.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>88.57%</b></td><td><b>64.29%</b></td><td><b>83.33%</b></td><td><b>96%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/CommonMethods.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/CommonMethods.ts#L52'>52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/CommonMethods.ts#L9'>9</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/EventTypeDefs.ts'>EventTypeDefs.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts'>Intersection.ts</a></td><td><b>81.42%</b></td><td><b>41.30%</b></td><td><b>73.33%</b></td><td><b>96.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L105'>105</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L132-L133'>132&ndash;133</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L166'>166</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L184-L190'>184&ndash;190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L228'>228</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L228'>228</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L237'>237</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L239'>239</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L289-L291'>289&ndash;291</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L297'>297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L297'>297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L78'>78</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Intersection.ts#L80'>80</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts'>Observable.ts</a></td><td><b>72.25%</b></td><td><b>44.19%</b></td><td><b>31.25%</b></td><td><b>86.36%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L144'>144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L153'>153</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L156'>156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L168'>168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L170'>170</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L172'>172</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L175'>175</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L68-L70'>68&ndash;70</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L72'>72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L78'>78</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L80'>80</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L82-L85'>82&ndash;85</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Observable.ts#L87-L91'>87&ndash;91</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts'>Point.ts</a></td><td><b>84.95%</b></td><td><b>62%</b></td><td><b>44.12%</b></td><td><b>92.68%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L104'>104</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L117'>117</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L179'>179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L197'>197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L206'>206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L216'>216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L225'>225</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L236-L239'>236&ndash;239</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L259'>259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L284-L285'>284&ndash;285</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L294-L297'>294&ndash;297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L328'>328</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L341'>341</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L349'>349</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L359'>359</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Point.ts#L95'>95</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts'>Shadow.ts</a></td><td><b>80.91%</b></td><td><b>13.04%</b></td><td><b>37.50%</b></td><td><b>90%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L139-L140'>139&ndash;140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L145-L150'>145&ndash;150</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L159'>159</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L194'>194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L194'>194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L196-L197'>196&ndash;197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L197'>197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L199'>199</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L206'>206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L206'>206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L223-L230'>223&ndash;230</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L232'>232</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L232'>232</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Shadow.ts#L234-L235'>234&ndash;235</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/cache.ts'>cache.ts</a></td><td><b>83.72%</b></td><td><b>45.45%</b></td><td><b>75%</b></td><td><b>90.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/cache.ts#L57'>57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/cache.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/cache.ts#L71-L72'>71&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/cache.ts#L74-L77'>74&ndash;77</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts'>config.ts</a></td><td><b>82.63%</b></td><td><b>20%</b></td><td><b>44.44%</b></td><td><b>94.20%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L127'>127</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L135-L136'>135&ndash;136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L138-L141'>138&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L146-L147'>146&ndash;147</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L151'>151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L156'>156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L156'>156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L156'>156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L156'>156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L156'>156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/config.ts#L156'>156</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/typedefs.ts'>typedefs.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/ActiveSelectionLayoutManager.ts'>ActiveSelectionLayoutManager.ts</a></td><td><b>83.33%</b></td><td><b>61.54%</b></td><td><b>28.57%</b></td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/ActiveSelectionLayoutManager.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/ActiveSelectionLayoutManager.ts#L47'>47</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>89.25%</b></td><td><b>65.48%</b></td><td><b>53.85%</b></td><td><b>99.31%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutManager.ts#L279'>279</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutManager.ts#L344'>344</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutManager.ts#L355'>355</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts'>index.ts</a></td><td><b>48.57%</b></td><td><b>37.50%</b></td><td><b>80%</b></td><td><b>66.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L1'>1</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L1'>1</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L1-L2'>1&ndash;2</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L2'>2</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L2-L3'>2&ndash;3</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L3'>3</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L3-L4'>3&ndash;4</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L4'>4</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L4-L5'>4&ndash;5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L5'>5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L5'>5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/index.ts#L5-L6'>5&ndash;6</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/types.ts'>types.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager/LayoutStrategies</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>71.05%</b></td><td><b>37.50%</b></td><td>100%</td><td><b>78.95%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L41-L44'>41&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L46-L48'>46&ndash;48</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L57-L58'>57&ndash;58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L66-L69'>66&ndash;69</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/FitContentLayout.ts'>FitContentLayout.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>85.71%</b></td><td><b>20%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>86.78%</b></td><td><b>57.14%</b></td><td><b>71.43%</b></td><td><b>97.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L75'>75</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L88'>88</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>62.90%</b></td><td><b>7.14%</b></td><td>100%</td><td><b>78.72%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/utils.ts#L28-L32'>28&ndash;32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/utils.ts#L34-L35'>34&ndash;35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/utils.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/utils.ts#L39-L44'>39&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/utils.ts#L47'>47</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/utils.ts#L47'>47</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/LayoutManager/LayoutStrategies/utils.ts#L47'>47</a></td></tr><tr><td colspan='6'><b>src/Pattern</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>52.08%</b></td><td><b>2.86%</b></td><td><b>10%</b></td><td><b>63.08%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L105-L107'>105&ndash;107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L113'>113</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L113-L114'>113&ndash;114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L117'>117</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L117-L119'>117&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L119-L122'>119&ndash;122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L130-L132'>130&ndash;132</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L132'>132</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L132'>132</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L132'>132</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L132'>132</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L132-L138'>132&ndash;138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L150'>150</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L150'>150</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L150'>150</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L150'>150</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L153-L160'>153&ndash;160</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L160'>160</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L160-L164'>160&ndash;164</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L174-L175'>174&ndash;175</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L175'>175</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L175'>175</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L175-L176'>175&ndash;176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L176-L182'>176&ndash;182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L182'>182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L182'>182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L182-L183'>182&ndash;183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L183'>183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L183-L188'>183&ndash;188</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L190-L199'>190&ndash;199</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L203-L206'>203&ndash;206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L209-L210'>209&ndash;210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L212-L214'>212&ndash;214</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L216-L218'>216&ndash;218</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L218'>218</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L218-L221'>218&ndash;221</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/Pattern.ts#L37'>37</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/index.ts'>index.ts</a></td><td><b>50%</b></td><td>100%</td><td>100%</td><td><b>50%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/index.ts#L2'>2</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/Pattern/types.ts'>types.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/brushes</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td><b>78.67%</b></td><td><b>8.33%</b></td><td><b>14.29%</b></td><td><b>88.55%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L114-L115'>114&ndash;115</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L124-L125'>124&ndash;125</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L135'>135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L146'>146</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L155'>155</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L155'>155</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L155'>155</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L155'>155</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L155-L160'>155&ndash;160</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/BaseBrush.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>52.10%</b></td><td><b>12.50%</b></td><td><b>12.50%</b></td><td><b>58.25%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L100-L108'>100&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L108-L118'>108&ndash;118</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L130-L139'>130&ndash;139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L55'>55</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L69'>69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L78-L79'>78&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L83'>83</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L85-L86'>85&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/CircleBrush.ts#L92-L98'>92&ndash;98</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts'>PatternBrush.ts</a></td><td><b>43.48%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>53.57%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L25-L34'>25&ndash;34</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L36'>36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L43-L44'>43&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L51-L53'>51&ndash;53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L53'>53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L53-L54'>53&ndash;54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L60-L64'>60&ndash;64</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L64'>64</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PatternBrush.ts#L64-L69'>64&ndash;69</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts'>PencilBrush.ts</a></td><td><b>40.14%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>52.02%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L103'>103</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L103'>103</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L116'>116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L124'>124</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L129'>129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L138-L139'>138&ndash;139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L146'>146</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L146'>146</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L146-L147'>146&ndash;147</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L147'>147</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L147-L152'>147&ndash;152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L155-L158'>155&ndash;158</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L167-L169'>167&ndash;169</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L176-L177'>176&ndash;177</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L181-L185'>181&ndash;185</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L185'>185</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L185'>185</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L185'>185</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L185'>185</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L188-L205'>188&ndash;205</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L215'>215</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L224-L232'>224&ndash;232</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L232'>232</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L235-L238'>235&ndash;238</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L244'>244</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L244'>244</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L244-L257'>244&ndash;257</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L257'>257</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L257-L266'>257&ndash;266</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L274-L276'>274&ndash;276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L276-L280'>276&ndash;280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L280'>280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L280-L299'>280&ndash;299</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L68'>68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L68'>68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L71'>71</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L71'>71</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L71-L72'>71&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L75'>75</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L87'>87</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L87-L88'>87&ndash;88</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L88'>88</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L88'>88</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L88'>88</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L91'>91</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L91'>91</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L91'>91</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L91-L92'>91&ndash;92</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/PencilBrush.ts#L92'>92</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts'>SprayBrush.ts</a></td><td><b>51.67%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>58.86%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L100'>100</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L107-L112'>107&ndash;112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L118-L120'>118&ndash;120</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L128-L135'>128&ndash;135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L137-L139'>137&ndash;139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L141-L148'>141&ndash;148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L162'>162</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L164'>164</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L169-L170'>169&ndash;170</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L172'>172</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L180'>180</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L182'>182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L185'>185</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L187'>187</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L195'>195</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L198-L200'>198&ndash;200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L200-L207'>200&ndash;207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L207-L210'>207&ndash;210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L212'>212</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L85-L87'>85&ndash;87</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/SprayBrush.ts#L94-L99'>94&ndash;99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/brushes/typedefs.ts'>typedefs.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/canvas</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>73.94%</b></td><td><b>31.67%</b></td><td><b>87.50%</b></td><td><b>86.11%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1012-L1013'>1012&ndash;1013</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1016'>1016</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1020-L1021'>1020&ndash;1021</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1024-L1025'>1024&ndash;1025</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1028'>1028</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1030'>1030</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1035'>1035</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1039'>1039</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1075'>1075</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1078'>1078</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1080-L1085'>1080&ndash;1085</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1091'>1091</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1119'>1119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1138'>1138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1141'>1141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1143'>1143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1145'>1145</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1150'>1150</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1152'>1152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1155'>1155</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1157'>1157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L117'>117</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1218-L1222'>1218&ndash;1222</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1264'>1264</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1267'>1267</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1301-L1305'>1301&ndash;1305</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1326'>1326</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1329'>1329</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1332'>1332</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1349'>1349</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1349'>1349</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1353'>1353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1353'>1353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1359-L1360'>1359&ndash;1360</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1395-L1419'>1395&ndash;1419</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1419-L1427'>1419&ndash;1427</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1429'>1429</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1433'>1433</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50200cac3c2496b12015ab5aeb813180c8300013/src/canvas/Canvas.ts#L1435-L1436'>1435&ndash;1436</a>, <a href='https://gith

Patch:
diff --git a/.codesandbox/templates/vanilla/index.html b/.codesandbox/templates/vanilla/index.html
index 9266b80c2..6a9d28478 100644
--- a/.codesandbox/templates/vanilla/index.html
+++ b/.codesandbox/templates/vanilla/index.html
@@ -7,6 +7,7 @@
 
   <body>
     <canvas id="canvas"></canvas>
+    <div id="svgout"></div>
     <script src="./src/index.ts" type="module"></script>
   </body>
 </html>
diff --git a/.codesandbox/templates/vanilla/src/index.ts b/.codesandbox/templates/vanilla/src/index.ts
index cafc616d9..52d1f945f 100644
--- a/.codesandbox/templates/vanilla/src/index.ts
+++ b/.codesandbox/templates/vanilla/src/index.ts
@@ -1,6 +1,6 @@
 import * as fabric from 'fabric';
 import './styles.css';
-import { testCase } from './testcases/loadingSvgs';
+import { testCase } from './testcases/simpleTextbox';
 
 const el = document.getElementById('canvas');
 const canvas = (window.canvas = new fabric.Canvas(el));
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 69de898ca..e1cd28a42 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,7 @@
 
 ## [next]
 
+- fix(Fabtictext) Svg export for text on a path [#10284](https://github.com/fabricjs/fabric.js/pull/10284)
 - fix(FabricImage): add href parsing fixes for #10421 [#10465](https://github.com/fabricjs/fabric.js/pull/10465)
 
 ## [6.6.1]
diff --git a/src/canvas/StaticCanvas.ts b/src/canvas/StaticCanvas.ts
index 3bfb8d84f..e87a0248f 100644
--- a/src/canvas/StaticCanvas.ts
+++ b/src/canvas/StaticCanvas.ts
@@ -34,7 +34,7 @@ import {
   enlivenObjects,
 } from '../util/misc/objectEnlive';
 import { pick } from '../util/misc/pick';
-import { matrixToSVG } from '../util/misc/svgParsing';
+import { matrixToSVG } from '../util/misc/svgExport';
 import { toFixed } from '../util/misc/toFixed';
 import { isFiller, isPattern, isTextObject } from '../util/typeAssertions';
 import { StaticCanvasDOMManager } from './DOMManagers/StaticCanvasDOMManager';
diff --git a/src/gradient/Gradient.ts b/src/gradient/Gradient.ts
index 41fb7bbe8..1d22e2e34 100644
--- a/src/gradient/Gradient.ts
+++ b/src/gradient/Gradient.ts
@@ -5,7 +5,7 @@ import type { FabricObject } from '../shapes/Object/FabricObject';
 import type { TMat2D } from '../typedefs';
 import { uid } from '../util/internals/uid';
 import { pick } from '../util/misc/pick';
-import { matrixToSVG } from '../util/misc/svgParsing';
+import { matrixToSVG } from '../util/misc/svgExport';
 import { linearDefaultCoords, radialDefaultCoords } from './constants';
 import { parseColorStops } from './parser/parseColorStops';
 import { parseCoords } from './parser/parseCoords';
diff --git a/src/shapes/Object/FabricObjectSVGExportMixin.ts b/src/shapes/Object/FabricObjectSVGExportMixin.ts
index 48b7aacf3..5aa0ab6bc 100644
--- a/src/shapes/Object/FabricObjectSVGExportMixin.ts
+++ b/src/shapes/Object/FabricObjectSVGExportMixin.ts
@@ -1,9 +1,10 @@
 import type { TSVGReviver } from '../../typedefs';
 import { uid } from '../../util/internals/uid';
-import { colorPropToSVG, matrixToSVG } from '../../util/misc/svgParsing';
+import { colorPropToSVG } from '../../util/misc/svgParsing';
 import { FILL, NONE, STROKE } from '../../constants';
 import type { FabricObject } from './FabricObject';
 import { isFiller } from '../../util/typeAssertions';
+import { matrixToSVG } from '../../util/misc/svgExport';
 
 export class FabricObjectSVGExportMixin {
   /**
diff --git a/src/shapes/Text/Text.spec.ts b/src/shapes/Text/Text.spec.ts
index 330302fa9..de9aab5f1 100644
--- a/src/shapes/Text/Text.spec.ts
+++ b/src/shapes/Text/Text.spec.ts
@@ -1,6 +1,7 @@
 import { roundSnapshotOptions } from '../../../jest.extend';
 import { cache } from '../../cache';
 import { config } from '../../config';
+import { Path } from '../Path';
 import { FabricText } from './Text';
 
 afterEach(() => {
@@ -52,6 +53,19 @@ describe('FabricText', () => {
     expect(text.toSVG()).toMatchSnapshot();
   });
 
+  it('toSVG with a path', async () => {
+    const path = new Path('M 10 10 H 50 V 60', { fill: '', stroke: 'red' });
+    const text = new FabricText(
+      'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+      { scaleX: 2, scaleY: 2 },
+    );
+    const plainSvg = text.toSVG();
+    text.path = path;
+    const svg = text.toSVG();
+    expect(svg).toMatchSnapshot();
+    expect(svg.includes(plainSvg)).toBe(false);
+  });
+
   it('subscript/superscript', async () => {
     const text = await FabricText.fromObject({
       text: 'xxxxxx',
diff --git a/src/shapes/Text/TextSVGExportMixin.ts b/src/shapes/Text/TextSVGExportMixin.ts
index f8a1634a3..db673ac8a 100644
--- a/src/shapes/Text/TextSVGExportMixin.ts
+++ b/src/shapes/Text/TextSVGExportMixin.ts
@@ -7,8 +7,12 @@ import { toFixed } from '../../util/misc/toFixed';
 import { FabricObjectSVGExportMixin } from '../Object/FabricObjectSVGExportMixin';
 import { type TextStyleDeclaration } from './StyledText';
 import { JUSTIFY } from '../Text/constants';
-import type { FabricText } from './Text';
+import type { FabricText, GraphemeBBox } from './Text';
 import { STROKE, FILL } from '../../constants';
+import { createRotateMatrix } from '../../util/misc/matrix';
+import { radiansToDegrees } from '../../util/misc/radiansDegreesConversion';
+import { Point } from '../../Point';
+import { matrixToSVG } from '../../util/misc/svgExport';
 
 const multipleSpacesRegex = /  +/g;
 const dblQuoteRegex = /"/g;
@@ -31,11 +35,23 @@ export class TextSVGExportMixin extends FabricObjectSVGExportMixin {
   }
 
   toSVG(this: TextSVGExportMixin & FabricText, reviver?: TSVGReviver): string {
-    return this._createBaseSVGMarkup(this._toSVG(), {
-      reviver,
-      noStyle: true,
-      withShadow: true,
-    });
+    const textSvg = this._createBaseSVGMarkup(this._toSVG(), {
+        reviver,
+        noStyle: true,
+        withShadow: true,
+      }),
+      path = this.path;
+    if (path) {
+      return (
+        textSvg +
+        path._createBaseSVGMarkup(path._toSVG(), {
+          reviver,
+          withShadow: true,
+          additionalTransform: matrixToSVG(this.calcOwnMatrix()),
+        })
+      );
+    }
+    return textSvg;
   }
 
   private _getSVGLeftTopOffsets(this: TextSVGExportMixin & FabricText) {
@@ -142,22 +158,34 @@ export class TextSVGExportMixin extends FabricObjectSVGExportMixin {
     styleDecl: TextStyleDeclaration,
     left: number,
     top: number,
+    charBox: GraphemeBBox,
   ) {
+    const numFractionDigit = config.NUM_FRACTION_DIGITS;
     const styleProps = this.getSvgSpanStyles(
         styleDecl,
         char !== char.trim() || !!char.match(multipleSpacesRegex),
       ),
       fillStyles = styleProps ? `style="${styleProps}"` : '',
       dy = styleDecl.deltaY,
-      dySpan = dy ? ` dy="${toFixed(dy, config.NUM_FRACTION_DIGITS)}" ` : '';
+      dySpan = dy ? ` dy="${toFixed(dy, numFractionDigit)}" ` : '',
+      { angle, renderLeft, renderTop, width } = charBox;
+    let angleAttr = '';
+    if (renderLeft !== undefined) {
+      const wBy2 = width / 2;
+      angle &&
+        (angleAttr = ` rotate="${toFixed(radiansToDegrees(angle), numFractionDigit)}"`);
+      const m = createRotateMatrix({ angle: radiansToDegrees(angle!) });
+      m[4] = renderLeft!;
+      m[5] = renderTop!;
+      const renderPoint = new Point(-wBy2, 0).transform(m);
+      left = renderPoint.x;
+      top = renderPoint.y;
+    }
 
-    return `<tspan x="${toFixed(
-      left,
-      config.NUM_FRACTION_DIGITS,
-    )}" y="${toFixed(
+    return `<tspan x="${toFixed(left, numFractionDigit)}" y="${toFixed(
       top,
-      config.NUM_FRACTION_DIGITS,
-    )}" ${dySpan}${fillStyles}>${escapeXml(char)}</tspan>`;
+      numFractionDigit,
+    )}" ${dySpan}${angleAttr}${fillStyles}>${escapeXml(char)}</tspan>`;
   }
 
   private _setSVGTextLineText(
@@ -181,7 +209,7 @@ export class TextSVGExportMixin extends FabricObjectSVGExportMixin {
     textTopOffset +=
       (lineHeight * (1 - this._fontSizeFraction)) / this.lineHeight;
     for (let i = 0, len = line.length - 1; i <= len; i++) {
-      timeToRender = i === len || this.charSpacing;
+      timeToRender = i === len || this.charSpacing || this.path;
       charsToRender += line[i];
       charBox = this.__charBounds[lineIndex][i];
       if (boxWidth === 0) {
@@ -196,7 +224,7 @@ export class TextSVGExportMixin extends FabricObjectSVGExportMixin {
         }
       }
       if (!timeToRender) {
-        // if we have charSpacing, we render char by char
+        // if we have charSpacing or a path, we render char by char
         actualStyle =
           actualStyle || this.getCompleteStyleDeclaration(lineIndex, i);
         nextStyle = this.getCompleteStyleDeclaration(lineIndex, i + 1);
@@ -210,6 +238,7 @@ export class TextSVGExportMixin extends FabricObjectSVGExportMixin {
             style,
             textLeftOffset,
             textTopOffset,
+            charBox,
           ),
         );
         charsToRender = '';
diff --git a/src/shapes/Text/__snapshots__/Text.spec.ts.snap b/src/shapes/Text/__snapshots__/Text.spec.ts.snap
index 4cbea8a4c..b40083076 100644
--- a/src/shapes/Text/__snapshots__/Text.spec.ts.snap
+++ b/src/shapes/Text/__snapshots__/Text.spec.ts.snap
@@ -212,3 +212,13 @@ exports[`FabricText toSVG with NUM_FRACTION_DIGITS 2`] = `
 </g>
 "
 `;
+
+exports[`FabricText toSVG with a path 1`] = `
+"<g transform="matrix(2 0 0 2 1061 46.2)" style=""  >
+		<text xml:space="preserve" font-family="Times New Roman" font-size="40" font-style="normal" font-weight="normal" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1; white-space: pre;" ><tspan x="-530" y="12.5656" >x</tspan><tspan x="-510" y="12.5656" >x</tspan><tspan x="-490" y="12.5656" >x</tspan><tspan x="-470" y="12.5656" >x</tspan><tspan x="-450" y="12.5656" >x</tspan><tspan x="-430" y="12.5656" >x</tspan><tspan x="-410" y="12.5656" >x</tspan><tspan x="-390" y="12.5656" >x</tspan><tspan x="-370" y="12.5656" >x</tspan><tspan x="-350" y="12.5656" >x</tspan><tspan x="-330" y="12.5656" >x</tspan><tspan x="-310" y="12.5656" >x</tspan><tspan x="-290" y="12.5656" >x</tspan><tspan x="-270" y="12.5656" >x</tspan><tspan x="-250" y="12.5656" >x</tspan><tspan x="-230" y="12.5656" >x</tspan><tspan x="-210" y="12.5656" >x</tspan><tspan x="-190" y="12.5656" >x</tspan><tspan x="-170" y="12.5656" >x</tspan><tspan x="-150" y="12.5656" >x</tspan><tspan x="-130" y="12.5656" >x</tspan><tspan x="-110" y="12.5656" >x</tspan><tspan x="-90" y="12.5656" >x</tspan><tspan x="-70" y="12.5656" >x</tspan><tspan x="-50" y="12.5656" >x</tspan><tspan x="-30" y="12.5656" >x</tspan><tspan x="-10" y="12.5656" >x</tspan><tspan x="10" y="12.5656" >x</tspan><tspan x="30" y="12.5656" >x</tspan><tspan x="50" y="12.5656" >x</tspan><tspan x="70" y="12.5656" >x</tspan><tspan x="90" y="12.5656" >x</tspan><tspan x="110" y="12.5656" >x</tspan><tspan x="130" y="12.5656" >x</tspan><tspan x="150" y="12.5656" >x</tspan><tspan x="170" y="12.5656" >x</tspan><tspan x="190" y="12.5656" >x</tspan><tspan x="210" y="12.5656" >x</tspan><tspan x="230" y="12.5656" >x</tspan><tspan x="250" y="12.5656" >x</tspan><tspan x="270" y="12.5656" >x</tspan><tspan x="290" y="12.5656" >x</tspan><tspan x="310" y="12.5656" >x</tspan><tspan x="330" y="12.5656" >x</tspan><tspan x="350" y="12.5656" >x</tspan><tspan x="370" y="12.5656" >x</tspan><tspan x="390" y="12.5656" >x</tspan><tspan x="410" y="12.5656" >x</tspan><tspan x="430" y="12.5656" >x</tspan><tspan x="450" y="12.5656" >x</tspan><tspan x="470" y="12.5656" >x</tspan><tspan x="490" y="12.5656" >x</tspan><tspan x="510" y="12.5656" >x</tspan></text>
+</g>
+<g transform="matrix(1 0 0 1 30 35)" style=""  >
+<path style="stroke: rgb(255,0,0); stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: none; fill-rule: nonzero; opacity: 1;"  transform="matrix(2 0 0 2 1061 46.2)" d="M 10 10 L 50 10 L 50 60" stroke-linecap="round" />
+</g>
+"
+`;
diff --git a/src/util/index.ts b/src/util/index.ts
index e17408d31..49134ba9d 100644
--- a/src/util/index.ts
+++ b/src/util/index.ts
@@ -55,11 +55,11 @@ export {
 } from './misc/dom';
 export { toFixed } from './misc/toFixed';
 export {
-  matrixToSVG,
   parsePreserveAspectRatioAttribute,
   parseUnit,
   getSvgAttributes,
 } from './misc/svgParsing';
+export { matrixToSVG } from './misc/svgExport';
 export { groupSVGElements } from './misc/groupSVGElements';
 export { findScaleToFit, findScaleToCover } from './misc/findScaleTo';
 export { capValue } from './misc/capValue';
diff --git a/src/util/misc/svgExport.ts b/src/util/misc/svgExport.ts
new file mode 100644
index 000000000..3ca71ffb3
--- /dev/null
+++ b/src/util/misc/svgExport.ts
@@ -0,0 +1,15 @@
+import type { TMat2D } from '../../typedefs';
+import { toFixed } from './toFixed';
+import { config } from '../../config';
+
+/**
+ * given an array of 6 number returns something like `"matrix(...numbers)"`
+ * @param {TMat2D} transform an array with 6 numbers
+ * @return {String} transform matrix for svg
+ */
+export const matrixToSVG = (transform: TMat2D) =>
+  'matrix(' +
+  transform
+    .map((value) => toFixed(value, config.NUM_FRACTION_DIGITS))
+    .join(' ') +
+  ')';
diff --git a/src/util/misc/svgParsing.ts b/src/util/misc/svgParsing.ts
index e3a4d9ce1..1892d8e77 100644
--- a/src/util/misc/svgParsing.ts
+++ b/src/util/misc/svgParsing.ts
@@ -1,12 +1,7 @@
 import { Color } from '../../color/Color';
 import { config } from '../../config';
 import { DEFAULT_SVG_FONT_SIZE, FILL, NONE } from '../../constants';
-import type {
-  TBBox,
-  TMat2D,
-  SVGElementName,
-  SupportedSVGUnit,
-} from '../../typedefs';
+import type { TBBox, SVGElementName, SupportedSVGUnit } from '../../typedefs';
 import { toFixed } from './toFixed';
 
 /**
@@ -120,18 +115,6 @@ export const parsePreserveAspectRatioAttribute = (
   };
 };
 
-/**
- * given an array of 6 number returns something like `"matrix(...numbers)"`
- * @param {TMat2D} transform an array with 6 numbers
- * @return {String} transform matrix for svg
- */
-export const matrixToSVG = (transform: TMat2D) =>
-  'matrix(' +
-  transform
-    .map((value) => toFixed(value, config.NUM_FRACTION_DIGITS))
-    .join(' ') +
-  ')';
-
 /**
  * Adobe Illustrator (at least CS5) is unable to render rgba()-based fill values
  * we work around it by "moving" alpha channel into opacity attribute and setting fill's alpha to 1


Test patch:
diff --git a/.codesandbox/templates/vanilla/src/testcases/simpleTextbox.ts b/.codesandbox/templates/vanilla/src/testcases/simpleTextbox.ts
index 2e68c6b26..97d008d51 100644
--- a/.codesandbox/templates/vanilla/src/testcases/simpleTextbox.ts
+++ b/.codesandbox/templates/vanilla/src/testcases/simpleTextbox.ts
@@ -1,40 +1,86 @@
 import * as fabric from 'fabric';
 
+const makePath = (textObj): string => {
+  const diameter = 300; // Circle diameter
+  const radius = diameter / 2; // Convert diameter to radius
+  const arcAngle = 360; // Angle covered by the arc
+  const startAngle = 0; // Starting angle for the text (X start point)
+
+  const charCount = textObj.text.length; // Number of characters in the text
+
+  // Calculate the angle between each character
+  const anglePerChar = arcAngle / (charCount - 1);
+
+  // Adjust the startAngle by subtracting 90° to shift the starting point to the top (12 o'clock)
+  let angle = startAngle + 90;
+
+  // Construct the path, starting from the first character's position
+  let pathString = `M ${radius * Math.cos((angle * Math.PI) / 180)} ${
+    radius * Math.sin((angle * Math.PI) / 180)
+  }`;
+
+  // Loop through each character and add to the path
+  for (let i = 0; i < charCount; i++) {
+    const theta = (angle * Math.PI) / 180; // Convert angle to radians
+    const xPos = radius * Math.cos(theta); // Calculate x position
+    const yPos = radius * Math.sin(theta); // Calculate y position
+
+    // Add arc segment for each letter
+    pathString += ` A ${radius} ${radius} 0 0 1 ${xPos} ${yPos}`;
+
+    // Increment the angle for the next character
+    angle += anglePerChar;
+  }
+
+  return pathString;
+};
+
 export function testCase(canvas: fabric.Canvas) {
-  const textValue = 'fabric.js sandbox';
-  const text = new fabric.Textbox(textValue, {
-    originX: 'center',
-    splitByGrapheme: true,
+  fabric.config.NUM_FRACTION_DIGITS = 9;
+  const textValue = 'testing 123 123 123 ';
+  const text = new fabric.FabricText(textValue, {
     width: 200,
     top: 20,
-    styles: fabric.util.stylesFromArray(
-      [
-        {
-          style: {
-            fontWeight: 'bold',
-            fontSize: 64,
-          },
-          start: 0,
-          end: 9,
+    fill: '',
+    stroke: 'red',
+    objectCaching: false,
+    styles: {
+      0: {
+        0: {
+          fontSize: 60,
+          fill: 'blue',
+        },
+        1: {
+          fontSize: 90,
+          fill: 'green',
+        },
+        2: {
+          fontSize: 20,
+          fill: 'Yellow',
+        },
+        3: {
+          fontWeigth: 'bold',
+          fill: 'transparent',
+          strokeWidth: 4,
+          strole: 'blue',
+        },
+        4: {
+          fontWeigth: 'bold',
+          fill: 'transparent',
+          strokeWidth: 4,
+          strole: 'blue',
         },
-      ],
-      textValue,
-    ),
+      },
+    },
+  });
+  const pathString = makePath(text);
+  const pathObject = new fabric.Path(pathString, {
+    fill: 'transparent',
+    stroke: 'red',
+    objectCaching: false,
   });
+  text.set('path', pathObject);
   canvas.add(text);
   canvas.centerObjectH(text);
-  function animate(toState) {
-    text.animate(
-      { scaleX: Math.max(toState, 0.1) * 2 },
-      {
-        onChange: () => canvas.renderAll(),
-        onComplete: () => animate(!toState),
-        duration: 1000,
-        easing: toState
-          ? fabric.util.ease.easeInOutQuad
-          : fabric.util.ease.easeInOutSine,
-      },
-    );
-  }
-  // animate(1);
+  document.getElementById('svgout')?.innerHTML = canvas.toSVG();
 }