Groups: objects of type "group" draw nothing; members carry the group's id in a new `group` field (groups nest). A hidden group hides everything in it (Doc::hidden_in_groups, skipped by the driver), a locked one locks it in the Studio. Removing a group moves its members up into its parent group. isokit check warns about members of missing groups. New `order` op: the whole object order at once (each id once), one undo step. Studio object list as a tree in the document order, front first: each group sits just after its members, so it draws as one block, and ground pieces higher in the list lie on top. Groups fold open and shut; every row has an eye and a lock (shown on hover or when set); a click on a group selects all of it, so a drag on the map moves it all. Group / Ungroup (Ctrl+G, Ctrl+Shift+G), Order up/down (Ctrl+] Ctrl+[, with Shift to the front / back), drag rows above, below or into a group. Group panel: name, zoom, ungroup, to front / back, lock, hide, delete with contents. MCP: group field in the object schema, order op, guidance. Tests: Rust 81 (ops: groups, order, removal; driver: nested hidden groups), Studio 131, web 100.
This commit is contained in:
1 parent
5ec164a633
commit
540b37020c
15 files changed
+573
-30
No files matched your search
@@ -38,6 +38,13 @@ document.documentElement.setAttribute("data-theme",t);})();
|
||||
<section class="st-panel st-grow-panel">
|
||||
<h2>Objects <small id="ocount"></small></h2>
|
||||
<input type="search" id="osearch" placeholder="Filter…" autocomplete="off">
|
||||
<div class="st-otools">
|
||||
<button type="button" id="ogroup" title="Group the selected objects (Ctrl+G)">▤ Group</button>
|
||||
<button type="button" id="oungroup" title="Ungroup (Ctrl+Shift+G)">Ungroup</button>
|
||||
<span title="The order draws ground pieces (areas, beds, ponds, roads): higher in the list lies on top. Drag rows to reorder, or into a group">Order</span>
|
||||
<button type="button" id="ofwd" title="Forward: draw on top of the one above (Ctrl+]); Shift: to the front (Ctrl+Shift+])">▲</button>
|
||||
<button type="button" id="obwd" title="Backward (Ctrl+[); Shift: to the back (Ctrl+Shift+[)">▼</button>
|
||||
</div>
|
||||
<ul id="objects" class="st-objects"></ul>
|
||||
</section>
|
||||
</aside>
|
||||
|
||||
Reference in new issue
Block a user