feat(keys3d): better key sizes — deeper, edge-shaded, angled sharps#860
feat(keys3d): better key sizes — deeper, edge-shaded, angled sharps#860LegionaryLeader wants to merge 3 commits into
Conversation
… keys Reshape the Keys Highway 3D piano so key presses read clearly, as the default look (no toggle): - Taller/longer key bodies for more visible key-depress travel. - Baked vertex-color edge shading on every key wall (_shadeKeyEdges). - Thin real-piano side gap on every key (render inset only; positions and lane widths untouched, so falling notes still line up). - Trapezoid sharps: top-edge X taper (_taperKeyX) + front-face slant (_slantFrontFace). Sharp back edge anchored to the hit-line so sharps no longer dive into the highway and their length is independent of the natural-key length. Bump plugin 0.2.1 -> 0.2.2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: LegionaryLeader <legionaryleader@gmail.com>
The taller, edge-shaded keys pushed the floating-layout sharp note gems far above their keys, and on the low-down camera the natural gems sat a touch high as they came in. Decouple the floating note planes from the (now tall) black-key height: - Naturals: drop the entry plane 1K so they read cleanly on the low cam. - Sharps: sit +2K over the natural base so they still read as raised, independent of BLACK_H (no longer pinned to the tall black key). Floating layout only — flat/realistic keep their shared WHITE_H plane. No key geometry, positions, lane widths, or plugin version change. Signed-off-by: LegionaryLeader <legionaryleader@gmail.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughThe Keys Highway 3D plugin updates piano-key dimensions, gap-aware geometry construction, key mesh anchoring, floating-note offsets, changelog documentation, and the manifest version from 0.2.1 to 0.2.2. ChangesKeys Highway 3D
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@plugins/keys_highway_3d/plugin.json`:
- Line 4: Update the plugin’s CHANGELOG.md by adding or revising the
[Unreleased] section to describe the realistic key geometry and floating-note
alignment changes associated with version 0.2.2.
In `@plugins/keys_highway_3d/screen.js`:
- Around line 3060-3061: Update the black glyph geometry in the sharp-key
rendering code to size it from the tapered black key-top width, using blackBodyW
and the 84% top taper rather than BLACK_W; preserve the existing scale factor
while ensuring the glyph stays within the visible key surface. Leave the
whiteGlyphGeo sizing unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: f0c29cbc-0364-41df-8587-d2065addb8db
📒 Files selected for processing (2)
plugins/keys_highway_3d/plugin.jsonplugins/keys_highway_3d/screen.js
Add an [Unreleased] > Changed entry for the reshaped Keys Highway 3D keys and the floating-layout note-plane tuning, per the per-PR changelog guideline. Signed-off-by: LegionaryLeader <legionaryleader@gmail.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Summary
Reshapes the Keys Highway 3D piano so key presses read clearly — and tunes the floating-layout falling-note planes to sit correctly against the taller keys. Purely a visual/geometry pass on the keyboard; scoring, timing, note data, and hit-detection are untouched.
What changed
Key geometry (natural + sharp bodies)
_shadeKeyEdges): the side walls darken toward the base while the top face stays full-bright, turning the seam between neighbouring keys into a soft shadow line so adjacent keys are easy to tell apart._taperKeyX) plus a front-face slant (_slantFrontFace) give the black keys a chiselled-wedge profile that reads from the top-down camera. The sharp's back edge is anchored to the hit-line so sharps no longer dive backward into the highway, and their visible length is independent of the natural-key length.Floating-layout note planes
BLACK_H(no longer pinned to the tall black key).flatandrealisticlayouts keep their sharedWHITE_Hnote plane and are not touched.Invariants preserved
flat/realisticlayouts are unaffected (verified: the change is isolated to the non-_flatMode()branch).Files
plugins/keys_highway_3d/screen.jsplugins/keys_highway_3d/plugin.jsonTesting
Exercised in the packaged app across the floating layout on the low-down camera: key-depress travel is clearly visible, sharps read as a gentle raise above the naturals, and the naturals come in cleanly without the sharps towering above their keys.
New style is much more readable, key presses are much more visible, the entire piano looks better overall and less flat.
Summary by CodeRabbit
New Features
Chores