A web-native laboratory for computing, simulating, and visualizing discrete symmetries across Euclidean, spherical, and hyperbolic spaces using WebGL2 GPU shaders.
SymmHub unifies classical group theory with inversive differential geometry and numerical simulation.
Implements exact discrete isometry groups across geometries:
Employs John H. Conway’s orbifold signatures and the Magic Theorem:
Spheres, circles, and planes are represented uniformly in the conformal model:
Standalone permutation engine for color symmetry:
Built strictly with web standards: runs directly in any modern browser without npm installs, bundlers, transpilers, or build steps.
Modular JavaScript libraries exposing clean ES module APIs.
| Module | Key Components | Role & Responsibilities |
|---|---|---|
| symhublib | SymRenderer, VisualizationManager, CrownCalculator, SymDocumentManager |
Central rendering and state coordination. Handles multi-pass WebGL framebuffers, layer composition (textures, colormaps, bumpmaps), and preset JSON serialization. |
| sublib | subgroupsData, sublib_core.js, bin/sublib.mjs |
GAP-independent coset table subgroup enumerator. Computes conjugacy classes of subgroups up to index $N$ and outputs permutation JSON data for color symmetry. |
| invlib | ISplane, Inversive, ComplexArithmetic, DirichletDomainBuilder |
Inversive geometry calculations, Möbius transformations, conformal disk-to-band projections, and uniform data packing for WebGL shaders. |
| grouplib | WallpaperGroups, Group_KLM, Group_Spherical, Group_Frieze |
Generators, matrices, fundamental domains, and subgroup domain constructions across the 17 wallpaper groups, Coxeter triangle groups, and spherical groups. |
| orbilib | OrbifoldGeometrization, Group_Orbifold, OrbifoldUITool |
Implements hyperbolic metric calculations for arbitrary Conway orbifold signatures. Calculates side lengths, cone angles, and polygon vertices for hyperbolic orbifolds. |
| shaders | inversiveSampler, fundDomainShader, projection, bufferVisBumpmap |
Modular GLSL fragment shaders assembled dynamically at runtime for GPU-accelerated domain folding, procedural noise, colormapping, and heightmap rendering. |
| uilib | ParamUI, ImageSelector, BinaryStore, VideoRecorder |
UI widgets, modified dat.gui controls, color palette pickers, file import/export handlers, and canvas WebM video export. |
Specialized applications highlighting different mathematical aspects of symmetry.
Transform photographs, live video camera streams, and procedural patterns into symmetric wallpaper, frieze, spherical, and hyperbolic tessellations with multi-color coset symmetry.
Simulate non-linear partial differential equations on GPU floating-point textures folded into symmetry groups. Includes Gray–Scott reaction-diffusion and Ginzburg–Landau models.
Real-time visualization of symmetric chaotic attractors (Field & Golubitsky polynomial systems) exhibiting discrete rotational, reflectional, and wallpaper symmetries.
Interactive laboratory for general hyperbolic orbifolds. Users can interactively drag edges and cone points of fundamental domains in real-time.
Interactive interface for sublib: input custom generators and relators or choose presets to compute and inspect subgroup conjugacy classes and coset permutations.
A clean, minimal boilerplate demonstrating how to initialize SymRenderer, manage double-buffered FBOs, and load shader programs for custom apps.
Rigorous mathematical expositions integrated with live WebGL widgets.
A comprehensive essay detailing Conway's orbifold notation, the Magic Theorem, Euler characteristic cost budgeting, and the exact geometric meaning of dragging edges in fundamental domains according to Derek Deaton's thesis.
A curated catalog of thirty-plus hyperbolic symmetry groups. Displays each orbifold's signature, Euler characteristic, draggable parameters, and direct one-click visualization links.
Automated regression test suites and interactive diagnostic runners:
Validates coset table calculations and subgroup counts against verified GAP algebra benchmarks across wallpaper and triangle groups.
Ensures numerical precision of 4-vector circle reflections, Möbius transformations, and conformal projections.
Validates WebGL2 floating point texture support, multi-target framebuffers, and pixel read-back routines.
Since SymmHub uses ES modules, start any static web server in the repository root directory: