The Object Database
UI reference for the Object Database screen: the two tabs, the object cards, the detail view, and the annotation editor panel.
The Object Database screen lists the objects that exist in your open project and gives you the editor for their annotations. The page heading reads Object Database. You reach it from the Object Database entry in the sidebar, or from the Annotate Object tile on Home.
This page describes the screen. For what an object is and how you bring one into a project, see Adding an object and The mesh database.
The two tabs
Directly under the heading there are two tabs:
- Annotate Objects, the tab the screen opens on. A picker, a 3D viewport, and the annotation editor panel.
- View Database, a read-only browse of everything in the project.
The tabs share one list of objects. That list loads when you open the screen and reloads whenever the browser tab regains focus. There is no refresh button. If loading fails, a red bar appears above the tabs reading Failed to load objects: followed by the reason.
There is no search box and no filter control anywhere on this screen, on either tab. The list is shown whole, in one order, and cannot be narrowed. To filter the catalog by tag, use the mesh database commands in the CLI reference.
View Database
The object list
Above the grid sits a count: N objects in database, or Loading… while the fetch is in flight. If the project has no objects, the count reads 0 objects in database and the grid below it is empty. There is no other empty-state message on this tab.
Each object is a card. A card shows the object name and five lines of fact, all read from the project's own files:
Anchors:the number of anchors defined on the object.Articulation presets:the number of presets.Parts:the number of named parts.URDF:yesorno.object_model.yaml:yesorno.
The card's only control is View Details.
The detail view
View Details replaces the grid with a two-column detail view for that object. A ← Back to Database button at the top returns you to the grid.
The left column repeats the object name as a heading, then lists:
- URDF on disk,
yesorno. - object_model.yaml on disk,
yesorno. - Anchors, every anchor name as a chip.
- Articulation presets, every preset name as a chip.
- Parts, every part name as a chip.
Below those is Edit Annotations →. It switches you to the Annotate Objects tab and loads this object into the editor in one step.
The right column is headed 3D View and is a placeholder, not a viewer. It shows a box icon, the text 3D Object Viewer, and the line Open the Annotate tab for the live editor. Nothing renders here. The live 3D view is on the other tab.
Annotate Objects
The object picker
The tab opens with a row containing the label Object and a dropdown. Unopened, the dropdown reads Select an object, or Loading… while the list is still arriving. Picking an object loads it into the annotation editor, which takes a moment; a Loading… spinner appears at the right of the row while the swap runs. Picking a second object while one is still loading does nothing, so wait for the spinner to clear.
Once an object is loaded, a small summary appears next to the dropdown in the form 3 anchors · 2 presets · 5 parts.
An entry is greyed out in the dropdown, and Edit Annotations → is disabled for it, only when both its URDF and its object model are missing. Such an entry is labelled
(missing URDF and YAML). An object missing only one of the two is still selectable and still annotatable here, but it cannot be pulled into a project. Check the twoon diskrows in the detail view to see which file is absent.
If loading the object into the editor fails, a red bar appears under the picker with the reason.
The viewport
The left half of the tab is the 3D viewport. Before you pick anything it reads Select an object to begin annotating, with the line The annotations viewer starts when you pick an object from the dropdown above. underneath. While a swap is running it reads Loading object…. The viewer starts on demand, which is why nothing is drawn until your first pick. See The Viser 3D viewport for the camera and scene controls inside it.
The annotation editor panel
The right half is the editor panel. Until an object is loaded it reads Select an object to edit its annotations., and while the editor is starting, Loading editor….
The panel and the menu inside the 3D viewport are two faces of the same editor. A change made in one appears in the other.
At the top of the panel is the loaded object's name. An unsaved badge appears beside it when the working copy differs from what is stored in the project.
Under the name are three tabs: Anchors, Parts, Presets. The panel opens on Anchors each time a new object loads.
Below the tabs, and visible on all three of them, is a Joints block: one numeric field and one slider per actuated joint. Moving a joint poses the object in the viewport. The block is absent for objects that have no actuated joints.
The tab body below that changes with the tab:
- Anchors carries a picker for the current anchor, a Duplicate button, fields including Name, Parent link, Description, Pose and Metadata, quick rotate buttons, and a pair of Reload from 3D and Apply pose buttons for the pose fields. It ends in Update anchor, with Delete beside it. Delete asks for confirmation in a dialog with Cancel and Delete anchor. When you are creating rather than editing, the single button reads Create anchor.
- Parts ends in Update part and Delete, or Create part.
- Presets ends in Update preset and Delete, or Create preset, and carries the per-preset Included joints checkboxes.
Update against Save to Project
These are two different levels of commit, and the distinction matters.
Update anchor, Update part and Update preset apply the edits in the tab body to the working copy of the object held by the editor. Nothing is written to your project.
Pinned at the bottom of the panel are two controls that act on the whole object:
- Save to Project writes the entire object, every anchor, part and preset, out to the project files. The button reads
Saving…while it works. On success a green bar appears above the viewport readingSaved <name> to the active project.If someone else changed the project underneath you, a red bar readsProject changed, refresh and retry.Reload the screen and save again. - Discard reloads the object from the project files and throws away every unsaved edit, including any Update you have applied.
An Update on its own is not durable. Closing the screen after Update but before Save to Project loses the change.
Related
Updated 3 days ago