cad-editor/src/app
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 62dfbfe2be fix(paper): give the sheet back its desk and its edge
A paper layout painted its whole canvas in the page colour, so the sheet
had no visible edge — zooming out never reached one, because the surround
was the same colour as the page. Floating viewports then painted
themselves black over it.

Both come from the same idea, that a viewport's canvas is a colour it can
be handed. What lies behind a viewport depends on what the viewport is:

- The full-canvas sheet shows the desk. `paper_bg_color` is the page, and
  the page is a bounded rectangle `paper_sheet_fill` already draws; using
  it for the canvas too erased the boundary between them. The desk is now
  its own colour, defined once in the scene and read by both the widget
  and the renderer, so the two cannot drift apart.
- A floating viewport sits on that sheet and must paint no canvas at all.
  Handing it a transparent one does not work: the background shader
  returns an opaque colour whatever alpha it is given, so alpha zero came
  out black. Skipping the pass is the only way to ask for see-through, so
  `skip_background` now suppresses both the clear and the pass. It is part
  of the frame signature too — without that, a cached frame would keep
  showing the canvas the flag was just turned off for.

Shading and fog still blend toward what is behind a floating viewport,
which is the page, so the uniform keeps that colour even though nothing
paints it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 00:11:47 +03:00
..
commands fix(units): make the units selector reach what it names 2026-08-07 19:59:09 +03:00
update fix(units): make the units selector reach what it names 2026-08-07 19:59:09 +03:00
view fix(paper): give the sheet back its desk and its edge 2026-08-08 00:11:47 +03:00
alias.rs feat(web): persist browser state 2026-07-29 00:44:00 +03:00
automation.rs feat(ucs): integrate coordinate systems 2026-08-04 23:17:54 +03:00
command_driver.rs feat(select): offer the selection modes at "Select objects" 2026-08-07 13:32:11 +03:00
config.rs feat(input): add editable shortcut table 2026-08-04 15:35:06 +03:00
document.rs feat(ucs): integrate coordinate systems 2026-08-04 23:17:54 +03:00
expr_eval.rs fix(expr-eval): bound eval_to_string against super-linear DoS 2026-06-28 22:41:02 +03:00
find_replace.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
helpers.rs feat(units): read back every form the drawing writes 2026-08-07 23:46:49 +03:00
history.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
layers.rs fix(layers): preserve true colors 2026-07-30 16:48:14 +03:00
mod.rs fix(units): make the units selector reach what it names 2026-08-07 19:59:09 +03:00
model_ops.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
mtext_editor.rs fix(input): restore arrow key navigation 2026-08-05 00:08:35 +03:00
plugin_host.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
properties.rs feat(units): read back every form the drawing writes 2026-08-07 23:46:49 +03:00
recent.rs feat(web): show recent thumbnails 2026-07-29 01:09:13 +03:00
settings.rs feat(properties): refine quick properties 2026-08-04 17:32:06 +03:00
shortcuts.rs feat(input): add editable shortcut table 2026-08-04 15:35:06 +03:00
style_ops.rs feat(styles): overhaul style managers 2026-08-03 02:01:47 +03:00
text_inline.rs fix(input): restore arrow key navigation 2026-08-05 00:08:35 +03:00
visibility.rs feat(grip): support multi-grip editing 2026-07-31 22:05:30 +03:00