diff options
| author | Sho Sakuma <me@m1sk9.dev> | 2026-09-28 22:21:21 +0900 |
|---|---|---|
| committer | Sho Sakuma <me@m1sk9.dev> | 2026-09-28 22:21:21 +0900 |
| commit | 9601f147dd38d5fc93d8fff118794990f44c3766 (patch) | |
| tree | c2ef667c80d8594c43b245651f0cc0a3771d5ef4 /website/src/docs/reference | |
| parent | a1679bdd2a4904b288964f0b90ee9af569aed5c2 (diff) | |
| download | LunaticChat-9601f147dd38d5fc93d8fff118794990f44c3766.tar.gz LunaticChat-9601f147dd38d5fc93d8fff118794990f44c3766.tar.bz2 LunaticChat-9601f147dd38d5fc93d8fff118794990f44c3766.zip | |
refactor(paper): render chat formats through one placeholder vocabulary
Placeholder names were spelled as string literals in three handlers, and
each handler also chose its own way of turning the result into a
Component. Adding a placeholder meant finding every call site by hand, with
nothing to catch a format left without its value.
ChatPlaceholder now owns the names, and each format has an entry point whose
parameters are exactly the placeholders it accepts, so the compiler points
at the callers when one is added. Substitution happens in a single pass, so
a value that itself contains "{message}" is no longer replaced again by the
next placeholder. All three formats now deserialize section signs into
styles, which leaves what players see unchanged.
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'website/src/docs/reference')
0 files changed, 0 insertions, 0 deletions
