feat(notes): liens internes, onglet Réseau, living blocks et consentement IA
Some checks failed
CI / Lint, Test & Build (push) Failing after 1m19s
CI / Deploy production (on server) (push) Has been skipped

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:
Antigravity
2026-05-24 14:27:29 +00:00
parent 077e665dfc
commit e2672cd2c2
323 changed files with 20670 additions and 42431 deletions

View File

@@ -43,21 +43,21 @@ export const PALETTE_ALIASES: Record<string, string> = {
premium: 'platinum_white_gold', clean: 'vibrant_tech', stage: 'stage_dark',
architectural: 'architectural_mono', silk: 'minimal_silk',
black: 'keynote', white: 'platinum_white_gold', nuit: 'galaxy', sombre: 'stage_dark',
// Recipe explicit theme mappings
architectural_saas: 'architectural_mono',
midnight_cathedral: 'keynote',
aurora_borealis: 'galaxy',
tokyo_neon: 'vibrant_tech',
sunlit_gallery: 'bohemian',
clinical_precision: 'modern_wellness',
venture_pitch: 'vibrant_orange_mint',
forest_floor: 'forest_eco',
steel_glass: 'luxury_mystery',
cyberpunk_terminal: 'tech_night',
editorial_ink: 'vintage_academic',
coastal_morning: 'coastal_coral',
paper_studio: 'craft_artisan',
// Recipe explicit theme mappings (both underscore and dash variants)
architectural_saas: 'architectural_mono', 'architectural-saas': 'architectural_mono',
midnight_cathedral: 'keynote', 'midnight-cathedral': 'keynote',
aurora_borealis: 'galaxy', 'aurora-borealis': 'galaxy',
tokyo_neon: 'vibrant_tech', 'tokyo-neon': 'vibrant_tech',
sunlit_gallery: 'bohemian', 'sunlit-gallery': 'bohemian',
clinical_precision: 'modern_wellness', 'clinical-precision': 'modern_wellness',
venture_pitch: 'vibrant_orange_mint', 'venture-pitch': 'vibrant_orange_mint',
forest_floor: 'forest_eco', 'forest-floor': 'forest_eco',
steel_glass: 'luxury_mystery', 'steel-glass': 'luxury_mystery',
cyberpunk_terminal: 'tech_night', 'cyberpunk-terminal': 'tech_night',
editorial_ink: 'vintage_academic', 'editorial-ink': 'vintage_academic',
coastal_morning: 'coastal_coral', 'coastal-morning': 'coastal_coral',
paper_studio: 'craft_artisan', 'paper-studio': 'craft_artisan',
}
export const THEME_NAMES: Record<string, string> = {
@@ -74,7 +74,8 @@ export const THEME_NAMES: Record<string, string> = {
}
export function resolvePalette(spec: Pick<PresentationSpec, 'theme'>): { palette: Palette; key: string } {
const name = (spec.theme || '').toLowerCase().replace(/[\s-]/g, '_')
// Normalize theme name: handle both dashes and underscores
const name = (spec.theme || '').toLowerCase().replace(/[\s-]/g, '_').replace(/_+/g, '_').replace(/^_|_$/g, '')
const key = PALETTE_ALIASES[name] || (PALETTES[name] ? name : 'keynote')
return { palette: PALETTES[key]!, key }
}