Display detections flagged with a suppression attribute as suppressed#1785
Open
mattdawkins wants to merge 5 commits into
Open
Display detections flagged with a suppression attribute as suppressed#1785mattdawkins wants to merge 5 commits into
mattdawkins wants to merge 5 commits into
Conversation
A detection outside any suppression region can carry an attribute named
after the suppression type ("Suppressed" by default), set on the track
or on the detection at a frame. Such a detection now stays visible but
is treated as suppressed for display purposes:
- it inherits the suppression type's style (color, opacity, fill) and
its canvas label and hover tooltip show the suppression type, via a
styleType override in LayerManager;
- it no longer counts toward its own type in the type-list totals or
the per-frame counts;
- selecting it still shows its real type, which remains editable; the
attribute only overrides display, never the stored type.
Attribute values true, nonzero numbers, and 'true'/'yes'/'on'/'1' (any
case) are all recognized. Interpolated frames fall back to the previous
keyframe's detection attributes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Region suppression previously hid any detection lying >=50% under a suppression region. The minimum covered fraction is now a setting (Type Settings > Suppression Overlap %), defaulting to 95%, so only detections almost entirely under a region are hidden and excluded from counts. Out-of-range or missing values fall back to the default. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A detection that carries the suppression attribute (without lying under a suppression region, which stays hidden as before) now renders as a display-only special case instead of purely as the suppression type: - labeled 'Type - SuppressionType' (e.g. 'B - Suppressed') in the canvas text and hover tooltip; - colored and faded with an even 50/50 blend of its own type's and the suppression type's color/opacity (TypeStyling gains suppressedColor / suppressedOpacity helpers; the weight is a single constant). The composite label is purely visual: the detection keeps its real type, 'B - Suppressed' never appears as a type-list category, and attribute-suppressed detections remain excluded from the type counts and the track list. The blend also survives edit mode: 'editing' is set on every annotation while an edit is active, and TextLayer's editing branch previously returned the plain type color, stripping the suppressed styling from every other label until the edit ended. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mattdawkins
force-pushed
the
feat/attribute-suppression
branch
from
July 23, 2026 01:29
e46356d to
5852bec
Compare
The attribute-suppressed composite styling now mixes 2/3 of the suppression type's color/opacity with 1/3 of the detection's own type, instead of an even split. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Behavior
Suppression regions (#1760) hide detections lying under a region. A detection can also be marked suppressed by an attribute — an attribute named after the suppression type ("Suppressed" by default) set true by a pipeline or user — while sitting outside any region. Previously such a detection displayed as its normal type and counted normally, with nothing indicating its suppressed status.
A detection carrying the suppression attribute (on the track, or on the detection at the current frame) is now treated as a display-only special case:
Type - SuppressionType(e.g.B - Suppressed) in the canvas text and hover tooltip.TypeStyling.suppressedColor/suppressedOpacity; the weight is a single constant).editingis set on every annotation while an edit is active, and the text layer's editing branch previously stripped the suppressed styling from every other label until the edit ended.Also included
Recognized attribute values:
true, nonzero numbers, and'true'/'yes'/'on'/'1'in any case. On interpolated frames the check falls back to the previous keyframe's detection attributes. Unit tests cover the attribute parsing, threshold normalization and behavior, and the weighted style blending.🤖 Generated with Claude Code