fix(level-blocks): validate metadata dot-paths at registration
panelBindings.paramPath and projectAnchoredPaths are consumed app-side
(panel generation, template save), so a typo'd dot-path previously
failed silently at first use. register() now resolves every declared
path against the parsed defaultShadow — curated to be complete — and
throws when one doesn't resolve, matching the fail-at-registration
principle already applied to defaultShadow itself.