Configure policies and snapshot resolvers
When to use
Configure shared runtime services when placement rules or persistence resolvers must apply across authored boards or be overridden by one board. Policy profiles make decisions; resolver profiles own snapshot payloads. The generated GridRuntimeConfiguration is the runtime value composed from those authored choices.
Before you start
Before creating profiles:
- decide which services apply to every board and which are board-specific;
- give each policy stable composition keys;
- give each resolver stable extension and payload IDs;
- register an IGridStructureDefinitionResolver when restoration must resolve structures by definition ID.
The structure definition resolver belongs in the same effective runtime configuration as the snapshot resolvers that use it.
Procedure
1. Create project defaults
- Create Assets > Create > Lost Lily > Grid Toolkit > Configuration > Policy Profile and add the placement, coexistence, or admission policies used by the project.
- Create Assets > Create > Lost Lily > Grid Toolkit > Configuration > Resolver Profile and add the snapshot resolvers owned by the project.
- Create Assets > Create > Lost Lily > Grid Toolkit > Configuration > Runtime Profile Defaults. Assign the project policy and resolver profiles.
- Open Edit > Project Settings > Lost Lily > Grid Toolkit, assign that defaults asset, and select Generate/Update Runtime Settings.
2. Override one board when needed
- Leave a board's profile fields empty to inherit project defaults. Assign a board profile only for additional or replacement entries.
- Use profile Autofill only after assigning the destination profile. Autofill adds unambiguous services inferred from authored data; it does not invent project rules.
3. Verify the effective configuration
- Inspect the runtime-configuration trace. Composition order is built-in (
Kernel) → Project → Board. Later entries with the same stable key replace earlier entries; unrelated entries combine. - Build through GridBoardAuthoring and confirm its report has no failures.
GridPolicyProfileAsset and GridResolverProfileAsset hold the authored collections.
GridRuntimeConfigurationTrace shows which layer supplied each effective service. Do not infer precedence from Inspector order.
Result
GridBoardAuthoring reports a ready board, and its runtime-configuration trace identifies the
built-in, project, or board layer that supplied each effective service. Preview and Apply use those
same policies, while snapshot creation and restoration use the effective resolver set.
Troubleshooting
| Symptom | Check |
|---|---|
| A board ignores a project service | Regenerate runtime settings and inspect whether a board entry replaced the same stable key. |
| Autofill adds nothing | Assign the destination profile and confirm one compatible service can be inferred. |
| A resolver appears twice | Keep one effective owner for each stable extension and payload ID. |
| Preview and Apply disagree | Use the same board state and let Apply perform fresh planning. |