-
-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
coreCore functionality changesCore functionality changesenhancementNew feature or requestNew feature or request
Description
Context
Issue #89 established pm.data (URL-encoded string) as the canonical carrier for mode-specific settings in 2.0.0:
pm.data = "pg?pg_space=VIEW_3D&pg_region=UI"This is the correct architecture for 2.0.0, respecting PME1's existing design and leveraging the proven core.schema system.
Problem Statement
The URL-encoded format has structural limitations:
| Capability | URL format | Structured data |
|---|---|---|
| Nested objects | ❌ | ✅ |
| Type safety | ❌ | ✅ |
| Arrays/lists | ✅ | |
| IDE support | ❌ | ✅ |
| Validation | Manual | Native |
Future features (Style objects, Conditions, Extensions) may require nested structures that are awkward to represent in URL format.
Considerations
- Blender's PropertyGroup system has its own limitations (no dynamic schemas)
- Migration path must preserve backward compatibility
- Significant engineering effort required
- "If it ain't broke, don't fix it" - pm.data works well for current scope
Scope
Not for 2.0.0 - This is a future consideration (2.1.0+).
This issue is a placeholder for future discussion, not a commitment to implement.
Related: #89 (pm.data as settings carrier)
Metadata
Metadata
Assignees
Labels
coreCore functionality changesCore functionality changesenhancementNew feature or requestNew feature or request