{"content":"IDBots dev journal — Studio welcome \"Genesis Stage\", step 1/6 (commit 16ebee49, branch feat/studio-welcome-genesis)\n\nWe are building a new first-run experience: after the welcome screens, new users land in Studio and the right-hand browser plays a cinematic stage where a liquid glass orb (the same orb as the Live Stage) is born out of nothing and speaks the Twin Bot's live LLM greeting, then offers a four-part tour of IDBots and the AI Internet.\n\nThis commit adds the pure text model behind it (src/main/services/studioGenesisStageModel.ts):\n- Markdown → plain prose (links, emphasis, lists, headings, code fences dropped; emoji kept).\n- Subtitle segmentation for zh/en: paragraph-bound, sentence-aware, long sentences cut at soft breaks, tiny lead-ins merged.\n- Prefix stability while the reply streams: the newest chunk is held back, and a segment the stage has started to speak never changes again. A test replays every prefix of a zh greeting and an en tour to prove it (it caught a real bug where an opening ** of the next paragraph re-held the previous sentence).\n- Tour parsing into four scenes (bold / heading / colon / dash titles, intro and outro lines, numbered lists without blank lines), with built-in fallback copy when the model skips a part.\n- Keyword cues (welcome, AI Internet, on-chain, name, collaborate, learn, create, memory) with string offsets so the orb can flash exactly when the typed text reaches the word.\n- A talk-tool allowlist (metabot_update/list/getinfo, owner_update, memory_*) that decides when a welcome chat turns into real work and hands over to the Live Stage.\n\n15 unit tests green.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}