Auditable discovery/conversion report for the migration entry. Every finding carries enough context for a human to act on it; the converter fails closed — ambiguous or unsupported shapes are findings, never silent drops.
Source: addons/grid_placement/migration/project_migration_report.gd
Syntax
class ProjectMigrationReport extends RefCountedMembers
| Name | Kind | Summary |
|---|---|---|
KIND_LABELS | Field | Finding kinds: - SCRIPT_REWRITE: ext_resource/path referencing a mapped legacy script. - CLASS_RENAME: script_class= header naming a renamed class. - STALE_UID: uid= / metadata/_custom_type_script with a 5.x UID. - FIELD_RENAME: property line needing a rename on a converted resource. - STRUCTURAL: SpendMaterialsRuleGeneric → costs dictionary transform. - NODE_DELETION: scene node absorbed by the 6.0 host (deleted at apply). - UNSUPPORTED: no 6.0 equivalent (fail-closed guidance attached). - UNMAPPED: legacy shape without a deterministic mapping (fail-closed). - EXCLUSION: reported-but-permitted reference to a separate plugin (user disposition 2026-07-27) — never blocks, always reported. |
BLOCKING_KINDS | Field | Kinds that block apply until resolved (fail-closed contract). |
kind | Property | |
file | Property | |
line | Property | |
legacy_ref | Property | |
canonical_ref | Property | |
detail | Property | |
is_blocking | Method | |
to_dict | Method | |
render | Method | |
findings | Property | |
files_scanned | Property | |
scan_errors | Property | |
add | Method | |
has_blocking | Method | |
blocking_count | Method | |
counts_by_kind | Method | |
to_dict | Method | |
render | Method |