Skip to content

fix(graph): suspend idle rendering while preserving graph behavior - #220

Open
shine391 wants to merge 1 commit into
samugit83:masterfrom
shine391-org:fix/graph-render-performance-pr
Open

shine391 wants to merge 1 commit into
samugit83:masterfrom
shine391-org:fix/graph-render-performance-pr

Conversation

@shine391

@shine391 shine391 commented Oct 28, 2026 •

Copy link
Copy Markdown

Summary

  • Stop unnecessary rendering of settled 3D graphs and pause animations in hidden tabs.
  • Resume rendering on interaction or updates while preserving existing 2D redraw, force-layout and repeated-Fit behavior.
  • Add regression coverage for rendering lifecycle and cleanup.

Type of Change

  • Bug fix
  • New feature
  • Refactor (no behavior change)
  • Documentation
  • Test

Component(s)

  • webapp (Next.js)
  • recon-orchestrator (Python)
  • agent (Python)
  • kali-sandbox / MCP servers
  • docs / wiki
  • other: ___

How to Test

  1. Run npm run test, npm run type-check and npm run build in webapp/.
  2. Verify pan/zoom, selection, tooltips, labels, particles, live updates and repeated Fit clicks.
  3. Verify static 3D rendering stops when idle and resumes after interaction or returning from a hidden tab.

Results: 14,143 tests passed, 251 skipped and 2 expected failures. TypeScript and production build passed.

Software-rendered benchmark: 119 → 0 frames/2 seconds for a settled 20-node 3D graph. Physical GPU impact remains unmeasured.

Known lint limitations: upstream still uses unsupported next lint; direct ESLint retains 10 pre-existing errors.

Checklist

  • I have tested this change locally with docker compose
  • I have not included real-world target data
  • My commits follow Conventional Commits
  • I have read and agree to the DISCLAIMER.md

Related Issues

None.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant