载入中...
搜索中...
未找到
BiomeRulesEditor.cpp
浏览该文件的文档.
15biome_editing::Result<T> editorError(biome_editing::EditorStatus status, std::string rule, std::string message) {
16 return eve::editing::failed<T>(status, biome_editing::RuleId(std::move(rule)), std::move(message));
21BiomeRulesEditor::SpatialResolver::SpatialResolver(procgen::SpatialData* forest, procgen::SpatialData* clearing)
30 return editorError<procgen::SpatialData*>(biome_editing::EditorStatus::NotFound, "editor.biome.spatial",
69 if (!loaded.ok()) loaded.ignore("biome editor keeps defaults when the preview snapshot is rejected");
72biome_editing::Result<void> BiomeRulesEditor::configureWorkspace(editor::EditorWorkspace& workspace) const {
125 return editorError(begun.code(), "editor.biome.begin", "Could not begin the biome transaction");
191 auto applied = commit(target_.makeSet(selection(), biome_editing::PropertyPath("layer.density"),
236 auto deleted = commit(target_.makeDeleteLayer(biome_editing::ObjectId(selectedId_)), "Delete layer");
329 if (!layer || index < 0 || static_cast<std::size_t>(index) >= layer->assets.size()) return nullptr;
UI-neutral biome editor: workspace, PointSet 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
Result< void > publish(const BiomeDocumentTarget &, const IBiomeSpatialResolver &)
Publish.
Definition BiomeRuntime.cpp:14
Result< std::unique_ptr< procgen::PointSet > > preview(procgen::SpatialData *domain, float spacing, std::uint32_t seed, float jitter, Revision expectedRevision)
Generate a PointSet from a previously published candidate.
Definition BiomeRuntime.cpp:52
Result< DomainOperation > makeCreateLayer(const BiomeLayerValue &) const
Make create layer.
Definition BiomeTarget.cpp:255
Result< DomainOperation > makeSet(const SelectionSnapshot &, const PropertyPath &, const EditorValue &, PropertySetMode) const override
Make set.
Definition BiomeTarget.cpp:209
Result< DomainOperation > makeDeleteLayer(const ObjectId &) const
Make delete layer.
Definition BiomeTarget.cpp:267
Result< DomainOperation > makeDeleteAsset(const ObjectId &) const
Make delete asset.
Definition BiomeTarget.cpp:293
Result< DomainOperation > makeSetExclusions(std::vector< std::string >) const
Make set exclusions.
Definition BiomeTarget.cpp:306
Result< DomainOperation > makeCreateAsset(const ObjectId &layer, const BiomeAssetValue &) const
Make create asset.
Definition BiomeTarget.cpp:275
biome_editing::Result< void > removeExclusion(std::string spatialAsset)
Definition BiomeRulesEditor.cpp:276
biome_editing::Result< void > setSeed(std::uint32_t seed)
Definition BiomeRulesEditor.cpp:282
biome_editing::Result< void > createAsset(std::string id, std::string asset)
Definition BiomeRulesEditor.cpp:243
biome_editing::Result< void > addExclusion(std::string spatialAsset)
Definition BiomeRulesEditor.cpp:263
biome_editing::Result< void > createLayer(std::string id, std::string name)
Definition BiomeRulesEditor.cpp:221
biome_editing::Result< void > configureWorkspace(editor::EditorWorkspace &workspace) const
Install Layers / Preview / Inspector / Assets panels.
Definition BiomeRulesEditor.cpp:72
biome_editing::Result< void > selectLayer(std::string id)
Definition BiomeRulesEditor.cpp:162
biome_editing::Result< editor::TransactionReceipt > undo()
Definition BiomeRulesEditor.cpp:295
biome_editing::Result< void > setAssetWeight(double weight)
Definition BiomeRulesEditor.cpp:212
biome_editing::Result< void > setSpacing(float spacing)
Definition BiomeRulesEditor.cpp:287
biome_editing::Result< void > selectAsset(std::string id)
Definition BiomeRulesEditor.cpp:173
biome_editing::Result< void > deleteSelectedAsset()
Definition BiomeRulesEditor.cpp:256
biome_editing::Result< editor::TransactionReceipt > redo()
Definition BiomeRulesEditor.cpp:304
biome_editing::Result< void > setLayerDensity(double density)
Definition BiomeRulesEditor.cpp:185
biome_editing::Result< void > deleteSelectedLayer()
Definition BiomeRulesEditor.cpp:232
biome_editing::Result< void > setLayerPriority(int priority)
Definition BiomeRulesEditor.cpp:202
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 biome_editor.cpp:17
constexpr HexDirection next(HexDirection d) noexcept
The next direction clockwise (NW wraps to NE).
Definition HexMetrics.h:76
Definition Container.h:602
Stable weighted asset entry in one biome layer.
Definition BiomeTarget.h:45
Stable authored biome layer referencing a spatial asset.
Definition BiomeTarget.h:51
std::vector< SelectionItem > items
Definition EditingSelection.h:22
std::optional< SelectionItem > primary
Definition EditingSelection.h:23