Creating the cached canvases is expensive and they may never be used.
E. g. the hit detect canvas is not needed with the Immediate renderer
and if a feature is never in the viewport the image is not needed either.
- remove jitter when using RegularShape size in animation, size should
always be an integer
- canvas may have been too small for miter line join
- canvas was at least one stroke width too large for round line join
- reduce canvas size even more for bevel line join
Canvas now precisely fits the shape including stroke, The angle of the
shape is ignored for the calculation.
Fixes missing miter/bevel line join because path was not closed before
stroking.
Reduce canvas context calls, skip beginPath, and instead of drawing the
last point use closePath
This updates ESLint and our shared eslint-config-openlayers to use Prettier. Most formatting changes were automatically applied with this:
npm run lint -- --fix
A few manual changes were required:
* In `examples/offscreen-canvas.js`, the `//eslint-disable-line` comment needed to be moved to the appropriate line to disable the error about the `'worker-loader!./offscreen-canvas.worker.js'` import.
* In `examples/webpack/exapmle-builder.js`, spaces could not be added after a couple `function`s for some reason. While editing this, I reworked `ExampleBuilder` to be a class.
* In `src/ol/format/WMSGetFeatureInfo.js`, the `// @ts-ignore` comment needed to be moved down one line so it applied to the `parsersNS` argument.
Change hit detection test to reflect fix for #9395 CircleStyle inconsistency
Update ol/style/Circle and ol/style/RegularShapen tests
Revise test for no fill
Add test for transparent fill
Update Upgrade notes
Changes to hit detection with unfilled styles