aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/bluebey-studio/src/presets.js
diff options
context:
space:
mode:
authorYasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com>2026-10-05 21:46:21 +0900
committerYasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com>2026-10-05 21:46:21 +0900
commit7329ba8c8901ee095ad7316b8554c5e44431eebc (patch)
tree471d3994df66e38a3bd12b38d2899193985c9f2f /public/bluebey-studio/src/presets.js
parent27220fe6aa19f8e63be3984be1bc3288002252f7 (diff)
bluebey-studio: 縦書きのセリフとナレーション枠、コック帽改善、小物に鉛筆とコップなど
セリフを縦書き可能にし、縦書きのナレーションボックスを追加。ハートでも下まぶたを閉じられるようにし、ふつうの目の瞳を少し鼻側へ。HairPlateは髪が無いとき非表示(iPhoneの色ずれ対策)。コック帽をトック帽に、鉛筆とコップを小物に追加。
Diffstat (limited to 'public/bluebey-studio/src/presets.js')
-rw-r--r--public/bluebey-studio/src/presets.js32
1 files changed, 32 insertions, 0 deletions
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,11 +36,41 @@ 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
* built-in strokes; a kind with no entry resets to the neutral values.
@@ -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