Repository navigation
PHO-76/#146 T22: surface at Socket's sizes — previews, surplus fade, Dots default - #180
Merged
wow-miley merged 2 commits intoOct 17, 2026
Conversation
…, 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
deleted the
miley/pho-76-t22-surface-at-sockets-sizes-the-160-px-hero-orb-at
branch
October 17, 2026 10:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Runs
:phosphor-lumos-surfaceat 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.LumosSurfaceSizesTestrecords 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) andSurfaceSurplus.Fade, which fades the cells the button doesn't need. For the fade,morphTogains asurvivorsparameter, andPixelForm.outlineFractionputs 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 atassembleIntoand the colour cut at morph start. Dense vs fade is still Miley's call from the clips, and:phosphor-lumos:jvmTestand:phosphor-lumos-surface:jvmTestare green locally.🤖 Generated with Claude Code