Remove Scenes, group beats by multiple characters; strip comments repo-wide

Drop the Scene entity/grouping in favor of chapters carrying prose directly
and beats belonging to many characters. Add markdown editor + character
multi-select components to the web client. Remove all XML doc and inline
comments across the touched C#/TS/CSS files in favor of self-documenting
names, and record that convention in CLAUDE.md. Add .mcp.json (local MCP
server config, no secrets) and ignore .idea/.
This commit is contained in:
James Wampler
2026-08-11 21:05:13 -07:00
parent 1ce526019f
commit 23348327a9
57 changed files with 2600 additions and 1421 deletions
@@ -88,7 +88,6 @@ public class OpenQuestionTests : ServiceTestFixture
Assert.That(open.Select(q => q.Question), Is.EqualTo(new[] { "Is this one book or two?" }));
Assert.That(everything, Has.Count.EqualTo(2));
// Still-open questions come first, so the list stays about what is undecided.
Assert.That(everything[0].IsResolved, Is.False);
Assert.That(everything[1].IsResolved, Is.True);
});
@@ -128,7 +127,6 @@ public class OpenQuestionTests : ServiceTestFixture
Assert.Multiple(() =>
{
// The existing note is kept and the decision lands underneath it.
Assert.That(chapter.Notes, Does.StartWith("Runs long."));
Assert.That(chapter.Notes, Does.Contain("Where does the chapter break? — After the harbour burns."));
Assert.That(character.Notes, Is.EqualTo("Where does the chapter break? — After the harbour burns."));
@@ -179,7 +177,6 @@ public class OpenQuestionTests : ServiceTestFixture
{
Assert.That(detached.ChapterId, Is.Null);
// Only the chapter was cleared — a null id means "leave alone", not "detach".
Assert.That(detached.CharacterId, Is.EqualTo(_characterId));
});
}