载入中...
搜索中...
未找到
AvatarDocumentEditor.cpp
浏览该文件的文档.
16 return eve::editing::failed<T>(status, avatar_editing::RuleId(std::move(rule)), std::move(message));
19avatar_editing::EditorValue floats(float a, float b) { return avatar_editing::EditorValue::Array{a, b}; }
24avatar_editing::EditorValue layerValue(const char* id, const char* name, const char* texture, int z, bool visible,
48 layers.push_back(layerValue("body", "body", "asset://preview/body.png", 0, true, 40.0f, 20.0f, 96.0f, 128.0f, 0.35f,
50 layers.push_back(layerValue("eyes", "eyes", "asset://preview/eyes.png", 1, true, 62.0f, 78.0f, 52.0f, 22.0f, 0.95f,
63 {"id", std::string("happy")}, {"name", std::string("happy")}, {"channels", std::move(channels)}});
74 if (!loaded.ok()) loaded.ignore("avatar editor keeps defaults when the preview snapshot is rejected");
132 return editorError(begun.code(), "editor.avatar.begin", "Could not begin the avatar transaction");
263avatar_editing::Result<void> AvatarDocumentEditor::createLayer(std::string id, std::string name) {
282 auto deleted = commit(target_.makeDeleteLayer(avatar_editing::ObjectId(selectedId_)), "Delete layer");
293avatar_editing::Result<void> AvatarDocumentEditor::createParameter(std::string id, std::string name) {
315 if (!target_.parameters().empty()) return selectParameter(target_.parameters().front().id.value());
320avatar_editing::Result<void> AvatarDocumentEditor::createExpression(std::string id, std::string name) {
333 auto deleted = commit(target_.makeDeleteExpression(avatar_editing::ObjectId(selectedId_)), "Delete expression");
335 if (!target_.expressions().empty()) return selectExpression(target_.expressions().front().id.value());
478 if (index < 0 || static_cast<std::size_t>(index) >= target_.parameters().size()) return nullptr;
481const avatar_editing::AvatarExpressionValue* AvatarDocumentEditor::expressionAt(int index) const {
482 if (index < 0 || static_cast<std::size_t>(index) >= target_.expressions().size()) return nullptr;
std::map< std::string, std::vector< Key >, std::less<> > channels
Definition AnimCurveLibrary.cpp:19
UI-neutral avatar editor: workspace, layer composite preview, undo.
void ignore(std::string_view reason={}) const noexcept
Explicitly discard this result after documenting the reason.
Definition Result.h:537
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
const std::string & value() const noexcept
Returns the exact legacy or canonical compatibility spelling.
Definition Identity.h:362
Result< DomainOperation > makeSet(const SelectionSnapshot &, const PropertyPath &, const EditorValue &, PropertySetMode) const override
Make set.
Definition AvatarTarget.cpp:252
const std::vector< AvatarExpressionValue > & expressions() const
Expressions.
Definition AvatarTarget.h:133
Result< DomainOperation > makeDeleteParameter(const ObjectId &) const
Make delete parameter.
Definition AvatarTarget.cpp:348
Result< DomainOperation > makeCreateExpression(const AvatarExpressionValue &) const
Make create expression.
Definition AvatarTarget.cpp:363
Result< DomainOperation > makeCreateLayer(const AvatarLayerValue &) const
Make create layer.
Definition AvatarTarget.cpp:310
Result< DomainOperation > makeCreateParameter(const AvatarParameterValue &) const
Make create parameter.
Definition AvatarTarget.cpp:336
Result< DomainOperation > makeDeleteExpression(const ObjectId &) const
Make delete expression.
Definition AvatarTarget.cpp:375
Result< DomainOperation > makeDeleteLayer(const ObjectId &) const
Make delete layer.
Definition AvatarTarget.cpp:322
const std::vector< AvatarParameterValue > & parameters() const
Parameters.
Definition AvatarTarget.h:131
std::string expressionChannelName(int expression, int channel) const
Expression channel name.
Definition AvatarDocumentEditor.cpp:461
avatar_editing::Result< void > setParameterValue(double value)
Definition AvatarDocumentEditor.cpp:254
avatar_editing::Result< void > deleteSelectedExpression()
Definition AvatarDocumentEditor.cpp:329
avatar_editing::Result< editor::TransactionReceipt > redo()
Definition AvatarDocumentEditor.cpp:349
avatar_editing::Result< void > selectParameter(std::string id)
Definition AvatarDocumentEditor.cpp:193
avatar_editing::Result< void > deleteSelectedParameter()
Definition AvatarDocumentEditor.cpp:302
avatar_editing::Result< void > selectExpression(std::string id)
Definition AvatarDocumentEditor.cpp:208
avatar_editing::Result< void > pointerDown(float x, float y)
Definition AvatarDocumentEditor.cpp:223
avatar_editing::Result< void > createParameter(std::string id, std::string name)
Definition AvatarDocumentEditor.cpp:293
bool isParameterSelected(int index) const
True when parameter selected.
Definition AvatarDocumentEditor.cpp:440
avatar_editing::Result< void > deleteSelectedLayer()
Definition AvatarDocumentEditor.cpp:276
int expressionChannelCount(int index) const
Expression channel count.
Definition AvatarDocumentEditor.cpp:457
bool isExpressionSelected(int index) const
True when expression selected.
Definition AvatarDocumentEditor.cpp:453
avatar_editing::Result< void > createLayer(std::string id, std::string name)
Definition AvatarDocumentEditor.cpp:263
AvatarDocumentEditor(std::string targetId)
Construct a seeded two-layer face with a referenced parameter.
Definition AvatarDocumentEditor.cpp:38
avatar_editing::Result< void > createExpression(std::string id, std::string name)
Definition AvatarDocumentEditor.cpp:320
avatar_editing::Result< void > selectLayer(std::string id)
Definition AvatarDocumentEditor.cpp:179
avatar_editing::Result< void > setLayerZ(int zIndex)
Definition AvatarDocumentEditor.cpp:244
avatar_editing::Result< editor::TransactionReceipt > undo()
Definition AvatarDocumentEditor.cpp:340
avatar_editing::Result< void > setLayerVisible(bool visible)
Definition AvatarDocumentEditor.cpp:235
bool isPreviewSelected(int index) const
True when preview selected.
Definition AvatarDocumentEditor.cpp:411
avatar_editing::Result< void > configureWorkspace(editor::EditorWorkspace &workspace) const
Install Layers / Preview / Inspector / Parameters / Expressions panels.
Definition AvatarDocumentEditor.cpp:77
bool isLayerSelected(int index) const
True when layer selected.
Definition AvatarDocumentEditor.cpp:374
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
Composition model shared by project-specific developer and runtime editors.
Definition EditorWorkspace.h:43
bool setPanelContext(const std::string &id, const std::string &context)
Attach a semantic input context such as scene, graph, or timeline.
Definition EditorWorkspace.cpp:137
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
bool setPanelCapability(const std::string &id, const std::string &capability)
Attach a capability requirement used by the host when filtering panels.
Definition EditorWorkspace.cpp:128
Result< TransactionReceipt > commit() override
Preflight and commit all active operations through the authority.
Definition EditorTransactionService.cpp:74
Result< TransactionId > begin(TransactionSpec specification) override
Begin a transaction with a stable id and base revision.
Definition EditorTransactionService.cpp:60
Result< TransactionReceipt > undo() override
Compensate the most recent committed transaction.
Definition EditorTransactionService.cpp:82
Result< void > discard() override
Discard the active, not-yet-committed operation list.
Definition EditorTransactionService.cpp:76
Result< TransactionReceipt > redo() override
Reapply the most recently compensated transaction.
Definition EditorTransactionService.cpp:84
Result< void > append(DomainOperation operation) override
Append an operation to the active transaction without applying it.
Definition EditorTransactionService.cpp:68
Definition avatar_editor.cpp:19
constexpr HexDirection next(HexDirection d) noexcept
The next direction clockwise (NW wraps to NE).
Definition HexMetrics.h:76
Definition Container.h:602
Named expression containing layer/parameter channel targets.
Definition AvatarTarget.h:68
Stable image layer in an Avatar asset.
Definition AvatarTarget.h:53
Reflected Avatar parameter and its initial value.
Definition AvatarTarget.h:62
std::vector< SelectionItem > items
Definition EditingSelection.h:22
std::optional< SelectionItem > primary
Definition EditingSelection.h:23