aboutsummaryrefslogtreecommitdiffhomepage
path: root/public
diff options
context:
space:
mode:
Diffstat (limited to 'public')
-rw-r--r--public/bluebey-studio/src/faceArt.js2
-rw-r--r--public/bluebey-studio/src/panel.js5
-rw-r--r--public/bluebey-studio/src/presets.js3
3 files changed, 4 insertions, 6 deletions
diff --git a/public/bluebey-studio/src/faceArt.js b/public/bluebey-studio/src/faceArt.js
index 716fcab..8537fd8 100644
--- a/public/bluebey-studio/src/faceArt.js
+++ b/public/bluebey-studio/src/faceArt.js
@@ -1654,7 +1654,7 @@ export function drawMouth(ctx, p) {
// use the whole canvas: a very wide mouth used to smear sideways off the plate.
const cornerReach = L.corner.toX * cornerAmount;
const halfChord = Math.min(
- L.halfChord * clamp(p.width ?? 1, 0.2, 1.6) * clamp(p.length ?? 1, 0.2, 2.5),
+ L.halfChord * clamp(p.width ?? 1, 0.2, 1.6),
Math.min(L.centreX - (edgeLeft + cornerReach), (edgeRight - cornerReach) - L.centreX),
);
diff --git a/public/bluebey-studio/src/panel.js b/public/bluebey-studio/src/panel.js
index bb409ef..871c896 100644
--- a/public/bluebey-studio/src/panel.js
+++ b/public/bluebey-studio/src/panel.js
@@ -1349,7 +1349,6 @@ export function buildPanel(app, root) {
open: slider({ label: '開き', min: 0, max: 1, step: 0.01, value: 0, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.open = v; app.actions.refresh('face'); } }),
round: slider({ label: 'Oの大きさ', min: 0, max: 1, step: 0.01, value: 0, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.round = v; app.actions.refresh('face'); } }),
width: slider({ label: '幅', min: 0.2, max: 1.6, step: 0.01, value: 1, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.width = v; app.actions.refresh('face'); } }),
- length: slider({ label: '長さ', min: 0.2, max: 2.5, step: 0.01, value: 1, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.length = v; app.actions.refresh('face'); } }),
thickness: slider({ label: '太さ', min: 0.2, max: 3, step: 0.01, value: 1, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.thickness = v; app.actions.refresh('face'); } }),
tilt: slider({ label: '傾き', min: -30, max: 30, step: 1, value: 0, format: (v) => `${Math.round(v)}°`, onInput: (v) => { state.face.mouth.tilt = v; app.actions.refresh('face'); } }),
offsetY: slider({ label: '高さ', min: -140, max: 140, step: 1, value: 0, format: (v) => `${Math.round(v)}`, onInput: (v) => { state.face.mouth.offsetY = v; app.actions.refresh('face'); } }),
@@ -1362,11 +1361,11 @@ export function buildPanel(app, root) {
// まったく違う。形を切り替えると、その形で使うものだけを出す。
const mouthModeOf = (mouth) => (mouth.round > 0.004 ? 'round' : 'curve');
const mouthRowKeys = {
- curve: ['smile', 'length', 'width', 'thickness', 'open', 'tongue', 'tonguePos', 'corners', 'cornerAngle', 'tilt', 'offsetY'],
+ curve: ['smile', 'width', 'thickness', 'open', 'tongue', 'tonguePos', 'corners', 'cornerAngle', 'tilt', 'offsetY'],
round: ['round', 'width', 'thickness', 'tongue', 'tilt', 'offsetY'],
};
// DOM order is fixed here; the mode only shows or hides rows.
- const mouthRowOrder = ['round', 'smile', 'length', 'width', 'thickness', 'open', 'tilt', 'offsetY', 'tongue', 'tonguePos', 'corners', 'cornerAngle'];
+ const mouthRowOrder = ['round', 'smile', 'width', 'thickness', 'open', 'tilt', 'offsetY', 'tongue', 'tonguePos', 'corners', 'cornerAngle'];
const mouthMode = segmented({
label: '口の形',
options: [
diff --git a/public/bluebey-studio/src/presets.js b/public/bluebey-studio/src/presets.js
index 64480a9..e4fe49f 100644
--- a/public/bluebey-studio/src/presets.js
+++ b/public/bluebey-studio/src/presets.js
@@ -354,8 +354,7 @@ export function defaultState() {
source: 'parametric', // parametric | original
visible: true,
smile: 1, // 0 = straight line, 1 = the original smile, <0 = frown
- width: 1,
- length: 1, // extra multiplier on the smile line's length
+ width: 1, // the smile line's length (the chord); also the O's width
thickness: 1,
open: 0, // 0 = closed lips, 1 = wide open
tilt: 0, // degrees