← publications

ToneCanvas: Visually Painting Character Tone for Narrative Consistency

Junghwan Kim†, Hana Oh†, Bongwon Suh

† equal contribution

Adjunct Proceedings of the 39th Annual ACM Symposium on User Interface Software and Technology (UIST Adjunct '26)
UIST 2026 Adjunct · Poster

ToneCanvas interface: a manuscript editor with persistent watercolor tone overlays on dialogue, a Focus Mode gathering one character's dialogue, a Tone Palette with independently adjustable dimensions, and character reference cards
ToneCanvas interface: a manuscript editor with persistent watercolor tone overlays on dialogue, a Focus Mode gathering one character's dialogue, a Tone Palette with independently adjustable dimensions, and character reference cards

📝Abstract

Revising long-form fiction requires writers to maintain each character’s voice across dialogue that is often dispersed throughout a manuscript. Because tone remains embedded in plain text, identifying gradual shifts in how a character speaks relies heavily on rereading, memory, and external references. We present ToneCanvas, an interactive writing interface that supports character-centered tone revision through persistent visual comparison within and across passages. A formative study with five experienced creative writing professionals revealed four recurring breakdowns in character-tone revision, which informed the design of ToneCanvas through persistent visual overlays, character-focused dialogue views, and adjustable tone dimensions. ToneCanvas contributes a character-centered interface for inspecting and revising character tone within and across dispersed dialogue.

Narrative ConsistencyCharacter VoiceVisual Text AnalyticsLLM-Augmented Interface

🔖BibTeX

@inproceedings{kim2026tonecanvas,
  title = {ToneCanvas: Visually Painting Character Tone for Narrative Consistency},
  author = {Junghwan Kim and Hana Oh and Bongwon Suh},
  booktitle = {Adjunct Proceedings of the 39th Annual ACM Symposium on User Interface Software and Technology (UIST Adjunct '26)},
  year = {2026},
  doi = {10.1145/3830397.3841808}
}