Repository navigation
Feature/sync class - #268
Open
TrevorBurgoyne wants to merge 7 commits into
Open
TrevorBurgoyne wants to merge 7 commits into
TrevorBurgoyne wants to merge 7 commits into
Conversation
2 of 5 tasks
joshua-dean
reviewed
Oct 29, 2026
joshua-dean
left a comment
Collaborator
There was a problem hiding this comment.
A couple of things from a first pass (happy to help solve/contribute any of them):
- No demo showcasing linked annos (in general consolidating or doing a landing page for the demos might be worthwhile)
- Consider (this is from 0.29.0):
- 3x subtasks: A, B, C
- Anno in A linked to anno in B
- Copy anno A into subtask C
- B has no idea C exists
set_counterparts_classonly checksread_only(context menu checksis_subtask_edit_lockedand thusfocus_deprecated) which is more lenient - this is fine but we might want to standardize these "subtask locks" insubtask.tsfor consistency- In general it might be nice for "linked" annotations to highlight each other on hover, perhaps with different styling
Not necessarily blockers - with a hand-rolled demo, everything appears to work fine. We can open issues for add-ons to this as necessary.
This branch has not been deployed
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.
Sync Class across Subtasks
Description
Added
<subtask>context-menu item: sets an annotation's counterparts in another writable subtask to its class (matched by id, then name). Counterparts that can't take that class, or already have it, are left alone, and the item only shows when at least one would change. Newget_counterpart_class_changes()andset_counterparts_class(), recorded as one undoableset_counterparts_classaction on the target subtask.counterpart_class_meta_keyconfig option (defaultnull): an annotation's string value under thisannotation_metakey names the class it gives its counterparts (Set class in) and copies (Copy to / Move to, paste), replacing the id/name match. Set class in leaves a counterpart alone when no class has that name. Copies drop the entry, and copies/pastes back into the source subtask ignore it.Detailsin the context menu lists every non-zero class confidence, highest first, when more than one class has one.confidence_card_classesconfig option (default1): the hover confidence card also lists up to N - 1 runner-up classes with non-zero confidence.hover_card_textconfig callback (defaultnull): returns up to 5 plain-text lines that the hover confidence card shows for an annotation. Called once per hovered annotation and again after it changes.Fixed
delete_counterpartsno longer stamps, reverts or drops history for an unrelated target annotation that happens to share the source annotation's id.PR Checklist
package.jsonhas been bumped since last releasepackage.jsonandsrc/version.jsapi_spec.md)CHANGELOG.mdBreaking API Changes
no