Skip to content

Redesign the default skin in a phantom poster style - #219

Merged
nulltask merged 4 commits into
develfrom
feature/default-skin-phantom-redesign
Sep 28, 2026
Merged

nulltask merged 4 commits into
develfrom
feature/default-skin-phantom-redesign

Conversation

@nulltask

Copy link
Copy Markdown
Owner

Summary

Repaints the default (skinless) skin family — gameplay, song select, and result — in a red / black / white poster style: slanted plates, jagged starbursts, halftone fields, and condensed italic type. Geometry contracts are unchanged (LR2 default 7-keys lane positions, 640x480 design canvas, select hit areas).

  • Gameplay: new header, gauge, song plate, score plate with a rank badge, judge tally, and an idle BGA screen. The playfield stays plain and IIDX-like (flat white / blue / red notes, simple hit flash), with smooth gradient key beams.
  • Tabular figures: Canvas 2D has no font-feature-settings, so live numerals are laid out per glyph in fixed-width cells to keep changing values from jittering.
  • Song select: ambient motion (drifting halftone, BPM-synced starburst, speed streaks, scrolling kicker, beat-kicking pointer, card glint), a staggered list fly-in, and a slide-in on every cursor move. PLAY is now the primary action.
  • Result: an entrance timeline (slash sweep, verdict slam, staggered plates, counter roll-up, growing bars, graphs drawing in, rank stamp) plus ambient loops; a skip jumps to the settled layout.
  • Type stack: Anton (Latin display), Dela Gothic One (titles), M PLUS 1p (UI / Japanese), with LINE Seed JP as the fallback. The demo loads them via Google Fonts.
  • Demo: help button moved to the bottom center.
  • Docs: AGENTS.md gains Conventional Branch naming rules.

Testing

  • vp check: 0 errors
  • vp test run packages/player-web: all passing, including new tests for the pure shape / layout / easing helpers in scene/default/phantom-style.ts
  • Verified gameplay, select, and result visually in the demo with autoplay

Repaint the skinless gameplay, select, and result chrome with a red /
black / white poster look: slanted plates, starbursts, halftone fields,
and condensed italic type. The playfield stays plain and IIDX-like.

- Tabular figures for live numerals via per-glyph fixed-width layout
- Ambient motion and slide-ins on the select screen
- Entrance timeline with counter roll-up on the result screen
- Smooth gradient key beams
- PLAY becomes the primary select action
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
be-music-player-demo 7ef5477 Commit Preview URL

Branch Preview URL
Sep 28 2026, 05:12 AM

Import test helpers from vite-plus/test and keep the select slide-in
easing module-private so it needs no benchmark case.
@github-actions

Copy link
Copy Markdown

Exports Benchmark

  • Base SHA: 196afa12bf24
  • Head SHA: 7ef547773494
  • Comparable cases: 83
  • Regression threshold: 8.00%
  • Overall verdict uses the median change across cases.
  • Per-case lists compare median ops/s, not mean.
  • Base runs: median of 3
  • Head runs: median of 3

Summary

Metric Value
Overall unchanged
Median change +0.00%
Mean change +0.31%
Cases improved (>= threshold) 1
Cases regressed (<= -threshold) 1
Cases unchanged 81
Cases excluded (sub-timer-resolution) 160
Head benchmarked cases 243
Head skipped cases 21

Top Regressions

API Base median ops/s Head median ops/s Change
audio-renderer.writeAudioFile 1874.58 1661.27 -11.38%

Top Improvements

API Base median ops/s Head median ops/s Change
player-web.buildAudioBus 461254.61 615763.55 +33.50%

Excluded (sub-timer-resolution)

Per-call latency at or below 0.001ms on at least one side — the reported time is measurement noise, not the case's real cost, so no percent change is shown.

API Base median ops/s Head median ops/s
audio-renderer.createTimingBuildContext 1923076.93 1923076.93
chart.compareEvents 10416666.69 10416666.69
chart.createBeatResolver 20833332.60 20833332.60
chart.eventToBeat 13888889.10 13888889.10
chart.exWavVolumeCentibelsToLinearGain 15625000.04 15625000.04
chart.getMeasureBeats 20833332.60 20833332.60
chart.isBmsBgmVolumeChangeChannel 17857142.61 17857142.61
chart.isBmsDynamicVolumeChangeChannel 17857142.61 17857142.61
chart.isBmsKeyVolumeChangeChannel 17857142.61 17857142.61
chart.isBmsLongNoteChannel 20833332.60 20833332.60
chart.isLandmineChannel 20833332.60 20833332.60
chart.isPlayableChannel 20833332.60 20833332.60

@nulltask
nulltask merged commit 3a61eaf into devel Sep 28, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant