feat(notes): liens internes, onglet Réseau, living blocks et consentement IA
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>
This commit is contained in:
32
memento-note/lib/ai/semantic-proximity.ts
Normal file
32
memento-note/lib/ai/semantic-proximity.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
/** 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)
|
||||
}
|
||||
Reference in New Issue
Block a user