载入中...
搜索中...
未找到
SceneTarget.h
浏览该文件的文档.
40 static CapabilityId editorCapabilityId() { return CapabilityId("eve.editor.target.scene-hierarchy"); }
50 virtual Result<DomainOperation> makeRename(const ObjectId& id, const std::string& name) const = 0;
52 virtual Result<DomainOperation> makeReparent(const ObjectId& id, const ObjectId& parent) const = 0;
68 static CapabilityId editorCapabilityId() { return CapabilityId("eve.editor.target.scene-components"); }
105 [[nodiscard]] Result<void> commitDomainState(std::unique_ptr<IDomainOperationTarget> candidate) override;
118 Result<DomainOperation> makeReparent(const ObjectId& id, const ObjectId& parent) const override;
125 void bindComponentPayloads(SceneComponentPayloadRegistry* registry) { componentPayloads_ = registry; }
162 explicit SceneDocumentTarget(std::string id) : SceneTargetBase(std::move(id), "scene-document") {}
169 explicit RuntimeWorldTarget(std::string id) : SceneTargetBase(std::move(id), "runtime-world") {}
193class EVENGINE_API_BACKENDS SceneHostEditorTarget final : public SceneTargetBase, public ISceneComponentInspector {
229 Result<DomainOperation> plan(IEditableTarget& target, const CreateSceneObjectRequest& request) const;
264 PropertyReadResult read(const SelectionSnapshot& selection, const PropertyPath& path) const override;
Dirty region and revision shared by every editable document target.
Definition EditableTarget.h:154
Optional candidate/publish capability for atomic domain operations.
Definition EditingTargetOperations.h:26
Editable-target capability that applies owning domain operations.
Definition EditingTargetOperations.h:11
Optional capability exposing a deterministic, persistence-safe editing snapshot.
Definition EditableTarget.h:247
UI-independent property access for an immutable selection snapshot.
Definition EditingProperty.h:139
Dotted property path (layout.size) compared and persisted as text.
Definition EditingIds.h:78
Deterministic owning value tree shared by authoring hosts.
Definition EditingValue.h:19
ECS mount point for one scene graph (full scene or nested subtree root). Isomorphic to eve::ui::UIHos...
Definition SceneHost.h:89
Read-only live component/link inspection capability for scene inspectors.
Definition SceneTarget.h:63
static CapabilityId editorCapabilityId()
Stable capability id for component/link metadata inspection.
Definition SceneTarget.h:68
virtual Result< std::vector< SceneComponentLinkSnapshot > > componentLinks(const ObjectId &object) const =0
Enumerate safe link metadata without exposing runtime pointers.
virtual ~ISceneComponentInspector()=default
Releases ISceneComponentInspector resources.
Stable hierarchy capability implemented by document and runtime targets.
Definition SceneTarget.h:35
static CapabilityId editorCapabilityId()
Stable capability identity used instead of cross-module RTTI.
Definition SceneTarget.h:40
virtual std::vector< ObjectId > sceneChildren(const ObjectId &parent) const =0
Return child identities in deterministic order.
virtual Result< SceneObjectSnapshot > sceneObject(const ObjectId &id) const =0
Return an immutable object snapshot.
virtual ~ISceneHierarchyEditTarget()=default
Releases ISceneHierarchyEditTarget resources.
virtual Result< DomainOperation > makeReparent(const ObjectId &id, const ObjectId &parent) const =0
Build a reversible hierarchy reparent operation.
virtual Result< DomainOperation > makeDelete(const ObjectId &id) const =0
Build a reversible delete operation for a leaf object.
virtual Result< DomainOperation > makeCreate(const CreateSceneObjectRequest &request) const =0
Build a reversible create operation without applying it.
virtual Result< DomainOperation > makeRename(const ObjectId &id, const std::string &name) const =0
Build a reversible object rename operation.
Capability implemented by document and live scene targets.
Definition SceneEditingCommands.h:26
Live game-world backend exposing the same standard scene capabilities.
Definition SceneTarget.h:166
Non-owning registry and scene-facing router for component payload providers.
Definition SceneComponentPayload.h:143
Authoring scene-document backend exposing the standard scene capabilities.
Definition SceneTarget.h:159
Backend-neutral hierarchy editing logic for outliner-style tools.
Definition SceneTarget.h:233
Optional live adapter mirroring editor operations into one SceneHost.
Definition SceneTarget.h:193
Backend-neutral placement logic suitable for a Tool, script or command handler.
Definition SceneTarget.h:226
Property adapter exposing scene TRS to generic inspector presenters.
Definition SceneTarget.h:254
ScenePropertyProvider(const SceneTargetBase *target)
Scene property provider.
Definition SceneTarget.h:257
Shared in-memory scene target implementation for document/runtime adapters.
Definition SceneTarget.h:86
void bindComponentPayloads(SceneComponentPayloadRegistry *registry)
Bind an optional non-owning registry used by component inspectors.
Definition SceneTarget.h:125
~SceneTargetBase() override=default
Scene target base.
Backend-neutral transform logic suitable for a Tool, script or command handler.
Definition SceneTarget.h:246
scene_editing::SceneComponentPayloadRegistry SceneComponentPayloadRegistry
Definition EditorSceneComponentPayload.h:14
Definition AvatarInstance.h:33
Definition Container.h:602
Stable discovery metadata exposed by every editable target.
Definition EditableTarget.h:39
Request used to create a scene object in either backend.
Definition SceneTarget.h:27
SceneTransformValue transform
Definition SceneTarget.h:31
Safe metadata for one external component link on a live scene object.
Definition SceneTarget.h:56
bool targetAlive
Definition SceneTarget.h:59
Immutable scene object snapshot returned across target boundaries.
Definition SceneTarget.h:19
SceneTransformValue transform
Definition SceneTarget.h:23
Serializable transform exchanged across the scene editing boundary.
Definition SceneEditingCommands.h:10