in packages/sanddance/src/characterSet.ts [35:53]
function needsNewCharacterSet(oldInsight: Insight, newInsight: Insight) {
if (!oldInsight) return true;
if (!newInsight) return true;
if (oldInsight.chart !== newInsight.chart) return true;
if (oldInsight.facetStyle !== newInsight.facetStyle) return true;
if (oldInsight.totalStyle !== newInsight.totalStyle) return true;
if (oldInsight.hideAxes !== newInsight.hideAxes) return true;
if (oldInsight.view !== newInsight.view) return true;
if (differentObjectValues(oldInsight.signalValues, newInsight.signalValues)) return true;
if (differentObjectValues(oldInsight.size, newInsight.size)) return true;
const oldColumns = oldInsight.columns;
const newColumns = newInsight.columns;
if (oldColumns.facet !== newColumns.facet) return true;
if (oldColumns.facetV !== newColumns.facetV) return true;
if (oldColumns.x !== newColumns.x) return true;
if (oldColumns.y !== newColumns.y) return true;
if (oldColumns.z !== newColumns.z) return true;
return false;
}