From 7329ba8c8901ee095ad7316b8554c5e44431eebc Mon Sep 17 00:00:00 2001 From: Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> Date: Mon, 5 Oct 2026 21:46:21 +0900 Subject: bluebey-studio: 縦書きのセリフとナレーション枠、コック帽改善、小物に鉛筆とコップなど MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit セリフを縦書き可能にし、縦書きのナレーションボックスを追加。ハートでも下まぶたを閉じられるようにし、ふつうの目の瞳を少し鼻側へ。HairPlateは髪が無いとき非表示(iPhoneの色ずれ対策)。コック帽をトック帽に、鉛筆とコップを小物に追加。 --- public/bluebey-studio/src/presets.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'public/bluebey-studio/src/presets.js') diff --git a/public/bluebey-studio/src/presets.js b/public/bluebey-studio/src/presets.js index 9baa3a4..6bcf724 100644 --- a/public/bluebey-studio/src/presets.js +++ b/public/bluebey-studio/src/presets.js @@ -36,10 +36,40 @@ function captionDefaults() { borderWidth: 4, bold: false, align: 'left', // left | center | right + vertical: false, // 縦書き (columns run right to left) font: 'rounded', // rounded (vendored) | system }; } +/** + * ナレーション (a narration box): a plain rectangular panel of vertical text, the + * manga narration style. Same shape as a bubble, with a rect box, no tail, and + * 縦書き on by default. + */ +function narrationDefaults() { + return { + enabled: false, + text: 'ここで、ぶるべーは考えた。', + x: 0.06, + y: 0.08, + maxWidth: 0.5, + bubble: 'rect', + tail: 'none', + fontSize: 30, + lineHeight: 1.35, + padding: 16, + radius: 8, + textColor: '#2b2433', + bubbleColor: '#ffffff', + borderColor: '#2b2433', + borderWidth: 3, + bold: false, + align: 'left', + vertical: true, + font: 'rounded', + }; +} + /** * Per-kind starting size and height for ひげ, applied when a kind is picked. The * textured kinds are drawings, so they are drawn at a different scale from the @@ -336,6 +366,8 @@ export function defaultState() { caption: captionDefaults(), // The second bubble starts on the other side, so the two do not overlap. caption2: { ...captionDefaults(), text: '', x: 0.08, y: 0.44 }, + // A ナレーション box (vertical text, rect, no tail). + narration: narrationDefaults(), // -------------------------------------------------------- 口パク (mouth flap) // The mouth moves as if talking, with no sound at all: the device's own // speech voices belong to the device, so a recording of them is not ours to -- cgit v1.3.1