From 8daf9409d269d462839b0555b720445a128e7b98 Mon Sep 17 00:00:00 2001 From: Jun Morimoto Date: Sat, 19 Sep 2026 13:36:05 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E9=85=8D=E8=89=B2=E3=81=A8=E5=88=9D?= =?UTF-8?q?=E6=9C=9F=E5=80=A4=E3=82=92=E6=9B=B4=E6=96=B0=E3=81=97=E3=80=81?= =?UTF-8?q?JEV=E3=83=AD=E3=82=B0=E8=A1=A8=E7=A4=BA=E3=82=92=E6=95=B4?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 青紫とローズの配色を全体に適用し、JEVログのhistory表示を省略。 Co-authored-by: Codex --- about.html | 52 ++++++++++++------------- docs/desc.html | 16 ++++---- docs/knowledge-model.html | 14 +++---- index.html | 82 ++++++++++++++++++++------------------- tests/interaction.spec.js | 6 +-- tests/jev.spec.js | 2 +- 6 files changed, 87 insertions(+), 85 deletions(-) diff --git a/about.html b/about.html index 86b7f9f..8118d32 100644 --- a/about.html +++ b/about.html @@ -5,19 +5,19 @@ About — Elevator Three @@ -559,9 +561,9 @@ glitch: {def:.90}, evolution: {def:.90}, mutate: {def:.80}, - shift: {def:.5}, // 平行移動の転調の強さ (two:D-65)。0 で従来どおり。既定は two:D-70 で 0.5 - lush: {def:.5}, // 開いた和声の強さ (two:D-66)。0 で従来どおり。既定は two:D-70 で 0.5 - jev: {def:.8}, // 判断のうち Jev に任せる割合 (D-5)。0 なら two と同じ + shift: {def:.8}, // 平行移動の転調の強さ (two:D-65)。0 で従来どおり。既定は 0.8 + lush: {def:.8}, // 開いた和声の強さ (two:D-66)。0 で従来どおり。既定は 0.8 + jev: {def:1}, // 判断のうち Jev に任せる割合 (D-5)。0 なら two と同じ }; /* ============================================================ @@ -580,8 +582,8 @@ rim: {label:'rim'}, perc: {label:'perc'}, cowbell: {label:'cowbell', tip:'Electro kit only'}, - bassFunk: {label:'funk bass', tip:'Bass level in electro funk scenes'}, - bass: {label:'other bass', tip:'Bass level in every other scene'}, + bassFunk: {def:.5, label:'funk bass', tip:'Bass level in electro funk scenes'}, + bass: {def:.5, label:'other bass', tip:'Bass level in every other scene'}, strings: {label:'strings', tip:'Sustained chords, arpeggio and high riff'}, chop: {label:'chord chop'}, stab: {label:'stab'}, @@ -607,7 +609,7 @@ try{ saved = JSON.parse(localStorage.getItem(MIX_STORE)||'{}') || {}; }catch(_){ /* 読めなければ既定値 */ } for(const k in MIX){ const v=saved[k], min=MIX[k].min??0, max=MIX[k].max??2; - mix[k] = (typeof v==='number' && v>=min && v<=max) ? v : 1; + mix[k] = (typeof v==='number' && v>=min && v<=max) ? v : (MIX[k].def??1); } } function saveMix(){ @@ -3708,7 +3710,7 @@ const pad=ind+' '; const items = Array.isArray(v) ? v.map(x=>pad+fmtJson(x,depth+1,pad)) - : Object.entries(v).map(([k,x])=>pad+JSON.stringify(k)+': '+fmtJson(x,depth+1,pad)); + : Object.entries(v).filter(([k])=>k!=='history').map(([k,x])=>pad+JSON.stringify(k)+': '+fmtJson(x,depth+1,pad)); if(!items.length) return Array.isArray(v) ? '[]' : '{}'; const [o,c]=Array.isArray(v) ? ['[',']'] : ['{','}']; return o+'\n'+items.join(',\n')+'\n'+ind+c; @@ -4428,13 +4430,13 @@ // 波形の色。テーマを変えたときに拾い直す let scopeColorCache='', scopeBgCache=''; -function scopeColor(){ return scopeColorCache || '#d8b2ff'; } +function scopeColor(){ return scopeColorCache || '#cfcfe8'; } function draw(){ requestAnimationFrame(draw); updateLeds(); // キャンバスが隠れている (狭い画面の別タブ) ときも回す const w=cv.clientWidth, h=cv.clientHeight; if(!w||!h) return; - g2.fillStyle=scopeBgCache||'#1c005e'; g2.fillRect(0,0,w,h); + g2.fillStyle=scopeBgCache||'#313178'; g2.fillRect(0,0,w,h); // 波形。いま出ている音をそのまま横に引き伸ばして描く。 // 立ち上がりが左端に来るよう、上りのゼロ交差を探して起点にする @@ -4459,7 +4461,7 @@ // 拍の明滅。無音の段階でも拍が見えるようにしておく if(uiStep>=0 && uiStep%4===0){ - g2.fillStyle=`rgba(178,102,255,${.05+ (uiStep===0?.05:0)})`; + g2.fillStyle=`rgba(219,141,155,${.05+ (uiStep===0?.05:0)})`; g2.fillRect(0,0,w,h); } } diff --git a/tests/interaction.spec.js b/tests/interaction.spec.js index e6b7487..00b16f8 100644 --- a/tests/interaction.spec.js +++ b/tests/interaction.spec.js @@ -92,9 +92,9 @@ test('見た目は EK 固定で、切り替えは無い', async ({ page }) => { // two:D-37。テーマの切り替えは廃止した (2026-09-12) await expect(page.locator('.themebtn')).toHaveCount(0); expect(await page.getAttribute('html', 'data-theme')).toBeNull(); - // 紫の5色 (D-13)。地は #3100a2 + // 青紫の背景 const bg = await page.evaluate(() => getComputedStyle(document.body).backgroundColor); - expect(bg).toBe('rgb(49, 0, 162)'); + expect(bg).toBe('rgb(116, 116, 176)'); }); test('UI は英語だけで、言語の切り替えは無い', async ({ page }) => { @@ -276,7 +276,7 @@ test('タイトルの左に、上の階層へのアイコンのリンクがあ await expect(link).toHaveAttribute('target', '_blank'); await expect(link.locator('svg path')).toHaveCount(3); await expect(link).toBeVisible(); - expect(await link.evaluate(el => getComputedStyle(el).color)).toBe('rgb(216, 178, 255)'); // --ink (D-13) + expect(await link.evaluate(el => getComputedStyle(el).color)).toBe('rgb(255, 255, 255)'); // --ink // タイトルより左にある const icon = await link.boundingBox(); const title = await page.locator('header .mark').boundingBox(); diff --git a/tests/jev.spec.js b/tests/jev.spec.js index e14b3f8..aa45ffc 100644 --- a/tests/jev.spec.js +++ b/tests/jev.spec.js @@ -39,7 +39,7 @@ async function start(page, query = '') { test('jev のスライダーと monitor の表示がある', async ({ page }) => { await page.goto('/index.html'); await expect(page.locator('#s_jev')).toBeVisible(); - await expect(page.locator('#s_jev')).toHaveValue('0.8'); + await expect(page.locator('#s_jev')).toHaveValue('1'); await expect(page.locator('#pjev')).toBeVisible(); // 雰囲気の操作ではないので (edit) を付けない。付くと陰陽が波に従わなくなる await page.locator('#s_jev').fill('0.5'); From 6f09b18b236e7f35c66fd04e36bc53b7738a57d9 Mon Sep 17 00:00:00 2001 From: Jun Morimoto Date: Sat, 19 Sep 2026 13:44:18 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E3=82=A2=E3=82=AF=E3=82=BB=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=82=92=E6=B7=A1=E3=81=84=E3=82=AF=E3=83=AA=E3=83=BC?= =?UTF-8?q?=E3=83=A0=E8=89=B2=E3=81=AB=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Codex --- about.html | 10 +++++----- docs/desc.html | 6 +++--- docs/knowledge-model.html | 6 +++--- index.html | 22 +++++++++++----------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/about.html b/about.html index 8118d32..e61a8dc 100644 --- a/about.html +++ b/about.html @@ -5,7 +5,7 @@ About — Elevator Three