Files
mantra-kmp/composeApp
Kgothatso Ngako f8e4a5b158 Add the add-chapter flow with paragraph chunking
Add a chapter (markdown original text) to an artifact from its detail
screen, deriving word/character counts from the text and splitting it into
paragraph chunks.

- MantraRepository.addChapter attaches the chapter to the artifact's latest
  version (index = existing chapter count), computes word/character counts,
  and persists the MantraChapter plus a MarmotInnerEvent rumor
  (kind = ChapterEvent.KIND). It then splits the markdown by paragraph into
  MantraChunks, each with its own index/counts and a rumor
  (kind = ChunkEvent.KIND). New DAO query getChaptersByArtifactVersionId.
- New press.mantra.compose.text.Markdown helpers: wordCount, characterCount,
  splitParagraphs (blank-line separated).
- ChapterEvent.build / ChunkEvent.build now take the real fields (fixing the
  phantom generics); toChapterEvent / toChunkEvent tag order matches build
  and fromChapterEventTemplate / fromChunkEventTemplate are added so the
  event ids round-trip, mirroring the other models.
- New AddChapterScreen (route + ViewModel + UIState) with a name field and a
  markdown text field plus a live "words · characters · chunks" preview,
  reached from an Add Chapter button in ArtifactDetailScreen (disabled until
  the artifact has a version). On success it lands on a freshly-loaded
  artifact detail via popUpTo<ArtifactDetailRoute>.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 01:28:30 +02:00
..
2026-07-15 01:14:46 +02:00