cad-editor/src/app
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 7cba5c8679 feat(viewport): hide ViewCube then render bar as the viewport narrows
When the viewport got too narrow the top-left render-mode bar and the
top-right ViewCube overlapped. Hide them adaptively, measuring the render
bar's real width rather than guessing:

- Wrap the render bar in DensitySwap, which measures its natural width every
  frame and swaps it for an empty spacer once it no longer fits the tile. Add
  report_width0 so it publishes that measured width to render_bar_w.
- Compute viewcube_visible from that measured width: the cube shows only while
  bar_w + gap + cube region fits. This one flag drives the ViewCube nav/UCS
  widgets, the hover hit-test, and — threaded through build_viewports /
  build_viewport_for_pane / viewport_data_for — the GPU cube itself, which
  previously ignored the pane flag (show_viewcube was inst.active only), so
  the cube stayed while its surrounding widgets vanished.

Result: the ViewCube gives way first, then the render bar once it too has no
room — no overlap, sized to the bar's real width (which varies with the
render-mode label, split buttons and tile count).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 14:58:48 +03:00
..
commands feat(alias): centralize command aliases in user-editable ocad.pgp (#286/#288) 2026-07-10 12:39:22 +03:00
update fix(stretch): free crossing-window corners from Ortho, draw filled marquee (#291) 2026-07-10 13:32:32 +03:00
view feat(viewport): hide ViewCube then render bar as the viewport narrows 2026-07-10 14:58:48 +03:00
alias.rs feat(alias): centralize command aliases in user-editable ocad.pgp (#286/#288) 2026-07-10 12:39:22 +03:00
automation.rs fix(rotate): apply a typed angle right after the centre (#159) 2026-06-25 19:58:45 +03:00
command_driver.rs fix(clipboard): paste anchor at bounding-box lower-left, not center (#285) 2026-07-10 11:16:13 +03:00
document.rs feat(commands): expand standard CAD command coverage 2026-06-29 08:23:58 +03:00
expr_eval.rs fix(expr-eval): bound eval_to_string against super-linear DoS 2026-06-28 22:41:02 +03:00
helpers.rs fix(clipboard): paste anchor at bounding-box lower-left, not center (#285) 2026-07-10 11:16:13 +03:00
history.rs perf(hash): swap std HashMap/HashSet for rustc-hash FxHash 2026-06-05 00:35:53 +03:00
layers.rs refactor: move resource/IO root modules under io/ 2026-06-26 23:06:40 +03:00
mod.rs feat(viewport): hide ViewCube then render bar as the viewport narrows 2026-07-10 14:58:48 +03:00
model_ops.rs fix(web): restore wasm build broken by SECTION + file association 2026-06-29 17:13:17 +03:00
mtext_editor.rs feat(text): MTEXT background fill / mask + text frame, editable in Properties 2026-07-07 17:41:16 +03:00
plugin_host.rs fix(plugin): auto-register unknown layers so added entities survive DWG save (#252) 2026-07-02 20:36:16 +03:00
properties.rs Merge PR #322: perf — responsive large copy/paste + point picking 2026-07-08 23:38:37 +03:00
recent.rs feat(ui): ribbon collapse-mode selector + start-page recent controls 2026-07-06 01:06:01 +03:00
settings.rs feat(text): TEXTFILL — fill or hollow TrueType glyphs (#260) 2026-07-09 16:41:53 +03:00
style_ops.rs chore: clear compiler warnings 2026-06-18 21:18:09 +03:00
text_inline.rs feat(ucs): orient text-bearing annotations to the active UCS 2026-06-22 18:18:35 +03:00
visibility.rs refactor(scene): group modules into role-based subfolders 2026-06-16 11:33:46 +03:00