Feature/UI polish - #255
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Polishes annotation interactions, confidence display, and bitmask movement behavior.
Changes:
- Adds hover outlines and confidence-card improvements.
- Fixes shift-hover polygon layering and out-of-bounds bitmask moves.
- Adds end-to-end coverage and bumps the release to 0.27.0.
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
CHANGELOG.md |
Documents release changes. |
package.json |
Bumps package version. |
package-lock.json |
Synchronizes lockfile version. |
src/actions.ts |
Records rejected-move undo state. |
src/blobs.js |
Adjusts dialog stacking. |
src/html_builder.ts |
Restyles confidence cards. |
src/index.js |
Implements interaction and rendering changes. |
src/subtask.ts |
Types hover state. |
src/version.js |
Updates runtime version. |
tests/e2e/basic-functionality.spec.js |
Tests hover and confidence UI. |
tests/e2e/bitmask.spec.js |
Tests bitmask movement and history. |
tests/e2e/keybind-functionality.spec.js |
Tests shift-hover polygon layers. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 12 changed files in this pull request and generated no new comments.
Suppressed comments (2)
src/index.js:3473
- Annotation IDs are only unique within a subtask, so comparing only the current hover ID can outline an inactive annotation that happens to have the same ID when all subtasks are redrawn. Also verify that the drawn annotation object belongs to the current subtask.
return this.subtasks[subtask_key]["state"]["hovered_annid"] === annotation_object["id"];
src/index.js:5913
- At non-integer zoom levels, recording the raw delta makes undo asymmetric with
ULabelMask.translaterounding: for example,0.5moves one pixel, while the recorded-0.5undo rounds to zero. Translate and record the already-rounded displacement so valid bitmask moves always round-trip.
this.translate_bitmask(annotation, diffX, diffY);
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
UI Polish
Description
read_only: truenow actually prevent edits. Additionally, all subtasks may now be read-only (the previous "at least one non-read-only subtask" error has been removed).PR Checklist
package.jsonhas been bumped since last releasepackage.jsonandsrc/version.jsapi_spec.md)changelog.mdBreaking API Changes
Bitmasks will no longer trim to the image edge when translating outside the image boundaries
Read-only now is actually read-only