Skip to content

Future: Structured Settings Migration (pm.data URL format) #90

@Pluglug

Description

@Pluglug

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 ⚠️ Convention-based
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

No one assigned

    Labels

    coreCore functionality changesenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions