feat(statusbar): transparency-display toggle (TPY pill)
Add a transparency_enable uniform read by the wire shader: when the new TPY pill is off, every line is forced opaque; when on, baked entity transparency shows through. Toggling is a uniform write, no retessellate (same mechanism as the lineweight-display toggle). Pill is toggleable from the status-bar customization menu. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
28ec360255
commit
66f7d24bc9
9 changed files with 48 additions and 3 deletions
|
|
@ -61,6 +61,8 @@ impl StatusBar {
|
|||
units_popup_open: bool,
|
||||
// True when objects are hidden by Isolate / Hide.
|
||||
isolation_active: bool,
|
||||
// Whether entity transparency is shown (Transparency pill state).
|
||||
transparency_display: bool,
|
||||
// Which pills the user has chosen to show on the bar.
|
||||
config: &'a StatusBarConfig,
|
||||
) -> Element<'a, Message> {
|
||||
|
|
@ -175,6 +177,16 @@ impl StatusBar {
|
|||
"Drawing Units (INSUNITS)\nClick to change",
|
||||
));
|
||||
}
|
||||
if vis(StatusPill::Transparency) {
|
||||
right_status = right_status.push(tip(
|
||||
toggle_pill(
|
||||
"TPY",
|
||||
transparency_display,
|
||||
Message::ToggleTransparencyDisplay,
|
||||
),
|
||||
"Show Transparency\nForce opaque when off",
|
||||
));
|
||||
}
|
||||
if vis(StatusPill::Isolate) {
|
||||
right_status = right_status.push(tip(
|
||||
toggle_pill("ISO", isolation_active, Message::ToggleIsolatePopup),
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ pub enum StatusPill {
|
|||
Space,
|
||||
Scale,
|
||||
Units,
|
||||
Transparency,
|
||||
Isolate,
|
||||
Vp,
|
||||
CleanScreen,
|
||||
|
|
@ -44,6 +45,7 @@ impl StatusPill {
|
|||
StatusPill::Space,
|
||||
StatusPill::Scale,
|
||||
StatusPill::Units,
|
||||
StatusPill::Transparency,
|
||||
StatusPill::Isolate,
|
||||
StatusPill::Vp,
|
||||
StatusPill::CleanScreen,
|
||||
|
|
@ -64,6 +66,7 @@ impl StatusPill {
|
|||
StatusPill::Space => "space",
|
||||
StatusPill::Scale => "scale",
|
||||
StatusPill::Units => "units",
|
||||
StatusPill::Transparency => "transparency",
|
||||
StatusPill::Isolate => "isolate",
|
||||
StatusPill::Vp => "vp",
|
||||
StatusPill::CleanScreen => "cleanscreen",
|
||||
|
|
@ -85,6 +88,7 @@ impl StatusPill {
|
|||
StatusPill::Space => "Model/Paper Space",
|
||||
StatusPill::Scale => "Annotation Scale",
|
||||
StatusPill::Units => "Drawing Units",
|
||||
StatusPill::Transparency => "Show Transparency",
|
||||
StatusPill::Isolate => "Isolate Objects",
|
||||
StatusPill::Vp => "Viewport Count",
|
||||
StatusPill::CleanScreen => "Clean Screen",
|
||||
|
|
|
|||
Loading…
Reference in a new issue