v2 : couche données complète + shell + primitives communes

- stores/collective.ts (état local-first, gabarits, import/export, seeds)
  + stores/decisions.ts (cycle de vie complet : capture→chemin→fenêtres→
  sessions→cristallisation→épreuve du réel→révocation)
- data/templates.ts : 7 gabarits (Page blanche observatoire-d'abord,
  5 points de départ, Institution symétrique)
- composables useFeed (13 sections du Fil en sélecteurs purs) + useSearch
  (index unique Cmd+K/Q0)
- shell : layouts default/bare, app.vue mince, useMood v2 (Source/Margelle/
  Nappe/Minuit), sceau 井 = logo, LdWorkspaceSelector avec finalité A1,
  LdAvatarStack (premier/second lieu), LdCountdown (suspension striée)
- 338 tests vitest verts, npm run build zéro erreur

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-08-11 10:30:35 +02:00
co-authored by Claude Fable 5
parent 6f2bf62295
commit d886302b59
18 changed files with 4107 additions and 957 deletions
+39
View File
@@ -0,0 +1,39 @@
<script setup lang="ts">
/** Layout minimal (onboarding /creer) — fond d'ambiance, contenu centré, sceau discret. */
</script>
<template>
<!-- ld-v2 -->
<div class="bare">
<main class="bare__main">
<slot />
</main>
<LdSeal class="app-seal bare__seal" />
</div>
</template>
<style scoped>
.bare {
min-height: 100vh;
min-height: 100dvh;
display: flex;
flex-direction: column;
background: var(--mood-bg);
color: var(--mood-text);
}
.bare__main {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: clamp(1.25rem, 4vw, 3rem);
}
.bare__seal {
position: fixed;
right: 1.25rem;
bottom: 1rem;
}
</style>