@visualli/core 0.1.7 → 0.2.1

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.
Files changed (127) hide show
  1. package/README.md +37 -105
  2. package/dist/chunk-25AJTPMS.js +68 -0
  3. package/dist/chunk-25AJTPMS.js.map +1 -0
  4. package/dist/chunk-64PUANNH.js +151 -0
  5. package/dist/chunk-64PUANNH.js.map +1 -0
  6. package/dist/chunk-ITDZ72JE.js +96 -0
  7. package/dist/chunk-ITDZ72JE.js.map +1 -0
  8. package/dist/{chunk-PDP5CVUL.js → chunk-LOQLNYB3.js} +2 -2
  9. package/dist/chunk-N7HCYULH.js +12 -0
  10. package/dist/chunk-N7HCYULH.js.map +1 -0
  11. package/dist/{chunk-I75TMOE4.js → chunk-P6PKWVYF.js} +2 -2
  12. package/dist/chunk-RFMUATWB.js +753 -0
  13. package/dist/chunk-RFMUATWB.js.map +1 -0
  14. package/dist/chunk-UAMEJG2C.js +267 -0
  15. package/dist/chunk-UAMEJG2C.js.map +1 -0
  16. package/dist/{chunk-LJYSKSCE.js → chunk-W2CAOOJJ.js} +6 -6
  17. package/dist/chunk-W2CAOOJJ.js.map +1 -0
  18. package/dist/{chunk-6NXADJK2.js → chunk-WO4JAAKP.js} +84 -117
  19. package/dist/chunk-WO4JAAKP.js.map +1 -0
  20. package/dist/config/index.cjs +250 -349
  21. package/dist/config/index.cjs.map +1 -1
  22. package/dist/config/index.d.cts +107 -66
  23. package/dist/config/index.d.ts +107 -66
  24. package/dist/config/index.js +52 -34
  25. package/dist/constants/index.cjs +14 -333
  26. package/dist/constants/index.cjs.map +1 -1
  27. package/dist/constants/index.d.cts +5 -243
  28. package/dist/constants/index.d.ts +5 -243
  29. package/dist/constants/index.js +5 -75
  30. package/dist/designSystem-D49xVfr8.d.cts +150 -0
  31. package/dist/designSystem-D49xVfr8.d.ts +150 -0
  32. package/dist/document-BFBwn93X.d.ts +26 -0
  33. package/dist/document-MEJEfxl3.d.cts +26 -0
  34. package/dist/ideaSize-BTJu6thN.d.cts +11 -0
  35. package/dist/ideaSize-RKbms8K6.d.ts +11 -0
  36. package/dist/index-CcF0Jvmb.d.ts +99 -0
  37. package/dist/index-Dt--T2l8.d.cts +99 -0
  38. package/dist/index.cjs +1636 -961
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.cts +350 -27
  41. package/dist/index.d.ts +350 -27
  42. package/dist/index.js +434 -179
  43. package/dist/index.js.map +1 -1
  44. package/dist/{document-B3hnNr-F.d.cts → layer-B2A3Ki48.d.cts} +2 -16
  45. package/dist/{document-B3hnNr-F.d.ts → layer-B2A3Ki48.d.ts} +2 -16
  46. package/dist/layout/index.d.cts +2 -1
  47. package/dist/layout/index.d.ts +2 -1
  48. package/dist/mindmap-BO3YD5qu.d.cts +182 -0
  49. package/dist/mindmap-D0Of0jaZ.d.ts +182 -0
  50. package/dist/parser/index.cjs +745 -179
  51. package/dist/parser/index.cjs.map +1 -1
  52. package/dist/parser/index.d.cts +23 -8
  53. package/dist/parser/index.d.ts +23 -8
  54. package/dist/parser/index.js +7 -2
  55. package/dist/performance/index.cjs +13 -0
  56. package/dist/performance/index.cjs.map +1 -1
  57. package/dist/performance/index.js +2 -2
  58. package/dist/theme/index.cjs +884 -0
  59. package/dist/theme/index.cjs.map +1 -0
  60. package/dist/theme/index.d.cts +2 -0
  61. package/dist/theme/index.d.ts +2 -0
  62. package/dist/theme/index.js +53 -0
  63. package/dist/types/index.d.cts +4 -2
  64. package/dist/types/index.d.ts +4 -2
  65. package/dist/viewport/index.cjs +17 -6
  66. package/dist/viewport/index.cjs.map +1 -1
  67. package/dist/viewport/index.d.cts +6 -4
  68. package/dist/viewport/index.d.ts +6 -4
  69. package/dist/viewport/index.js +2 -2
  70. package/licenses/visualli-design-system/LICENSE +9 -0
  71. package/licenses/visualli-design-system/NOTICE.md +6 -0
  72. package/package.json +12 -4
  73. package/src/config/README.md +2 -4
  74. package/src/config/USAGE_EXAMPLES.md +0 -4
  75. package/src/config/index.ts +3 -4
  76. package/src/constants/index.ts +1 -1
  77. package/src/constants/layout.ts +11 -0
  78. package/src/constants/performanceConstants.ts +8 -27
  79. package/src/generated/README.md +12 -0
  80. package/src/generated/designSystem.ts +758 -0
  81. package/src/generated/geometry/blob.ts +99 -0
  82. package/src/generated/geometry/blobShapes.ts +4 -0
  83. package/src/generated/geometry/color.ts +37 -0
  84. package/src/generated/geometry/container.ts +84 -0
  85. package/src/generated/geometry/detail.ts +22 -0
  86. package/src/generated/geometry/idea.ts +56 -0
  87. package/src/generated/geometry/interaction.ts +122 -0
  88. package/src/generated/geometry/motion.ts +140 -0
  89. package/src/index.ts +18 -1
  90. package/src/parser/configUtils.ts +12 -19
  91. package/src/parser/visualliConverter.ts +71 -112
  92. package/src/parser/visualliParser.ts +16 -1
  93. package/src/rendering/culling.ts +16 -12
  94. package/src/rendering/ideaSize.ts +21 -0
  95. package/src/rendering/nodeGeometry.ts +97 -0
  96. package/src/theme/index.ts +136 -0
  97. package/src/types/document.ts +9 -0
  98. package/src/types/layer.ts +1 -1
  99. package/src/types/mindmap.ts +13 -0
  100. package/src/utils/navigation.ts +33 -63
  101. package/src/viewport/viewportUtils.ts +6 -4
  102. package/dist/animations/index.cjs +0 -146
  103. package/dist/animations/index.cjs.map +0 -1
  104. package/dist/animations/index.d.cts +0 -81
  105. package/dist/animations/index.d.ts +0 -81
  106. package/dist/animations/index.js +0 -35
  107. package/dist/chunk-6NXADJK2.js.map +0 -1
  108. package/dist/chunk-F36SMC3K.js +0 -106
  109. package/dist/chunk-F36SMC3K.js.map +0 -1
  110. package/dist/chunk-G5H3P4YZ.js +0 -273
  111. package/dist/chunk-G5H3P4YZ.js.map +0 -1
  112. package/dist/chunk-LDJRGT2Q.js +0 -163
  113. package/dist/chunk-LDJRGT2Q.js.map +0 -1
  114. package/dist/chunk-LJYSKSCE.js.map +0 -1
  115. package/dist/chunk-LNTJTDB2.js +0 -349
  116. package/dist/chunk-LNTJTDB2.js.map +0 -1
  117. package/dist/mindmap-DWS0WZT_.d.cts +0 -118
  118. package/dist/mindmap-DWS0WZT_.d.ts +0 -118
  119. package/src/animations/constants.ts +0 -72
  120. package/src/animations/easing.ts +0 -70
  121. package/src/animations/index.ts +0 -2
  122. package/src/config/blobShapes.ts +0 -146
  123. package/src/config/textScaling.ts +0 -54
  124. package/src/constants/design.ts +0 -281
  125. /package/dist/{chunk-PDP5CVUL.js.map → chunk-LOQLNYB3.js.map} +0 -0
  126. /package/dist/{chunk-I75TMOE4.js.map → chunk-P6PKWVYF.js.map} +0 -0
  127. /package/dist/{animations → theme}/index.js.map +0 -0
@@ -1,38 +1,56 @@
1
1
  import {
2
- ACTIVE_BLOB_TYPES,
3
- ALL_BLOB_SHAPES,
4
- BLOB_LAYER_CONFIG,
5
- BLOB_TEXT_OFFSETS,
6
- CONTAINER_LABEL_BASE_FONT_PX,
7
- DESCRIPTION_TEXT_BASE_FONT_PX,
8
- EDGE_LABEL_BASE_FONT_PX,
9
- NODE_LAYER_CONFIG,
10
- NODE_TEXT_BASE_FONT_PX,
11
- OVERLAY_FONT_UPPER_BOOST_PX,
12
- computeEdgeLabelScale,
13
- computeNodeTextScreenScale,
14
- computeNodeTextWorldScale,
15
- computeOverlayScale,
16
- drawBlobPath,
17
- getBlobTypeForLayer
18
- } from "../chunk-LNTJTDB2.js";
19
- import "../chunk-LDJRGT2Q.js";
2
+ BLOB_SHAPES,
3
+ MAX_RINGS,
4
+ RINGS,
5
+ SHAPE,
6
+ arrowPath,
7
+ blobPath,
8
+ blobRadius,
9
+ connectorGeometry,
10
+ drawBlob,
11
+ edgePath,
12
+ nodeBounds,
13
+ nodeRadii,
14
+ outlineRadius,
15
+ ringCount,
16
+ ringsFor,
17
+ shapeForLevel,
18
+ shapeOfLevel
19
+ } from "../chunk-64PUANNH.js";
20
+ import {
21
+ IDEA,
22
+ LABEL_GROWTH,
23
+ approximateMeasure,
24
+ ideaKindOf,
25
+ ideaSize,
26
+ labelGrowth,
27
+ wrapLines
28
+ } from "../chunk-25AJTPMS.js";
29
+ import "../chunk-RFMUATWB.js";
20
30
  export {
21
- ACTIVE_BLOB_TYPES,
22
- ALL_BLOB_SHAPES,
23
- BLOB_LAYER_CONFIG,
24
- BLOB_TEXT_OFFSETS,
25
- CONTAINER_LABEL_BASE_FONT_PX,
26
- DESCRIPTION_TEXT_BASE_FONT_PX,
27
- EDGE_LABEL_BASE_FONT_PX,
28
- NODE_LAYER_CONFIG,
29
- NODE_TEXT_BASE_FONT_PX,
30
- OVERLAY_FONT_UPPER_BOOST_PX,
31
- computeEdgeLabelScale,
32
- computeNodeTextScreenScale,
33
- computeNodeTextWorldScale,
34
- computeOverlayScale,
35
- drawBlobPath,
36
- getBlobTypeForLayer
31
+ BLOB_SHAPES,
32
+ IDEA,
33
+ LABEL_GROWTH,
34
+ MAX_RINGS,
35
+ RINGS,
36
+ SHAPE,
37
+ approximateMeasure,
38
+ arrowPath,
39
+ blobPath,
40
+ blobRadius,
41
+ connectorGeometry,
42
+ drawBlob,
43
+ edgePath,
44
+ ideaKindOf,
45
+ ideaSize,
46
+ labelGrowth,
47
+ nodeBounds,
48
+ nodeRadii,
49
+ outlineRadius,
50
+ ringCount,
51
+ ringsFor,
52
+ shapeForLevel,
53
+ shapeOfLevel,
54
+ wrapLines
37
55
  };
38
56
  //# sourceMappingURL=index.js.map
@@ -20,30 +20,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/constants/index.ts
21
21
  var constants_exports = {};
22
22
  __export(constants_exports, {
23
- BORDER_WIDTH_NORMAL: () => BORDER_WIDTH_NORMAL,
24
- BORDER_WIDTH_SELECTED: () => BORDER_WIDTH_SELECTED,
25
- BRAND_COLORS: () => BRAND_COLORS,
26
- CANVAS_COLORS: () => CANVAS_COLORS,
27
- CHAR_WIDTH: () => CHAR_WIDTH,
28
23
  CIRCULAR_REFERENCE_MAX_DEPTH: () => CIRCULAR_REFERENCE_MAX_DEPTH,
29
24
  CLICK_THRESHOLD: () => CLICK_THRESHOLD,
30
- COLOR_BORDER_DARK: () => COLOR_BORDER_DARK,
31
- COLOR_BORDER_LIGHT: () => COLOR_BORDER_LIGHT,
32
- COLOR_DEFAULT_NODE: () => COLOR_DEFAULT_NODE,
33
- COLOR_SELECTED: () => COLOR_SELECTED,
34
- CORNER_RADIUS: () => CORNER_RADIUS,
35
25
  CULLING_QUERY_TIME_BUDGET: () => CULLING_QUERY_TIME_BUDGET,
36
26
  DEFAULT_CANVAS_HEIGHT: () => DEFAULT_CANVAS_HEIGHT,
37
27
  DEFAULT_CANVAS_WIDTH: () => DEFAULT_CANVAS_WIDTH,
38
28
  DEFAULT_RENDER_CONFIG: () => DEFAULT_RENDER_CONFIG,
39
29
  DOUBLE_CLICK_DELAY: () => DOUBLE_CLICK_DELAY,
40
30
  DRAG_START_DISTANCE: () => DRAG_START_DISTANCE,
41
- DS_COLORS: () => DS_COLORS,
42
- DS_RADII: () => DS_RADII,
43
- DS_TYPOGRAPHY: () => DS_TYPOGRAPHY,
44
31
  FEATURE_FLAGS: () => FEATURE_FLAGS,
45
- FONTS: () => FONTS,
46
- FONT_SIZES: () => FONT_SIZES,
47
32
  FPS_CRITICAL_THRESHOLD: () => FPS_CRITICAL_THRESHOLD,
48
33
  FPS_DOWNGRADE_THRESHOLD: () => FPS_DOWNGRADE_THRESHOLD,
49
34
  FPS_SAMPLE_WINDOW: () => FPS_SAMPLE_WINDOW,
@@ -54,8 +39,6 @@ __export(constants_exports, {
54
39
  FPS_UPGRADE_THRESHOLD: () => FPS_UPGRADE_THRESHOLD,
55
40
  FPS_WARNING_THRESHOLD: () => FPS_WARNING_THRESHOLD,
56
41
  LAYOUT_SPACING: () => LAYOUT_SPACING,
57
- LEVEL_COLORS: () => LEVEL_COLORS,
58
- LEVEL_COLOR_ARRAY: () => LEVEL_COLOR_ARRAY,
59
42
  MAX_FRAME_TIME: () => MAX_FRAME_TIME,
60
43
  MAX_NODES: () => MAX_NODES,
61
44
  MAX_VISIBLE_NODES: () => MAX_VISIBLE_NODES,
@@ -65,10 +48,6 @@ __export(constants_exports, {
65
48
  MEMORY_TARGET_MB: () => MEMORY_TARGET_MB,
66
49
  MEMORY_WARNING_MB: () => MEMORY_WARNING_MB,
67
50
  NODE_COUNT_THRESHOLDS: () => NODE_COUNT_THRESHOLDS,
68
- NODE_HEIGHT: () => NODE_HEIGHT,
69
- NODE_MIN_WIDTH: () => NODE_MIN_WIDTH,
70
- NODE_PADDING: () => NODE_PADDING,
71
- PARENT_FALLBACK_COLORS: () => PARENT_FALLBACK_COLORS,
72
51
  PERFORMANCE_TOAST_COOLDOWN: () => PERFORMANCE_TOAST_COOLDOWN,
73
52
  QUALITY_HIGH: () => QUALITY_HIGH,
74
53
  QUALITY_LEVELS: () => QUALITY_LEVELS,
@@ -80,36 +59,33 @@ __export(constants_exports, {
80
59
  RESIZE_DEBOUNCE: () => RESIZE_DEBOUNCE,
81
60
  SCROLL_THROTTLE: () => SCROLL_THROTTLE,
82
61
  SEARCH_DEBOUNCE: () => SEARCH_DEBOUNCE,
83
- SEMANTIC_COLORS: () => SEMANTIC_COLORS,
84
62
  SIMPLIFIED_RENDER_CONFIG: () => SIMPLIFIED_RENDER_CONFIG,
85
- SPACING: () => SPACING,
86
63
  SPATIAL_INDEX_BUILD_BUDGET: () => SPATIAL_INDEX_BUILD_BUDGET,
87
64
  TARGET_FRAME_TIME: () => TARGET_FRAME_TIME,
88
- TEXT_LABEL_HIDE_BELOW_ZOOM: () => TEXT_LABEL_HIDE_BELOW_ZOOM,
89
- THEME_COLORS: () => THEME_COLORS,
90
65
  TIMING_THRESHOLDS: () => TIMING_THRESHOLDS,
91
- TITLE_MAX_LENGTH: () => TITLE_MAX_LENGTH,
92
66
  VIEWPORT_CONFIG: () => VIEWPORT_CONFIG,
93
67
  VIEWPORT_MARGIN: () => VIEWPORT_MARGIN,
94
68
  ZOOM_DEFAULT: () => ZOOM_DEFAULT,
95
69
  ZOOM_MAX: () => ZOOM_MAX,
96
70
  ZOOM_MIN: () => ZOOM_MIN,
97
- ZOOM_NAV_IN_THRESHOLD: () => ZOOM_NAV_IN_THRESHOLD,
98
- ZOOM_NAV_OUT_THRESHOLD: () => ZOOM_NAV_OUT_THRESHOLD,
99
- ZOOM_STEP: () => ZOOM_STEP,
100
- ZOOM_WHEEL_SENSITIVITY: () => ZOOM_WHEEL_SENSITIVITY,
101
- darkenHexColor: () => darkenHexColor,
102
- getColorForLevel: () => getColorForLevel,
103
71
  getOptimalQualityLevel: () => getOptimalQualityLevel,
104
72
  getRecommendedRenderConfig: () => getRecommendedRenderConfig,
105
73
  getRenderConfigForQuality: () => getRenderConfigForQuality,
106
- getThemeBackground: () => getThemeBackground,
107
- getThemeBorder: () => getThemeBorder,
108
- getThemeText: () => getThemeText,
109
74
  isFeatureEnabled: () => isFeatureEnabled
110
75
  });
111
76
  module.exports = __toCommonJS(constants_exports);
112
77
 
78
+ // src/generated/geometry/interaction.ts
79
+ var VIEW = {
80
+ /** Each zoom step multiplies or divides the zoom by this. */
81
+ zoomStep: 1.2,
82
+ /** Zoom limits (the zoom-min / zoom-max tokens; the build checks they agree). */
83
+ zoomMin: 0.3,
84
+ zoomMax: 5,
85
+ /** Fit to view never enlarges a layer beyond this. */
86
+ fitMax: 1.1
87
+ };
88
+
113
89
  // src/constants/performanceConstants.ts
114
90
  var FPS_TARGET = 60;
115
91
  var FPS_WARNING_THRESHOLD = 45;
@@ -143,26 +119,9 @@ var MAX_VISIBLE_NODES = 800;
143
119
  var CULLING_QUERY_TIME_BUDGET = 5;
144
120
  var RBUSH_MAX_ENTRIES = 16;
145
121
  var SPATIAL_INDEX_BUILD_BUDGET = 50;
146
- var NODE_MIN_WIDTH = 200;
147
- var NODE_HEIGHT = 80;
148
- var NODE_PADDING = 40;
149
- var CHAR_WIDTH = 8;
150
- var TITLE_MAX_LENGTH = 150;
151
- var CORNER_RADIUS = 8;
152
- var BORDER_WIDTH_NORMAL = 2;
153
- var BORDER_WIDTH_SELECTED = 3;
154
- var COLOR_SELECTED = "#1B2D4F";
155
- var COLOR_BORDER_LIGHT = "#4A3728";
156
- var COLOR_BORDER_DARK = "#FAF6F1";
157
- var COLOR_DEFAULT_NODE = "#FAF6F1";
158
- var ZOOM_MIN = 0.05;
159
- var ZOOM_MAX = 5;
122
+ var ZOOM_MIN = VIEW.zoomMin;
123
+ var ZOOM_MAX = VIEW.zoomMax;
160
124
  var ZOOM_DEFAULT = 1;
161
- var ZOOM_STEP = 0.1;
162
- var ZOOM_WHEEL_SENSITIVITY = 1e-3;
163
- var ZOOM_NAV_IN_THRESHOLD = 2.7;
164
- var ZOOM_NAV_OUT_THRESHOLD = 0.4;
165
- var TEXT_LABEL_HIDE_BELOW_ZOOM = 0.3;
166
125
  var QUALITY_HIGH = {
167
126
  shadows: true,
168
127
  bezierCurves: true,
@@ -212,256 +171,13 @@ var VIEWPORT_CONFIG = {
212
171
  MIN_VISIBLE_NODES: 10
213
172
  };
214
173
 
215
- // src/constants/design.ts
216
- var DS_COLORS = {
217
- light: {
218
- bgApp: "#F0EDE6",
219
- bgSurface: "#FAF8F4",
220
- bgInput: "#FFFFFF",
221
- border: "#DDD9D0",
222
- borderDivider: "#E8E4DC",
223
- primary: "#1B2D4F",
224
- primaryHover: "#243B68",
225
- textPrimary: "#1A1A18",
226
- textSecondary: "#6B6860",
227
- textMuted: "#747270",
228
- textOnPrimary: "#FAF8F4",
229
- hoverItem: "rgba(27,45,79,0.07)",
230
- focusRing: "rgba(27,45,79,0.40)",
231
- btnMuted: "#8E8C88"
232
- },
233
- dark: {
234
- bgApp: "#141412",
235
- bgSurface: "#1C1C1A",
236
- bgInput: "#262622",
237
- border: "#333330",
238
- borderDivider: "#2A2A28",
239
- primary: "#BB532D",
240
- primaryHover: "#CC6440",
241
- textPrimary: "#F0EDE6",
242
- textSecondary: "#B0ABA3",
243
- textMuted: "#8E8C88",
244
- textOnPrimary: "#FAF8F4",
245
- hoverItem: "rgba(198,94,56,0.12)",
246
- focusRing: "rgba(198,94,56,0.50)",
247
- btnMuted: "#4A4845"
248
- }
249
- };
250
- var DS_TYPOGRAPHY = {
251
- fontDisplay: "'Nunito', sans-serif",
252
- fontBody: "'Nunito Sans', sans-serif",
253
- logo: { size: "20px", weight: 800, letterSpacing: "0.04em" },
254
- heading: { size: "16px", weight: 700, letterSpacing: "-0.2px" },
255
- cta: { size: "11px", weight: 800, letterSpacing: "0.12em", transform: "uppercase" },
256
- body: { size: "13px", weight: 400 },
257
- input: { size: "13px", weight: 300, style: "italic" },
258
- search: { size: "12px", weight: 400 },
259
- username: { size: "13px", weight: 600 },
260
- avatar: { size: "11px", weight: 700 },
261
- footer: { size: "12px", weight: 400 },
262
- empty: { size: "11px", weight: 300, style: "italic" }
263
- };
264
- var DS_RADII = {
265
- sidebar: 16,
266
- input: 8,
267
- cta: 7,
268
- item: 6,
269
- swatch: 10
270
- };
271
- var BRAND_COLORS = {
272
- primary: {
273
- 50: "#EFF6FF",
274
- 100: "#DBEAFE",
275
- 200: "#BFDBFE",
276
- 300: "#93C5FD",
277
- 400: "#60A5FA",
278
- 500: "#3B82F6",
279
- 600: "#2563EB",
280
- 700: "#1D4ED8",
281
- 800: "#1E40AF",
282
- 900: "#1E3A8A"
283
- },
284
- secondary: {
285
- 50: "#F0FDF4",
286
- 100: "#DCFCE7",
287
- 200: "#BBF7D0",
288
- 300: "#86EFAC",
289
- 400: "#4ADE80",
290
- 500: "#10B981",
291
- 600: "#059669",
292
- 700: "#047857",
293
- 800: "#065F46",
294
- 900: "#064E3B"
295
- },
296
- accent: {
297
- purple: "#8B5CF6",
298
- cyan: "#06B6D4",
299
- sky: "#0EA5E9",
300
- lime: "#84CC16",
301
- amber: "#F59E0B",
302
- red: "#EF4444"
303
- }
304
- };
305
- var LEVEL_COLORS = {
306
- level0: BRAND_COLORS.primary[500],
307
- level1: BRAND_COLORS.primary[400],
308
- level2: BRAND_COLORS.primary[300],
309
- level3: BRAND_COLORS.primary[200],
310
- level4: BRAND_COLORS.primary[300],
311
- level5: BRAND_COLORS.primary[400],
312
- level6: BRAND_COLORS.primary[500],
313
- level7: BRAND_COLORS.primary[600],
314
- level8: BRAND_COLORS.primary[700]
315
- };
316
- var LEVEL_COLOR_ARRAY = [
317
- LEVEL_COLORS.level0,
318
- LEVEL_COLORS.level1,
319
- LEVEL_COLORS.level2,
320
- LEVEL_COLORS.level3,
321
- LEVEL_COLORS.level4,
322
- LEVEL_COLORS.level5,
323
- LEVEL_COLORS.level6,
324
- LEVEL_COLORS.level7,
325
- LEVEL_COLORS.level8
326
- ];
327
- var PARENT_FALLBACK_COLORS = [
328
- "#12C7D3",
329
- "#325E8C",
330
- "#8A70A6",
331
- "#F54A57",
332
- "#FF6C4D",
333
- "#F28C16",
334
- "#FFD347",
335
- "#7F7F7F",
336
- "#8D8D8D"
337
- ];
338
- var SEMANTIC_COLORS = {
339
- success: BRAND_COLORS.secondary[500],
340
- error: BRAND_COLORS.accent.red,
341
- warning: BRAND_COLORS.accent.amber,
342
- info: BRAND_COLORS.primary[500]
343
- };
344
- var THEME_COLORS = {
345
- light: {
346
- background: { primary: "#FAF8F4", secondary: "#F0EDE6", tertiary: "#FFFFFF" },
347
- text: { primary: "#1A1A18", secondary: "#6B6860", tertiary: "#747270" },
348
- border: { primary: "#DDD9D0", secondary: "#E8E4DC" }
349
- },
350
- dark: {
351
- background: { primary: "#1C1C1A", secondary: "#141412", tertiary: "#262622" },
352
- text: { primary: "#F0EDE6", secondary: "#B0ABA3", tertiary: "#8E8C88" },
353
- border: { primary: "#333330", secondary: "#2A2A28" }
354
- }
355
- };
356
- var CANVAS_COLORS = {
357
- node: {
358
- border: "#FFFFFF",
359
- titleColor: "#1e1b4b",
360
- badgeBackground: "#FFC107",
361
- badgeStroke: "#fcd34d"
362
- }
363
- };
364
- var SPACING = {
365
- xs: 4,
366
- sm: 8,
367
- md: 16,
368
- lg: 24,
369
- xl: 32,
370
- "2xl": 48,
371
- "3xl": 64,
372
- "4xl": 96
373
- };
174
+ // src/constants/layout.ts
374
175
  var LAYOUT_SPACING = {
375
176
  nodeSpacing: 200,
376
177
  levelSpacing: 150,
377
178
  containerPadding: 20,
378
179
  gridSize: 50
379
180
  };
380
- var FONTS = {
381
- primary: "'Inter', sans-serif",
382
- secondary: "'Poppins', sans-serif",
383
- mono: "'Roboto Mono', monospace"
384
- };
385
- var FONT_SIZES = {
386
- xs: "0.75rem",
387
- sm: "0.875rem",
388
- base: "1rem",
389
- lg: "1.125rem",
390
- xl: "1.25rem",
391
- "2xl": "1.5rem",
392
- "3xl": "1.875rem",
393
- "4xl": "2.25rem"
394
- };
395
- function getColorForLevel(level) {
396
- return LEVEL_COLOR_ARRAY[level % LEVEL_COLOR_ARRAY.length];
397
- }
398
- function darkenHexColor(hex, amount = 0.22) {
399
- if (!hex || !hex.startsWith("#")) return hex;
400
- let r, g, b;
401
- if (hex.length === 4) {
402
- r = parseInt(hex[1] + hex[1], 16);
403
- g = parseInt(hex[2] + hex[2], 16);
404
- b = parseInt(hex[3] + hex[3], 16);
405
- } else if (hex.length === 7) {
406
- r = parseInt(hex.slice(1, 3), 16);
407
- g = parseInt(hex.slice(3, 5), 16);
408
- b = parseInt(hex.slice(5, 7), 16);
409
- } else {
410
- return hex;
411
- }
412
- if (isNaN(r) || isNaN(g) || isNaN(b)) return hex;
413
- const rn = r / 255, gn = g / 255, bn = b / 255;
414
- const cmax = Math.max(rn, gn, bn), cmin = Math.min(rn, gn, bn);
415
- const d = cmax - cmin;
416
- const l = (cmax + cmin) / 2;
417
- const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));
418
- let h = 0;
419
- if (d !== 0) {
420
- const seg = cmax === rn ? (gn - bn) / d : cmax === gn ? (bn - rn) / d + 2 : (rn - gn) / d + 4;
421
- h = (seg * 60 + 360) % 360;
422
- }
423
- const newL = Math.max(0, l - amount);
424
- const c2 = (1 - Math.abs(2 * newL - 1)) * s;
425
- const x2 = c2 * (1 - Math.abs(h / 60 % 2 - 1));
426
- const m2 = newL - c2 / 2;
427
- let r1 = 0, g1 = 0, b1 = 0;
428
- if (h < 60) {
429
- r1 = c2;
430
- g1 = x2;
431
- b1 = 0;
432
- } else if (h < 120) {
433
- r1 = x2;
434
- g1 = c2;
435
- b1 = 0;
436
- } else if (h < 180) {
437
- r1 = 0;
438
- g1 = c2;
439
- b1 = x2;
440
- } else if (h < 240) {
441
- r1 = 0;
442
- g1 = x2;
443
- b1 = c2;
444
- } else if (h < 300) {
445
- r1 = x2;
446
- g1 = 0;
447
- b1 = c2;
448
- } else {
449
- r1 = c2;
450
- g1 = 0;
451
- b1 = x2;
452
- }
453
- const toHex = (v) => Math.round((v + m2) * 255).toString(16).padStart(2, "0");
454
- return `#${toHex(r1)}${toHex(g1)}${toHex(b1)}`;
455
- }
456
- function getThemeBackground(isDark, variant = "primary") {
457
- return isDark ? THEME_COLORS.dark.background[variant] : THEME_COLORS.light.background[variant];
458
- }
459
- function getThemeText(isDark, variant = "primary") {
460
- return isDark ? THEME_COLORS.dark.text[variant] : THEME_COLORS.light.text[variant];
461
- }
462
- function getThemeBorder(isDark, variant = "primary") {
463
- return isDark ? THEME_COLORS.dark.border[variant] : THEME_COLORS.light.border[variant];
464
- }
465
181
 
466
182
  // src/constants/renderConfig.ts
467
183
  var DEFAULT_RENDER_CONFIG = {
@@ -551,30 +267,15 @@ function getRecommendedRenderConfig() {
551
267
  }
552
268
  // Annotate the CommonJS export names for ESM import in node:
553
269
  0 && (module.exports = {
554
- BORDER_WIDTH_NORMAL,
555
- BORDER_WIDTH_SELECTED,
556
- BRAND_COLORS,
557
- CANVAS_COLORS,
558
- CHAR_WIDTH,
559
270
  CIRCULAR_REFERENCE_MAX_DEPTH,
560
271
  CLICK_THRESHOLD,
561
- COLOR_BORDER_DARK,
562
- COLOR_BORDER_LIGHT,
563
- COLOR_DEFAULT_NODE,
564
- COLOR_SELECTED,
565
- CORNER_RADIUS,
566
272
  CULLING_QUERY_TIME_BUDGET,
567
273
  DEFAULT_CANVAS_HEIGHT,
568
274
  DEFAULT_CANVAS_WIDTH,
569
275
  DEFAULT_RENDER_CONFIG,
570
276
  DOUBLE_CLICK_DELAY,
571
277
  DRAG_START_DISTANCE,
572
- DS_COLORS,
573
- DS_RADII,
574
- DS_TYPOGRAPHY,
575
278
  FEATURE_FLAGS,
576
- FONTS,
577
- FONT_SIZES,
578
279
  FPS_CRITICAL_THRESHOLD,
579
280
  FPS_DOWNGRADE_THRESHOLD,
580
281
  FPS_SAMPLE_WINDOW,
@@ -585,8 +286,6 @@ function getRecommendedRenderConfig() {
585
286
  FPS_UPGRADE_THRESHOLD,
586
287
  FPS_WARNING_THRESHOLD,
587
288
  LAYOUT_SPACING,
588
- LEVEL_COLORS,
589
- LEVEL_COLOR_ARRAY,
590
289
  MAX_FRAME_TIME,
591
290
  MAX_NODES,
592
291
  MAX_VISIBLE_NODES,
@@ -596,10 +295,6 @@ function getRecommendedRenderConfig() {
596
295
  MEMORY_TARGET_MB,
597
296
  MEMORY_WARNING_MB,
598
297
  NODE_COUNT_THRESHOLDS,
599
- NODE_HEIGHT,
600
- NODE_MIN_WIDTH,
601
- NODE_PADDING,
602
- PARENT_FALLBACK_COLORS,
603
298
  PERFORMANCE_TOAST_COOLDOWN,
604
299
  QUALITY_HIGH,
605
300
  QUALITY_LEVELS,
@@ -611,32 +306,18 @@ function getRecommendedRenderConfig() {
611
306
  RESIZE_DEBOUNCE,
612
307
  SCROLL_THROTTLE,
613
308
  SEARCH_DEBOUNCE,
614
- SEMANTIC_COLORS,
615
309
  SIMPLIFIED_RENDER_CONFIG,
616
- SPACING,
617
310
  SPATIAL_INDEX_BUILD_BUDGET,
618
311
  TARGET_FRAME_TIME,
619
- TEXT_LABEL_HIDE_BELOW_ZOOM,
620
- THEME_COLORS,
621
312
  TIMING_THRESHOLDS,
622
- TITLE_MAX_LENGTH,
623
313
  VIEWPORT_CONFIG,
624
314
  VIEWPORT_MARGIN,
625
315
  ZOOM_DEFAULT,
626
316
  ZOOM_MAX,
627
317
  ZOOM_MIN,
628
- ZOOM_NAV_IN_THRESHOLD,
629
- ZOOM_NAV_OUT_THRESHOLD,
630
- ZOOM_STEP,
631
- ZOOM_WHEEL_SENSITIVITY,
632
- darkenHexColor,
633
- getColorForLevel,
634
318
  getOptimalQualityLevel,
635
319
  getRecommendedRenderConfig,
636
320
  getRenderConfigForQuality,
637
- getThemeBackground,
638
- getThemeBorder,
639
- getThemeText,
640
321
  isFeatureEnabled
641
322
  });
642
323
  //# sourceMappingURL=index.cjs.map