载入中...
搜索中...
未找到
SceneComponentPayload.h
浏览该文件的文档.
51 virtual std::vector<EditorDiagnostic> validateComponent(const SceneComponentPayloadRef& component) const = 0;
60class EVENGINE_API_BACKENDS SceneComponentPropertyBindings final : public ISceneComponentPayloadProvider {
92 PropertyReadResult read(const SelectionSnapshot& selection, const PropertyPath& path) const override;
134 virtual Result<IPropertyProvider*> propertyProvider(const SelectionSnapshot& selection) const = 0;
136 virtual Result<IDomainOperationTarget*> operationTarget(const SelectionSnapshot& selection) const = 0;
143class EVENGINE_API_BACKENDS SceneComponentPayloadRegistry final : public ISceneComponentPayloadTarget {
156 Result<IDomainOperationTarget*> operationTarget(const SelectionSnapshot& selection) const override;
168 std::string channel, const std::vector<SceneComponentPayloadRef>& components, std::uint64_t sequence = 0);
Editable-target capability that applies owning domain operations.
Definition EditingTargetOperations.h:11
UI-independent property access for an immutable selection snapshot.
Definition EditingProperty.h:139
Module-owned adapter for one scene component payload type.
Definition SceneComponentPayload.h:37
virtual std::vector< EditorDiagnostic > validateComponent(const SceneComponentPayloadRef &component) const =0
Validate the current payload and return inspector diagnostics.
virtual const std::string & componentType() const =0
Stable component type handled by this provider.
virtual Result< IDomainOperationTarget * > payloadOperationTarget(const SelectionSnapshot &selection) const =0
Resolve the authoritative mutation target for one component selection.
~ISceneComponentPayloadProvider() override=default
Releases ISceneComponentPayloadProvider resources.
virtual std::vector< SceneComponentPayloadRef > components(const TargetId &scene, const ObjectId &object) const =0
Enumerate immutable component references attached to one object.
Scene capability that discovers and routes module-owned component payload editors.
Definition SceneComponentPayload.h:121
virtual Result< IDomainOperationTarget * > operationTarget(const SelectionSnapshot &selection) const =0
Resolve the operation target that must receive the provider's planned operations.
virtual Result< std::vector< SceneComponentPayloadRef > > componentPayloads(const TargetId &scene, const ObjectId &object) const =0
Enumerate all registered component payloads on one scene object.
static CapabilityId editorCapabilityId()
Stable capability id for editable scene component payloads.
Definition SceneComponentPayload.h:126
virtual Result< std::vector< EditorDiagnostic > > validatePayload(const SceneComponentPayloadRef &component) const =0
Validate a stable component reference using its owning module.
virtual ~ISceneComponentPayloadTarget()=default
Releases ISceneComponentPayloadTarget resources.
virtual Result< IPropertyProvider * > propertyProvider(const SelectionSnapshot &selection) const =0
Resolve the property provider for a homogeneous component selection.
Non-owning registry and scene-facing router for component payload providers.
Definition SceneComponentPayload.h:143
Reuses existing property/operation targets as scene component payloads.
Definition SceneComponentPayload.h:60
const std::string & componentType() const override
Component type.
Definition SceneComponentPayload.h:67
std::function< std::vector< EditorDiagnostic >()> Validator
Definition SceneComponentPayload.h:62
Result< SelectionSnapshot > makeSceneComponentSelection(std::string channel, const std::vector< SceneComponentPayloadRef > &components, std::uint64_t sequence)
Build a property selection for one or more homogeneous component references.
Definition SceneComponentPayload.cpp:250
SceneComponentChange
Whether a registry or binding removal changed authoritative state.
Definition SceneComponentPayload.h:15
detail::StrongUint64< detail::RevisionTag > Revision
Monotonic content/state revision used for optimistic-concurrency checks.
Definition Revision.h:13
Stable, pointer-free reference to one editable component instance.
Definition SceneComponentPayload.h:18
Revision revision
Definition SceneComponentPayload.h:24
std::uint64_t generation
Definition SceneComponentPayload.h:23
TargetId target
Definition SceneComponentPayload.h:19
auto operator<=>(const SceneComponentPayloadRef &) const =default
Operator <=>.
std::string type
Definition SceneComponentPayload.h:22
StableId component
Definition SceneComponentPayload.h:21
ObjectId object
Definition SceneComponentPayload.h:20