Profile per-column cardinality and extent; add data-aware chart warnings (M4, A3/A4)

This commit is contained in:
2026-06-07 23:03:17 +03:00
parent dcb7037a71
commit 39555322e4
13 changed files with 552 additions and 90 deletions
+7 -1
View File
@@ -358,8 +358,14 @@ export function ChartBuilderModal() {
// fresh array each render (which loops useSyncExternalStore — see SnippetStore note).
const config = useChartBuilderStore((s) => s.config);
const rowCount = useChartBuilderStore((s) => s.rowCount);
// `columns` is a stable reference set once at init (not rebuilt per render), so
// subscribing to it won't loop useSyncExternalStore.
const columns = useChartBuilderStore((s) => s.columns);
const valid = useMemo(() => isBuilderConfigValid(config), [config]);
const warnings = useMemo(() => builderWarnings(config, rowCount), [config, rowCount]);
const warnings = useMemo(
() => builderWarnings(config, rowCount, columns),
[config, rowCount, columns],
);
const canSort = useMemo(() => supportsSort(config), [config]);
const canStack = useMemo(() => supportsStack(config), [config]);