* chore: rename .eslintrc.js to eslint.config.js
* chore: Rename eslint.config.js to eslint.config.mjs.
* refactor: Migrate ESLint config to new flat format.
* chore: Remove old per-directory and global ignore ESLint config files.
* fix: Allowlist JSDoc tag aliases.
* fix: Don't require @license in tests/*.
* fix: Add NodeJS globals to several files that run under Node.
* chore: Remove now-unneeded ESLint directives in core.
* chore: Remove invalid/unneeded ESLint directives.
* fix: Fix invalid use of `await` outside of an `async` function.
* fix: Improve screenshot error message.
* fix: Update ESLint config file to not warn on existing violations.
* chore: Remove suppressions of rules that weren't triggering.
* chore: Fix package-lock.json.
* refactor: Move functions into FieldDropdown.
* refactor: Make dropdown field image metrics static.
* refactor: Use template literals in FieldDropdown validator.
* refactor!: Rename blocklyTreeIconClosed to blocklyToolboxCategoryIconClosed.
* refactor!: Rename blocklyTreeLabel to blocklyToolboxCategoryLabel
* refactor!: Rename blocklyToolboxDiv to blocklyToolbox.
* refactor: remove unreferenced CSS classes.
* refactor!: Remove the blocklyArrowTop and blocklyArrowBottom classes.
* feat: Add a blocklyTextInputField class to text fields.
* fix: bump connected connections in a different direction
* Bump initiator block group in orthogonal direction.
* Revert the wording of a doc comment.
* Addressing PR feedback.
* fix: Fix bug that prevented dismissing the widgetdiv in a mutator workspace.
* fix: Check if the correct workspace is null.
* fix: Remove errant this.
* refactor(shortcuts): Improve shortcut registry documentation & style
Make some minor refactorings of shortcut_registry.ts to improve
readability and style, and add documentation for the
KeyboardShortcut interface type.
* docs(shortcuts): Fix JSDoc typos etc. for PR #8598
* chore: Format
* fix: improve flyout performance
* refactor: don't call position() in show()
The later call to reflow() itself winds up calling position(), so this calculation is redundant.
* docs(events): JSDoc improvments
* fix(filter): Introduce enqueueEvent; don't reorder in filter
Remove the broken BlockChange event reordering code from filter.
Instead, do necessary event reordering (correctly, this time)
in a new enqueueEvent function used by fireInternal.
* chore(events): Deprecate forward parameter of filter
Since we don't filter in undo any more, and filtering in reverse
order causes problems, prepare to remove this opportunity for
error.
* fix(events): Only merge adjacent events
Simplify filter by having it consider only adjacent events in the
queue for merging.
Previously any events in the queue could potentially be merged if
they were of suitable (typically identical) .type, even if other
events had occurred between them (with the sole exception of
BlockMove events, which would only be merged with adjacent
events). This could potentially result in replay failures during
undo/redo/mirroring, though it is unknown whether any such
problems occurred in practice.
* refactor(events): Tweaks
- Use for…of loop where appropriate.
- Make filter reason-merging code more concise.
- Use arrow functions when calling Array.prototype.filter.
* chore(events): Fix typos for PR #8539.