cad-editor/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 56e1c03ac2 feat(layers): enforce layer lock (select/modify/fade + cursor badge)
Locked-layer objects were fully editable. Now they stay visible and
snappable but are otherwise protected:

- Not selectable: the five interactive pick paths (box, lasso, single
  click, cycling, box-release) plus SELECTALL and QSELECT skip locked
  entities.
- Not modifiable (defense-in-depth even if a handle slips through):
  transform_entities, erase_entities, apply_grip and the Properties
  commit all skip locked entities.
- Faded: entities on a locked layer render dimmed toward the background
  (render_style + wire tessellation); toggling lock re-tessellates.
- Snap still works: locked entities are intentionally kept in the wire
  set (visibility_ok untouched), so object snap keeps finding them.
- Feedback: a small padlock is drawn by the crosshair when hovering a
  locked object, and clicking one prints "Object is on locked layer …".

New Scene::is_layer_locked / locked_layer_name helpers centralise the
check (mirroring layer_hidden).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:10:39 +03:00
..
app feat(layers): enforce layer lock (select/modify/fade + cursor badge) 2026-07-01 13:10:39 +03:00
entities fix(blocks): layer-0 children inherit the block instance layer (#221) 2026-06-30 17:24:04 +03:00
io fix(web): restore wasm build broken by SECTION + file association 2026-06-29 17:13:17 +03:00
modules feat(attedit): attribute editor dialog for blocks 2026-07-01 08:05:25 +03:00
plugin Fix 5: Allow backward-compatibility and add plugin-template-v2 2026-06-25 00:02:17 +03:00
scene feat(layers): enforce layer lock (select/modify/fade + cursor badge) 2026-07-01 13:10:39 +03:00
shaders perf(render): hoist per-wire constants to a storage buffer (native) 2026-06-26 10:39:23 +03:00
ui feat(layers): enforce layer lock (select/modify/fade + cursor badge) 2026-07-01 13:10:39 +03:00
cli.rs Initial commit 2026-06-25 00:01:36 +03:00
command.rs feat(attedit): attribute editor dialog for blocks 2026-07-01 08:05:25 +03:00
lib.rs refactor: move resource/IO root modules under io/ 2026-06-26 23:06:40 +03:00
main.rs refactor: move resource/IO root modules under io/ 2026-06-26 23:06:40 +03:00
par.rs feat(wasm): sequential rayon shim for the web build 2026-06-16 17:11:20 +03:00
snap.rs chore: remove dead extend stub, flatten single-file module dirs 2026-06-26 23:00:26 +03:00
sys.rs fix(web): paste clipboard text into the TEXT / MText editors 2026-06-20 17:05:02 +03:00