ProjectsKnot3d
09 / Systems / mathematics

Knot3d

A native Python desktop workbench and CLI for topology-first knot analysis from 1-indexed planar diagram codes.

Category
Systems / mathematics
Stack
Python · PySide6 · PyVista · Matplotlib
Year
2026

Overview

Knot3d turns a planar diagram code into a structured knot-analysis session. The same shared engine powers a command-line workflow and a PySide6 workbench, covering parsing, normalization, invariants, unknot recognition, visualization, persistence, and export.

The application is designed as an inspection tool rather than a single black-box number. A user can validate input, inspect recognition evidence, compare views, save a session, and export machine-readable and visual artifacts for later work.

Methodology

The engine parses 1-indexed PD codes, normalizes blueprint conventions into buildable inputs, constructs the topology, and computes invariant and identification results through explicit service boundaries. Fast invariant obstructions can short-circuit unknot checks before direct recognition work runs.

Long-running analysis, recognition, and mesh-export jobs execute through QThread workers so the desktop shell remains responsive. Headless tests run with Qt and PyVista offscreen settings, while the CLI provides a stable path for reproducible JSON and mesh generation.

What it does

  • PD-code input from JSON, Python literals, or files
  • Classical invariants, HFK-derived values, and knot IDs
  • Unknot recognition with inspectable recognition records
  • PySide6 docked workbench with 2D and 3D views
  • Session save/reload and raw JSON inspection
  • Analysis, recognition, diagram, viewport, centerline, and mesh exports