mirror of
https://github.com/semantica-agi/semantica.git
synced 2026-08-29 04:26:20 +00:00
Merge conflict resolution: - Kept fix/graph-motion's conditional layout-stop (only in focused mode) to preserve live layout motion for derived graphs — the core intent of this PR. Must-fix items resolved: 1. plugin.json — removed "hooks": "./hooks/hooks.json" (re-added by this branch, already removed in PR #489 on main as it is auto-loaded). Kept "agents": "./agents". 2. Double Louvain per render — added groupedViewAvailable useMemo in GraphWorkspace (deps: [graphVersion]) that runs community detection once. Passed result into resolveDisplayGraph and resolveDisplayStateSnapshot via new groupedViewAvailable option; both functions skip their internal computeGraphAnalyticsBase call when the value is pre-supplied. 3. graphVersion in displayState deps — removed graphVersion from the displayState memo dep array. displayState now depends on the stable boolean groupedViewAvailable, not on every ADD_NODE/ADD_EDGE tick, so Louvain no longer re-fires on every WebSocket update. 4. hideLabelsOnMove / hideEdgesOnMove flipped to true — intentional: suppressing labels and edges during pan reduces visual noise and is part of the flicker-reduction fix described in the PR. Co-authored-by: ZohaibHassan16 <zohaibhassan1696@gmail.com> Co-authored-by: KaifAhmad1 <kaifahmad087@gmail.com>