载入中...
搜索中...
未找到
MeshModifierEditor.cpp
浏览该文件的文档.
16procgen_editing::Result<void> MeshModifierEditor::configureWorkspace(editor::EditorWorkspace& workspace) const {
17 if (targetId_.empty()) return rejected("editor.mesh-modifier.target", "Mesh modifier target id is empty");
19 struct Panel { const char* id; const char* title; const char* region; const char* context; int order; };
31 editor::WorkspacePanelDescriptor descriptor{panel.id, panel.title, panel.region, "procgen.mesh-modifier",
34 if (!added.ok()) return rejected("editor.mesh-modifier.workspace-conflict", "Could not install mesh modifier workspace");
37 if (!activated.ok()) return rejected("editor.mesh-modifier.workspace-activate", "Could not activate mesh preview");
38 auto selected = candidate.selectItem("meshModifier", {editor::SelectionDomain::Asset, editor::TargetId(targetId_),
45procgen_editing::Result<void> MeshModifierEditor::activateTool(editor::EditorWorkspace& workspace,
57 if (!activated.ok()) return rejected("editor.mesh-modifier.tool-panel", "Mesh modifier tool panel is unavailable");
59 if (!mode.ok()) return rejected("editor.mesh-modifier.tool-mode", "Could not set mesh modifier tool mode");
60 auto focus = candidate.focusItem("meshModifier", editor::StableId(panel), editor::StableId(targetId_));
66procgen_editing::Result<void> MeshModifierEditor::observeRevision(std::string document, std::uint64_t revision) {
73 if (revision < *destination) return rejected("editor.mesh-modifier.stale-revision", "Document revision cannot move backwards");
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
Composition model shared by project-specific developer and runtime editors.
Definition EditorWorkspace.h:43
Result< EditorFocusSnapshot > focusItem(const std::string &channel, StableId surface, StableId item)
Focus a strongly identified surface and item without discarding diagnostics.
Definition EditorWorkspace.cpp:318
Result< SelectionSnapshot > selectItem(std::string channel, SelectionItem item, bool additive)
Select one already typed item without string domain parsing.
Definition EditorWorkspace.cpp:263
Result< WorkspacePanelDescriptor > registerPanel(WorkspacePanelDescriptor descriptor)
Register a checked owning panel descriptor.
Definition EditorWorkspace.cpp:48
Result< WorkspacePanelDescriptor > activatePanel(const StableId &id)
Activate a visible panel with structured not-found/rejected results.
Definition EditorWorkspace.cpp:169
Result< StableId > setModeId(StableId mode)
Set a strongly identified workspace mode.
Definition EditorWorkspace.cpp:244
procgen_editing::Result< void > configureWorkspace(editor::EditorWorkspace &workspace) const
Atomically install the complete mesh-modifier panel composition.
Definition MeshModifierEditor.cpp:16
procgen_editing::Result< void > observeRevision(std::string document, std::uint64_t revision)
Observe an externally owned document revision without copying its state.
Definition MeshModifierEditor.cpp:66
procgen_editing::Result< void > activateTool(editor::EditorWorkspace &workspace, std::string tool)
Activate graph, spline, sculpt, uvPaint, merge, or adhere and update semantic focus.
Definition MeshModifierEditor.cpp:45
MeshModifierEditor(std::string targetId)
Construct a controller for one mesh document.
Definition MeshModifierEditor.cpp:14
Definition MeshModifierEditor.cpp:7
Definition Container.h:602
UI-neutral description of one composable editor panel.
Definition EditorWorkspace.h:23