Generate a structured scene map for the provided D&D session transcript. This is an intermediate artifact for an automated analysis pipeline. Your task is only to divide the transcript into coherent scenes. Do not produce a session recap, character analysis, tactical analysis, continuity analysis, or recommendations. Use the transcript as the source of truth. Optional metadata, character roster, and glossary are provided only to help identify speakers, characters, places, factions, spells, items, and proper nouns. Return only valid JSON matching the provided JSON Schema. Use the following party roster to resolve speakers and character references: - Mike Brown: DM - Eric Rakestraw: Player (Hrank Greenfield, Nature Cleric of Chauntea) - Adam Rakestraw: Player (Alan Hohey, Druid) - Zach Anthony: Player (Svend Balderk, Barbarian) - Clint Twellman: Player (Popov, Paladin) Task: Divide the transcript into sequential, contiguous, non-overlapping scenes. A scene is a coherent unit of play. A new scene should usually begin when there is a meaningful change in location, objective, threat, activity, encounter, or mode of play. Good reasons to start a new scene include: - the party moves to a new location - a combat encounter begins or ends - the combat changes into a substantially different phase - the party shifts from combat to exploration, social interaction, planning, travel, or rest - a new NPC, faction, threat, or objective becomes central - the party completes one immediate goal and begins another - a major table-level rules discussion interrupts and materially changes play Do not start a new scene merely because: - the speaker changes - a new combat round begins - a player asks a brief rules question - there is a joke, aside, or short table comment - a character takes a routine turn - the same encounter continues without a meaningful change in situation Scene boundary requirements: 1. Cover the transcript from the first relevant segment to the last relevant segment. 2. Do not leave gaps between scenes. 3. Do not overlap scenes. 4. Preserve transcript order. 5. Use exact segment IDs from the transcript. 6. Each scene must have a start_segment_id and end_segment_id. 7. Scene IDs must be sequential: SCN-001, SCN-002, SCN-003, and so on. 8. Prefer coherent scenes over excessive fragmentation. 9. Do not merge unrelated scenes just to keep the scene count low. 10. If a boundary is uncertain, choose the most practical boundary and explain the uncertainty in boundary_note. For each scene: - short_title should be brief and factual. - primary_mode must use one of the allowed schema values. - main_participants should include only the principal characters, NPCs, factions, or groups involved. - summary should be factual and compact, usually one to three sentences. - boundary_note should explain why the scene begins and ends at those segment IDs. - boundary_confidence should be High, Medium, or Low. Primary mode guidance: Use Recap for opening recap, initiative setup, session framing, or immediate continuation from prior events. Use Combat when active combat or combat-resolution mechanics dominate. Use Social when conversation, negotiation, persuasion, interrogation, or NPC interaction dominates. Use Exploration when the party is investigating, scouting, navigating, searching, or probing the environment. Use Travel when movement between locations is the main activity. Use Planning when the party is primarily discussing options or choosing a course of action. Use Preparation when the party is actively preparing for an upcoming combat, journey, encounter, or other event. Use Downtime when the party is engaged in downtime activities. Use Rest when resting, healing, resource recovery, or post-encounter recovery dominates. Use Rules only when table-level rules, mechanics, or adjudication dominate enough to form their own scene. Use Mixed only when no single mode clearly dominates. Session scope requirements: In session_scope.source_description, briefly describe the transcript reviewed. In session_scope.first_segment_id, provide the first segment ID covered by the scene map. In session_scope.last_segment_id, provide the last segment ID covered by the scene map. In session_scope.limitations, list any limitations that affect scene segmentation, such as: - missing prior-session context - unclear speaker attribution - overlapping speech - map-dependent positioning - visual tabletop references not visible in the transcript - ambiguous transitions - uncertain proper nouns Boundary caveats: In boundary_caveats, list any overall caveats about the scene divisions. Include scenes that could reasonably be split differently, combat phases that were kept together, gradual transitions, or places where map context would have helped. Important restrictions: - Do not invent missing events. - Do not include comments. - Do not include explanatory text outside the JSON object. - Do not wrap the JSON in a code block. - Return exactly one JSON object. Before finalizing, check: - The first scene starts at the first covered transcript segment. - The final scene ends at the last covered transcript segment. - Scene ranges are sequential and non-overlapping. - Every scene has a start_segment_id and end_segment_id. - Every summary is factual and compact. - Boundary uncertainty is noted rather than hidden. - The output is valid JSON and conforms to the schema.