@andespindola/brainlink 0.1.0-beta.98 → 0.1.0-beta.99
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/README.md +1 -1
- package/dist/application/frontend/client-js.js +11 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -602,7 +602,7 @@ The graph UI shows:
|
|
|
602
602
|
- WebGL node and edge acceleration when supported, falling back to Canvas 2D without changing graph behavior
|
|
603
603
|
- compact macro-to-micro density progression so reset keeps the graph mass oriented and zoom-in separates local neighborhoods progressively
|
|
604
604
|
- graph camera treats hub-centered navigation as structural only when the hub is dominant; diffuse stress graphs reset and zoom around the full graph mass
|
|
605
|
-
- graph LOD progression: graphs up to 1000 notes render directly; larger graphs use one recursive model where each visible level targets up to 999 non-hub nodes, starts from a memory-hub-centered mesh, and each supernode can expand into another same-shape subgraph level (again up to 999 children) with latent fade-in, aggregated real links and local sibling mesh links so org-heavy and stress-50k follow the same structure at different depths
|
|
605
|
+
- graph LOD progression: graphs up to 1000 notes render directly; larger graphs use one recursive model where each visible level targets up to 999 non-hub nodes, starts from a memory-hub-centered mesh, and each supernode can expand into another same-shape subgraph level (again up to 999 children) with latent fade-in, aggregated real links and local sibling mesh links so org-heavy and stress-50k follow the same structure at different depths; for massive graphs the first expansion starts much deeper in zoom and low-size child levels use slower easing so the view stays as one compact graph longer
|
|
606
606
|
|
|
607
607
|
The server indexes before starting by default. Use `--no-index` to skip that step:
|
|
608
608
|
|
|
@@ -782,17 +782,20 @@ const buildEcosystemExpansionLevels = (levelSizes, nodeCount) => {
|
|
|
782
782
|
if (levelSizes.length <= 1) {
|
|
783
783
|
return []
|
|
784
784
|
}
|
|
785
|
-
const
|
|
785
|
+
const isMassive = nodeCount > massiveGraphNodeThreshold
|
|
786
|
+
const maxScale = isMassive
|
|
786
787
|
? massiveEcosystemClusterScaleThreshold
|
|
787
788
|
: ecosystemClusterScaleThreshold
|
|
788
|
-
const startScale = 0.
|
|
789
|
+
const startScale = isMassive ? 0.82 : 0.18
|
|
789
790
|
const transitionCount = levelSizes.length - 1
|
|
790
791
|
const usableScale = Math.max(0.08, maxScale - startScale)
|
|
791
792
|
const step = usableScale / transitionCount
|
|
793
|
+
const stride = isMassive ? 0.9 : 0.78
|
|
794
|
+
const overlap = isMassive ? 1.28 : 1.75
|
|
792
795
|
const levels = []
|
|
793
796
|
for (let index = 0; index < transitionCount; index += 1) {
|
|
794
|
-
const start = startScale + step * index *
|
|
795
|
-
const end = Math.min(maxScale, start + step *
|
|
797
|
+
const start = startScale + step * index * stride
|
|
798
|
+
const end = Math.min(maxScale, start + step * overlap)
|
|
796
799
|
levels.push({
|
|
797
800
|
parentSize: levelSizes[index],
|
|
798
801
|
childSize: levelSizes[index + 1],
|
|
@@ -970,7 +973,8 @@ const zoomProgress = (scale, start, end) =>
|
|
|
970
973
|
smoothStep((scale - start) / Math.max(end - start, 0.0001))
|
|
971
974
|
|
|
972
975
|
const semanticZoomSpread = (progress, childSize) => {
|
|
973
|
-
const
|
|
976
|
+
const spreadExponent = childSize <= Math.ceil(ecosystemLevelNodeCap / 12) ? 5.6 : 4.2
|
|
977
|
+
const curve = Math.pow(progress, spreadExponent)
|
|
974
978
|
if (childSize >= Math.ceil(ecosystemLevelNodeCap / 2)) {
|
|
975
979
|
return 0.12 + curve * 0.88
|
|
976
980
|
}
|
|
@@ -978,7 +982,8 @@ const semanticZoomSpread = (progress, childSize) => {
|
|
|
978
982
|
}
|
|
979
983
|
|
|
980
984
|
const opacityForProgress = (progress, childSize) => {
|
|
981
|
-
const
|
|
985
|
+
const opacityExponent = childSize <= Math.ceil(ecosystemLevelNodeCap / 12) ? 2.8 : 2.1
|
|
986
|
+
const eased = Math.pow(progress, opacityExponent)
|
|
982
987
|
if (childSize >= Math.ceil(ecosystemLevelNodeCap / 2)) {
|
|
983
988
|
return 0.22 + eased * 0.78
|
|
984
989
|
}
|
package/package.json
CHANGED