An API record with rop1:null passed 'typeof x === object' (null is 'object' in JS) and read null.label — killing the component on the first semantic tab and leaving every later tab dead. Null-guarded all three extractors in the affinity tree builder; SemanticTreeLegend additionally prunes null nodes at its prop boundary (defense in depth, warns on data holes). Headless verification: Prayer/Engagement/People Groups/Regions/Languages/Religions all render with live canvases. |
||
|---|---|---|
| .. | ||
| assets | ||
| doxa-maps | ||
| external | ||
| pane-wrapper | ||
| .gitignore | ||
| _headers | ||
| icons.js | ||
| index.html | ||
| languages.js | ||
| nav.js | ||