Skip to content

feat(dock): add bg_color() trait method for per-panel tile backgrounds - #10

Open
0xIonRod wants to merge 4 commits into
Bli-AIk:mainfrom
LunCoSim:main
Open

feat(dock): add bg_color() trait method for per-panel tile backgrounds#10
0xIonRod wants to merge 4 commits into
Bli-AIk:mainfrom
LunCoSim:main

Conversation

@0xIonRod

Copy link
Copy Markdown

Now I can draw UI on top of the 3D world.

Add WorkbenchPanel::bg_color() method allowing each panel to specify its own tile background color. Return None for transparent tiles (e.g., center spacer for 3D scene), or Some(Color32) for opaque panels.

Changes:

  • dock.rs: add bg_color() trait method with default opaque background
  • dock/ui.rs: draw tile background from panel.bg_color() in pane_ui()
  • dock/ui.rs: make CentralPanel transparent with Frame::NONE to let 3D scene show through behind the dock layout

PR Type

  • 🐞 Bug fix
  • ✨ New feature
  • 📚 Documentation change
  • 🎨 Code style change (formatting, renaming)
  • ♻️ Refactoring
  • ⚡️ Performance improvement
  • 🧪 Adding or updating tests
  • 🤖 CI/CD changes
  • 📦 Other changes

0xIonRod and others added 4 commits April 12, 2026 13:17
Add WorkbenchPanel::bg_color() method allowing each panel to specify
its own tile background color. Return None for transparent tiles
(e.g., center spacer for 3D scene), or Some(Color32) for opaque panels.

Changes:
- dock.rs: add bg_color() trait method with default opaque background
- dock/ui.rs: draw tile background from panel.bg_color() in pane_ui()
- dock/ui.rs: make CentralPanel transparent with Frame::NONE to let
  3D scene show through behind the dock layout

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add WorkbenchPanel::hide_tab() method. When true, the panel is inserted
as a plain pane tile without a tab header — ideal for viewport-style
panels like 3D scene viewports.

Changes:
- dock.rs: add hide_tab() trait method with default false
- dock.rs: add make_tile() to separate hidden-tab from tabbed panels
- dock.rs: update build_default_tree to use make_tile() for left/center/right
  slots, so hidden-tab panels render without tab bars

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
…ports

Set all_panes_must_have_tabs: false so egui_tiles doesn't wrap
every pane in a tab container. This allows hide_tab() panels
(like 3D scene viewports) to render without any tab bar.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add EguiContextSettings with capture_pointer_input: false to the
PrimaryEguiContext so that transform-gizmo-bevy can receive pointer
events in areas not covered by interactive egui widgets.

Also increase center panel layout share from 4.0 to 10.0 for more
3D viewport space.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant