Overlay rendering performance seemed bottlenecked by drawImage calls. To
reduce both the number of calls and the number of different source
buffers, cache overlay buffers for squares of chunks. This adds a very
small extra cost for updates (one additional drawImage) and some cost
for drawing chunks outside of view, but this is more than made up for by
the savings.
By default, the aggregate are 4x4 squares of chunks.
* Added shape tooltip
* Shortened and simplified shape tooltip code
* added special logic for cutters so they remove overlays of empty outputs, and added clearing overlays on clear items
Track input slot assignment by array index rather than including extra
data in a new object. This greatly reduces the amount of garbage
generated by tryTakeItem and other item process operations.
* added the new splitter
* Update base-en.yaml
* added the new splitter
Update changelog and update translation regarding 20 upgrade tiers, closes#907
* Update base-en.yaml
* minor goal acceptor adjustments to help prevent backing up belts to complete
* removed gap between completion and fill as it doesn't look nice
* removed api override
* fixed mistake with fill percentage
* Allowed for copying acceptors to remember the required shape
* further adjusted required items, so it looks a bit nicer
* added the new splitter
* Update base-en.yaml
* added the new splitter
Update changelog and update translation regarding 20 upgrade tiers, closes#907
* Update base-en.yaml
* Added back copy/paste in puzzle mode
* fixed rotating non-rotatable buildings as blueprints and made blocker non-rotatable
* added the new splitter
* Update base-en.yaml
* adjusted how acceptor works to fix macro
* fixed a minor bug
* applied changes to the puzzle-editor-review script
* minor cleanups