@kortexya/nodus 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kortexya/nodus",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Nodus — a high-performance graph visualization engine (WebGL/WebGPU/Canvas/SVG).",
5
5
  "homepage": "https://kortexya.com",
6
6
  "author": "Kortexya <david.loiret@kortexya.com>",
@@ -34,6 +34,12 @@ export interface BubbleSetOptions {
34
34
  nonMemberInfluence?: number;
35
35
  smooth?: number;
36
36
  maxGrid?: number;
37
+ /** Post-processing: 'smooth' (Chaikin curves, the default) or 'sharp'
38
+ * (straight segments via Douglas-Peucker) — same member-tight contour,
39
+ * angular edges instead of organic curves. */
40
+ style?: 'smooth' | 'sharp';
41
+ /** Douglas-Peucker tolerance as a fraction of L for the 'sharp' style. Default 0.1. */
42
+ simplifyFactor?: number;
37
43
  }
38
44
  /**
39
45
  * Compute the boundary of a set as one or more closed world-space loops.
@@ -145,11 +145,15 @@ export interface HypergraphRenderOptions {
145
145
  * draws a small label badge at the vertex position. Used for
146
146
  * Aït-Kaci coreference X-tags. */
147
147
  vertexTag?: (v: HypergraphVertex) => string | null | undefined;
148
- /** Hyperedge boundary style for the flat primal view. `'bubble'` (default)
149
- * draws member-tight Bubble Sets that exclude non-member vertices; `'hull'`
150
- * draws the legacy convex hull (faster, but encloses non-members). 2.5D and
151
- * dual views always use the convex hull. */
152
- boundary?: 'bubble' | 'hull';
148
+ /** Hyperedge boundary style for the flat primal view:
149
+ * - `'bubble'` (default) — member-tight Bubble Sets with smooth, organic edges;
150
+ * excludes non-member vertices.
151
+ * - `'concave'` the same member-tight contour, but simplified to straight
152
+ * segments (angular edges) instead of smooth curves; still excludes non-members.
153
+ * - `'hull'` — the legacy convex hull: clean straight lines, fastest, but
154
+ * encloses any non-member that falls between its corners.
155
+ * 2.5D and dual views always use the convex hull. */
156
+ boundary?: 'bubble' | 'concave' | 'hull';
153
157
  }
154
158
  export interface InteractionEvent {
155
159
  /** Hyperedge id under cursor, if any. */