Rend les liens entre notes visibles et persistants (sync NoteLink au save, auto-save, graphe réseau rafraîchi), ajoute living blocks, Memory Echo, recherche globale, consentement IA explicite et consolide les prototypes design en architectural-grid. Co-authored-by: Cursor <cursoragent@cursor.com>
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
/** Seuil Memory Echo (prod) — connexions sous ce score ne sont pas proposées. */
|
||
export const SEMANTIC_SIMILARITY_FLOOR = 0.75
|
||
export const SEMANTIC_SIMILARITY_FLOOR_DEMO = 0.5
|
||
|
||
/** Ratio 0 (seuil) → 1 (identique), pour étaler l’affichage au-dessus du seuil. */
|
||
export function semanticProximityRatio(
|
||
similarity: number,
|
||
floor = SEMANTIC_SIMILARITY_FLOOR,
|
||
): number {
|
||
const clamped = Math.max(floor, Math.min(1, similarity))
|
||
if (floor >= 1) return 1
|
||
return (clamped - floor) / (1 - floor)
|
||
}
|
||
|
||
/** Pourcentage « proximité » affiché (0–100), étalé entre le seuil et 100 %. */
|
||
export function semanticProximityPercent(
|
||
similarity: number,
|
||
floor = SEMANTIC_SIMILARITY_FLOOR,
|
||
): number {
|
||
return Math.round(semanticProximityRatio(similarity, floor) * 100)
|
||
}
|
||
|
||
/** Rayon orbite : plus la proximité est forte, plus le nœud est proche du centre. */
|
||
export function semanticOrbitRadius(
|
||
similarity: number,
|
||
floor = SEMANTIC_SIMILARITY_FLOOR,
|
||
): number {
|
||
const MIN_R = 34
|
||
const MAX_R = 94
|
||
const t = semanticProximityRatio(similarity, floor)
|
||
return MAX_R - t * (MAX_R - MIN_R)
|
||
}
|