载入中...
搜索中...
未找到
SpriteStackTarget.cpp
浏览该文件的文档.
15PropertyDescriptor prop(std::string path, PropertyType type, EditorValue value, const char* category,
43 return c == CapabilityId("eve.editor.target.spritestack-properties") ? static_cast<IPropertyProvider*>(this)
47 return s.items.size() == 1 && s.items.front().target == TargetId(id_) && s.items.front().item.value() == id_;
49eve::Result<eve::Revision> SpriteStackDocumentTarget::currentRevision(const SelectionSnapshot& s) const {
52 eve::DiagnosticCode::InvalidArgument, "SpriteStack selection mismatch", "editor.spritestack.selection"));
68 prop("display.size", PropertyType::Vec2, EditorValue::Array{64.0, 64.0}, "display", .01, 100000),
96PropertyReadResult SpriteStackDocumentTarget::read(const SelectionSnapshot& s, const PropertyPath& p) const {
145Result<DomainOperation> SpriteStackDocumentTarget::makeSet(const SelectionSnapshot& s, const PropertyPath& p,
149 if (!matches(s) || !d || mode != PropertySetMode::Absolute || !validatePropertyValue(*d, value).ok())
150 return eve::editing::failed<DomainOperation>(EditorStatus::Rejected, RuleId("editor.spritestack.set"),
211 RuleId("editor.spritestack.source"), DiagnosticSeverity::Error, "SpriteStack source must not be empty"));
212 if (v.sourceKind == "primitive" && v.source != "box" && v.source != "sphere" && v.source != "cylinder" &&
215 RuleId("editor.spritestack.primitive"), DiagnosticSeverity::Error, "Unknown SpriteStack primitive"));
217 if (v.bake.layerCount < 1 || v.bake.layerCount > 512 || v.bake.imageW < 1 || v.bake.imageW > 4096 ||
245 return eve::editing::failed<void>(EditorStatus::Rejected, RuleId("editor.spritestack.operation"),
274 float* floats[] = {&v.bake.thickness, &v.bake.padding, &v.layerOffset, &v.shadowOpacity, &v.outlineWidth};
275 const char* floatFields[] = {"thickness", "padding", "layerOffset", "shadowOpacity", "outlineWidth"};
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
const std::string & value() const noexcept
Returns the exact legacy or canonical compatibility spelling.
Definition Identity.h:362
void bumpRevision()
Advance the revision without touching the dirty region.
Definition EditableTarget.h:179
Revision revisionValue() const noexcept
Return the revision as the shared protocol revision type.
Definition EditableTarget.h:169
void widenDirty()
Mark an unknown area dirty without advancing the revision.
Definition EditableTarget.h:177
virtual void clearDirtyRegion()=0
Clears dirty region.
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
bool isWithinLimits(size_t maxDepth, size_t maxElements, size_t maxStringBytes) const
Validate nesting, element count and approximate string byte limits.
Definition EditingValue.cpp:50
Revisioned SpriteStack bake preset with reusable Inspector metadata.
Definition SpriteStackTarget.h:72
Result< void > applyDomainOperation(const DomainOperation &operation) override
Applies domain operation.
Definition SpriteStackTarget.cpp:242
eve::Result< eve::Revision > currentRevision(const SelectionSnapshot &selection) const override
Current revision.
Definition SpriteStackTarget.cpp:49
SpriteStackDocumentTarget(std::string id)
Sprite stack document target.
Definition SpriteStackTarget.cpp:34
PropertyReadResult read(const SelectionSnapshot &selection, const PropertyPath &path) const override
Reads read.
Definition SpriteStackTarget.cpp:96
Result< DomainOperation > makeSet(const SelectionSnapshot &selection, const PropertyPath &path, const EditorValue &value, PropertySetMode mode) const override
Make set.
Definition SpriteStackTarget.cpp:145
Result< void > commitDomainState(std::unique_ptr< IDomainOperationTarget > candidate) override
Commits domain state.
Definition SpriteStackTarget.cpp:317
std::unique_ptr< IDomainOperationTarget > cloneDomainState() const override
Clones domain state.
Definition SpriteStackTarget.cpp:314
std::vector< EditorDiagnostic > validate() const
Validate source, sampling limits, output memory and presentation values.
Definition SpriteStackTarget.cpp:202
Result< DomainOperation > makeReset(const SelectionSnapshot &selection, const PropertyPath &path) const override
Make reset.
Definition SpriteStackTarget.cpp:194
Result< void > loadSnapshot(const EditorValue &snapshot)
Loads snapshot.
Definition SpriteStackTarget.cpp:329
void * queryCapability(const CapabilityId &capability) override
Query an optional target capability.
Definition SpriteStackTarget.cpp:42
PropertySchema schema(const SelectionSnapshot &selection) const override
Schema.
Definition SpriteStackTarget.cpp:55
editing::PropertyDescriptor PropertyDescriptor
Definition ArchSpaceTarget.h:31
editing::PropertyPath PropertyPath
Definition ArchSpaceTarget.h:33
Diagnostic ruleDiagnostic(eve::DiagnosticCode code, RuleId rule, DiagnosticSeverity severity, std::string message)
Build a common diagnostic carrying an open editing rule identity.
Definition EditingResult.h:25
const EditorValue * field(const EditorValue &value, const char *name)
Definition RoadNetworkEditTarget.cpp:15
@ InvalidArgument
@ PreconditionViolation
Definition Container.h:602
std::vector< std::string > affectedProperties
Definition EditingProtocol.h:52
PropertyDescriptorLookup find(const PropertyPath &path) const
Finds find.
Definition EditingProperty.cpp:9
Stable discovery metadata exposed by every editable target.
Definition EditableTarget.h:39
Complete authored sprite-stack bake and presentation preset.
Definition SpriteStackTarget.h:55
spritestack::SliceOptions bake
Definition SpriteStackTarget.h:58
float displayWidth
Definition SpriteStackTarget.h:59
std::string source
Definition SpriteStackTarget.h:57
float layerOffset
Definition SpriteStackTarget.h:61
float shadowOpacity
Definition SpriteStackTarget.h:63
std::string sourceKind
Definition SpriteStackTarget.h:56
float outlineWidth
Definition SpriteStackTarget.h:64