Skip to content

PHO-76/#146 T22: surface at Socket's sizes — previews, surplus fade, Dots default - #180

Merged
wow-miley merged 2 commits into
mainfrom
miley/pho-76-t22-surface-at-sockets-sizes-the-160-px-hero-orb-at
Oct 17, 2026
Merged

wow-miley merged 2 commits into
mainfrom
miley/pho-76-t22-surface-at-sockets-sizes-the-160-px-hero-orb-at

Conversation

@wow-miley

Copy link
Copy Markdown
Contributor

Runs :phosphor-lumos-surface at Socket's two sizes and adds a preview for each: the 160 px hero orb (resolution 10, 4,801 cells) and the 20 px inline orb (80 Fibonacci cells), both assembling into a 128 × 40 button. LumosSurfaceSizesTest records each preview and prints the overlay's draw time: p95 is 9.3 ms when all 4,801 cells fly and 2.4 ms when the surplus fades. Two count rules are added: SurfaceSurplus.Keep (the default) and SurfaceSurplus.Fade, which fades the cells the button doesn't need. For the fade, morphTo gains a survivors parameter, and PixelForm.outlineFraction puts 52 % of a small count on the outline so the button's edge survives. The surface now defaults to Dots, and two PHO-75 bugs are fixed: the blank frame at assembleInto and the colour cut at morph start. Dense vs fade is still Miley's call from the clips, and :phosphor-lumos:jvmTest and :phosphor-lumos-surface:jvmTest are green locally.

🤖 Generated with Claude Code

wow-miley and others added 2 commits October 17, 2026 19:07
…, SurfaceSurplus.Fade, outline rule, Dots default

- LumosSurfaceHeroPreview (160 px, resolution 10, 4,801 cells) and LumosSurfaceInlinePreview
  (20 px, 80 Fibonacci cells), recorded by LumosSurfaceSizesTest with the overlay's DRAW p95.
- SurfaceSurplus.Keep (default) / Fade(200 ms, 2.3 px): the surplus fades under the burst and the
  morph drops it; VoxelFrameBuilder.morphTo gains `survivors` so the kept cells are an even spread.
- PixelForm.fillSpacingPx / outlineSpacingPx / outlineFraction: a small count puts more cells on
  the outline (52 % at 80) so the button's edge survives.
- LumosSurfaceState defaults to SurfaceStyle.Dots.
- Fixes from PHO-75: no blank frame at assembleInto (the slot keeps its orb until the overlay has
  a frame; a fresh stepper per flight), and no colour cut at morph start (each cell's pattern is
  blended from the form it left by the spring's progress).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
KGP skips `useMocha { timeout }` on a wasm target, so :phosphor-trace and :phosphor-lumos ran their
wasmJs browser tests at karma-mocha's 2 s default. SignalGeneratorTest's first look switch builds
the O(N²) nearest table at 4,801 cells and overran it, failing as a bare `Error` (seen on #171 and
again here). karma.config.d/mocha-timeout.js merges a 60 s timeout into client.mocha, keeping KGP's
client args; the no-op wasm useMocha blocks are removed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@wow-miley
wow-miley merged commit f8ce707 into main Oct 17, 2026
4 checks passed
@wow-miley
wow-miley deleted the miley/pho-76-t22-surface-at-sockets-sizes-the-160-px-hero-orb-at branch October 17, 2026 10:45
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