From de8294eab208b95cef9bd376d98fb232e3a4c4c4 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 13 Oct 2026 09:59:53 +0200 Subject: fix(island): review findings in the controls panel Edit mode let a right-click and the wheel through to the tile, so a right-click opened the drawer and scroll changed volume, against the spec. The drag area now takes both buttons and the wheel. A scroll up on a level already above the cap, such as a mic set to 120% elsewhere, snapped it down to the cap. The cap now only stops a step up. Prefs logs a failed write, which printErrors off had silenced: the new order would otherwise vanish at the next restart with no trace. Its parsed object is renamed from data to doc, so it cannot shadow a base property of that name. The spec now says what was built: JSON.parse rather than a JsonAdapter, and the helper list as it is. Co-Authored-By: Claude Opus 5.5 --- desktop/island/test_controls.js | 3 +++ 1 file changed, 3 insertions(+) (limited to 'desktop/island/test_controls.js') diff --git a/desktop/island/test_controls.js b/desktop/island/test_controls.js index f84e472..b2db873 100644 --- a/desktop/island/test_controls.js +++ b/desktop/island/test_controls.js @@ -82,6 +82,9 @@ assert.strictEqual(C.step(1.48, 0.05, 1.5), 1.5); assert.strictEqual(C.step(0.98, 0.05, 1.0), 1); assert.strictEqual(C.step(0.1 + 0.2, 0.05, 1), 0.35); assert.strictEqual(C.step(undefined, 0.05, 1), 0.05); +// Above the cap (set elsewhere): up leaves it, down steps from where it is. +assert.strictEqual(C.step(1.2, 0.05, 1.0), 1.2); +assert.strictEqual(C.step(1.2, -0.05, 1.0), 1.15); // slotAt: pitch 70, 4 columns, 7 tiles. assert.strictEqual(C.slotAt(35, 35, 70, 4, 7), 0); -- cgit v1.2.3