From 95c656d36385c3e7fbc7bef0f1f1d26f67186093 Mon Sep 17 00:00:00 2001 From: Micah Alpern Date: Wed, 29 Jul 2026 06:38:34 -0700 Subject: [PATCH 1/3] Add per-key wear, highlight variation, and a cool fill light The generated reference reads as photographed hardware partly because no two keycaps respond to light identically. The renderer's caps were perfectly instanced: identical gloss, identical grain, highlights landing at exactly the same spot on every cap. - Per-key wear, seeded by key code: fingers polish high-traffic caps, so the space bar, home row, and modifier caps get glossier crowns, calmer grain, and stronger highlight response, while the number row keeps its factory texture. - Per-key highlight jitter: a stable per-key seed tilts each crown fractionally, so highlights land slightly apart cap to cap. - A dim cool fill from the lower left mirrors a studio rig's second source, lifting shadow sides with a two-temperature specular response; it stays a whisper in the dark hold so the room stays black. All four behaviors ride the KeyboardStageTuning uniform block (fillLightStrength, fillSpecularStrength, wearStrength, highlightJitter) with live-tunable defaults; wearStrength/highlightJitter at 0 restore the prior uniform look. Metal goldens re-recorded and compared clean; keyboard-stage, tuning, and snapshot suites pass. Co-Authored-By: Claude Fable 5 --- .../KeyboardStage/Metal/KeyboardStage.metal | 57 ++++++++++++++++-- .../Metal/KeyboardStageMetalRenderer.swift | 40 +++++++++++- .../Metal/KeyboardStageTuning.swift | 19 ++++++ ...EntranceContractFrames.metal-dark-hold.png | Bin 1971595 -> 1929367 bytes ...EntranceContractFrames.metal-reveal-25.png | Bin 1973299 -> 1930920 bytes ...EntranceContractFrames.metal-reveal-50.png | Bin 1910021 -> 1882335 bytes ...EntranceContractFrames.metal-reveal-75.png | Bin 1176124 -> 1196244 bytes ...alEntranceContractFrames.metal-settled.png | Bin 973587 -> 982688 bytes .../KeyboardStageTuningTests.swift | 2 + 9 files changed, 111 insertions(+), 7 deletions(-) diff --git a/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStage.metal b/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStage.metal index b6029df15..ab6b56e93 100644 --- a/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStage.metal +++ b/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStage.metal @@ -9,6 +9,7 @@ struct KeyboardStageInstance { float4 parameters; // pressure, glow, opacity, border strength float4 treatment; // rotation, corner ratio, shadow margin in pixels, reserved float4 lighting; // illumination, transient glow, shadow strength, interaction level + float4 material; // wear level, stable per-key seed, reserved }; struct KeyboardStageUniforms { @@ -22,6 +23,7 @@ struct KeyboardStageUniforms { float4 tuningB; // graze mask start, rim peak, rim power, emphasis rim floor float4 tuningC; // well expansion, contact strength, cast strength, backlight float4 tuningD; // legend emission min/max, legend base min/max + float4 tuningE; // fill light, fill specular, wear strength, highlight jitter }; struct KeyboardStageLegendInstance { @@ -48,6 +50,7 @@ struct KeyboardStageVertexOut { float cornerRadiusPixels; float2 stageUV; float materialKind; + float2 material; }; struct KeyboardStageLegendVertexOut { @@ -111,6 +114,7 @@ vertex KeyboardStageVertexOut keypath_keyboard_stage_vertex( 0.5 - output.position.y * 0.5 ); output.materialKind = instance.treatment.w; + output.material = instance.material.xy; return output; } @@ -321,6 +325,15 @@ fragment float4 keypath_keyboard_stage_fragment( // instead of a seated key's bevel-and-well treatment. bool isChip = input.materialKind >= 1.5; float keyPress = isKey ? saturate(input.lighting.w) : 0.0; + // Real keycaps are not uniform: fingers polish high-traffic caps and no + // two caps sit at exactly the same angle. Wear and a stable per-key seed + // drive gloss, grain, and highlight variation; both derive from the key + // code, so the pattern never shifts between moments or launches. + float wear = isKey + ? saturate(input.material.x) * saturate(uniforms.tuningE.z) + : 0.0; + float materialSeedA = keypath_hash(float2(input.material.y, 0.37)); + float materialSeedB = keypath_hash(float2(input.material.y, 0.71)); bool reduceMotion = uniforms.entrance.y > 0.5; float pixelExposure = keypath_cinematic_exposure( uniforms.entrance.x, @@ -497,6 +510,13 @@ fragment float4 keypath_keyboard_stage_fragment( ); float faceMask = isKey ? (1.0 - bevel) * surfaceAlpha : 0.0; float2 crownNormal = faceCoordinate * float2(0.055, 0.075) * faceMask; + // Each cap sits at a fractionally different angle, so its highlight lands + // slightly apart from its neighbors' — the variation that reads as + // photographed hardware instead of instanced geometry. + crownNormal += (float2(materialSeedA, materialSeedB) - 0.5) + * 0.055 + * uniforms.tuningE.w + * faceMask; float3 normal = normalize(float3( distanceGradient.x * bevel * bevelDepth + crownNormal.x, distanceGradient.y * bevel * bevelDepth + crownNormal.y, @@ -516,7 +536,7 @@ fragment float4 keypath_keyboard_stage_fragment( ? sin(materialPixels.y * 1.82 + keypath_value_noise(materialPixels * 0.012) * 4.0) * 0.0038 : 0.0; - float microNormalStrength = isDeck ? 0.026 : 0.014; + float microNormalStrength = isDeck ? 0.026 : 0.014 * (1.0 - wear * 0.45); normal = normalize(normal + float3( microX * microNormalStrength, microY * microNormalStrength + brushedRidge, @@ -541,7 +561,10 @@ fragment float4 keypath_keyboard_stage_fragment( float viewDotHalf = saturate(halfVector.z); float roughnessVariation = keypath_value_noise(materialPixels * (isDeck ? 0.032 : 0.058)) - 0.5; float roughness = clamp( - (isDeck ? 0.31 : 0.47) + roughnessVariation * (isDeck ? 0.055 : 0.035), + (isDeck ? 0.31 : 0.47) + + roughnessVariation * (isDeck ? 0.055 : 0.035) + - wear * 0.11 + + (isKey ? (materialSeedA - 0.5) * 0.05 : 0.0), 0.12, 0.82 ); @@ -560,7 +583,11 @@ fragment float4 keypath_keyboard_stage_fragment( * microfacetVisibility / max(0.04, 4.0 * normalDotView * normalDotLight); float specularPower = isDeck ? 88.0 : (isKey ? 42.0 : 34.0); - float specular = pow(saturate(dot(normal, halfVector)), specularPower); + float keySpecularGain = isKey + ? (0.85 + materialSeedB * 0.30) * (1.0 + wear * 0.55) + : 1.0; + float specular = pow(saturate(dot(normal, halfVector)), specularPower) + * keySpecularGain; float bevelSpecular = pow( saturate(dot(normal, halfVector)), isDeck ? 112.0 : 64.0 @@ -581,7 +608,9 @@ fragment float4 keypath_keyboard_stage_fragment( // legible even under a saturated accent fill. surfaceColor *= mix(1.0, mix(1.05, 0.80, verticalPosition), pressure); float crownHighlight = isKey - ? pow(saturate(1.0 - length(faceCoordinate) * 0.52), 2.2) * faceMask + ? pow(saturate(1.0 - length(faceCoordinate) * 0.52), 2.2) + * faceMask + * (1.0 + wear * 1.1) : 0.0; float lowerBevelCatch = isKey ? bevel * smoothstep(0.05, 0.82, distanceGradient.y) @@ -613,6 +642,7 @@ fragment float4 keypath_keyboard_stage_fragment( surfaceColor += microfacetSpecular * neutralLight * normalDotLight + * keySpecularGain * mix(isDeck ? 0.032 : 0.018, isDeck ? 0.22 : 0.11, illumination); surfaceColor += neutralLight * crownHighlight @@ -665,6 +695,25 @@ fragment float4 keypath_keyboard_stage_fragment( * grazePool * (warmMaterialResponse + warmBevelResponse); + // A dim cool fill from the lower left mirrors the second source of a + // studio rig: it lifts the shadow side just enough to give highlights a + // two-temperature complexity instead of a single clinical lobe. + float3 fillDirection = normalize(float3(-0.55, 0.35, 0.62)); + float fillDiffuse = saturate(dot(normal, fillDirection)); + float3 fillHalfVector = normalize(fillDirection + float3(0.0, 0.0, 1.0)); + float fillSpecular = pow( + saturate(dot(normal, fillHalfVector)), + isDeck ? 60.0 : 40.0 + ); + // The dark room's materials sit near black in linear light, so the fill + // must stay a whisper there or it grays the whole scene; the settled + // light state can carry more of it invisibly. + float fillStrength = uniforms.tuningE.x * mix(0.10, 0.35, illumination); + surfaceColor += float3(0.52, 0.60, 0.76) + * fillStrength + * (fillDiffuse * (isDeck ? 0.050 : 0.034) + + fillSpecular * bevel * uniforms.tuningE.y); + float edge = smoothstep(-2.2, -0.15, distance) * surfaceAlpha; float edgeIllumination = mix(0.10, 0.72, illumination) + grazingBand * 0.56; // In the dark room the lesson key's rim reads as a white bevel catching diff --git a/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStageMetalRenderer.swift b/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStageMetalRenderer.swift index b9ad67b96..636ce30d6 100644 --- a/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStageMetalRenderer.swift +++ b/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStageMetalRenderer.swift @@ -10,6 +10,7 @@ private struct KeyboardStageGPUInstance { var parameters: SIMD4 var treatment: SIMD4 var lighting: SIMD4 + var material: SIMD4 } private struct KeyboardStageGPUUniforms { @@ -21,6 +22,7 @@ private struct KeyboardStageGPUUniforms { var tuningB: SIMD4 var tuningC: SIMD4 var tuningD: SIMD4 + var tuningE: SIMD4 } private struct KeyboardStageGPULegendInstance { @@ -199,7 +201,8 @@ final class KeyboardStageMetalRenderer: NSObject, MTKViewDelegate, @unchecked Se tuningA: currentTuning.gpuVectorA, tuningB: currentTuning.gpuVectorB, tuningC: currentTuning.gpuVectorC, - tuningD: currentTuning.gpuVectorD + tuningD: currentTuning.gpuVectorD, + tuningE: currentTuning.gpuVectorE ) var postUniforms = KeyboardStageGPUPostUniforms( sourceAndBloomSize: SIMD4( @@ -320,7 +323,8 @@ final class KeyboardStageMetalRenderer: NSObject, MTKViewDelegate, @unchecked Se tuningA: capturedTuning.gpuVectorA, tuningB: capturedTuning.gpuVectorB, tuningC: capturedTuning.gpuVectorC, - tuningD: capturedTuning.gpuVectorD + tuningD: capturedTuning.gpuVectorD, + tuningE: capturedTuning.gpuVectorE ) var postUniforms = KeyboardStageGPUPostUniforms( sourceAndBloomSize: SIMD4( @@ -934,6 +938,8 @@ final class KeyboardStageMetalRenderer: NSObject, MTKViewDelegate, @unchecked Se lighting: lighting.lighting(for: key), cornerRatio: 0.31, materialKind: 1, + wear: Self.wearLevel(for: key.keyCode), + seed: Self.materialSeed(for: key.keyCode), drawableSize: drawableSize ) }) @@ -1018,6 +1024,8 @@ final class KeyboardStageMetalRenderer: NSObject, MTKViewDelegate, @unchecked Se lighting: KeyboardStageSurfaceLighting, cornerRatio: Float, materialKind: Float, + wear: Float = 0, + seed: Float = 0.5, drawableSize: CGSize ) -> KeyboardStageGPUInstance { let width = max(1, Float(drawableSize.width)) @@ -1050,10 +1058,36 @@ final class KeyboardStageMetalRenderer: NSObject, MTKViewDelegate, @unchecked Se lighting.transientGlow, lighting.shadowStrength, interactionLevel - ) + ), + material: SIMD4(wear, seed, 0, 0) ) } + /// Fingers polish real keycaps unevenly: home-row and thumb-cluster caps + /// go glossy first, common letters follow, and the number row keeps its + /// factory texture. Values are relative gloss, tuned by feel. + private static func wearLevel(for keyCode: UInt16) -> Float { + switch keyCode { + case 49: 0.85 // space + case 0, 1, 2, 3, 38, 40, 37, 41: 0.75 // a s d f j k l ; + case 57, 36, 51: 0.65 // caps lock, return, delete + case 56, 60, 55, 54, 58, 61, 59, 62, 63: 0.55 // shift, command, option, control, fn + case 14, 17, 31, 34, 45, 15, 32, 4: 0.5 // e t o i n r u h + case 12, 13, 16, 5, 35, 8, 9, 7, 6, 11, 46, 43, 47, 44: 0.35 // remaining letters/punct + case 18 ... 29, 50: 0.15 // number row + default: 0.3 + } + } + + /// A stable per-key seed so material variation and highlight jitter stay + /// fixed across moments, camera changes, and app launches. + private static func materialSeed(for keyCode: UInt16) -> Float { + var value = UInt32(keyCode) &* 2_654_435_761 + value = (value ^ (value >> 16)) &* 2_246_822_519 + value = value ^ (value >> 13) + return Float(value % 10000) / 10000 + } + private func linearColor(_ color: KeyboardStageRGBA) -> SIMD4 { SIMD4( linearComponent(color.red), diff --git a/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStageTuning.swift b/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStageTuning.swift index c19ee4581..3f22f3714 100644 --- a/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStageTuning.swift +++ b/Sources/KeyPathAppKit/UI/KeyboardStage/Metal/KeyboardStageTuning.swift @@ -45,6 +45,13 @@ struct KeyboardStageTuning: Equatable, Sendable { /// Legend base-brightness range across the light axis in the dark hold. var legendBaseMin: Float = 0.84 var legendBaseMax: Float = 1.05 + /// Cool fill light from the lower left: overall and specular strength. + var fillLightStrength: Float = 0.8 + var fillSpecularStrength: Float = 0.12 + /// Per-key wear (polished crowns, calmer grain on high-traffic caps). + var wearStrength: Float = 1.0 + /// Per-key highlight jitter (each cap catches the light slightly apart). + var highlightJitter: Float = 1.0 static let `default` = KeyboardStageTuning() @@ -70,6 +77,10 @@ struct KeyboardStageTuning: Equatable, Sendable { var gpuVectorD: SIMD4 { SIMD4(legendEmissionMin, legendEmissionMax, legendBaseMin, legendBaseMax) } + + var gpuVectorE: SIMD4 { + SIMD4(fillLightStrength, fillSpecularStrength, wearStrength, highlightJitter) + } } extension KeyboardStageTuning: Codable { @@ -90,6 +101,10 @@ extension KeyboardStageTuning: Codable { case legendEmissionMax case legendBaseMin case legendBaseMax + case fillLightStrength + case fillSpecularStrength + case wearStrength + case highlightJitter } init(from decoder: any Decoder) throws { @@ -119,6 +134,10 @@ extension KeyboardStageTuning: Codable { legendEmissionMax = value(.legendEmissionMax, defaults.legendEmissionMax) legendBaseMin = value(.legendBaseMin, defaults.legendBaseMin) legendBaseMax = value(.legendBaseMax, defaults.legendBaseMax) + fillLightStrength = value(.fillLightStrength, defaults.fillLightStrength) + fillSpecularStrength = value(.fillSpecularStrength, defaults.fillSpecularStrength) + wearStrength = value(.wearStrength, defaults.wearStrength) + highlightJitter = value(.highlightJitter, defaults.highlightJitter) } /// Loads overrides from a JSON file; unknown keys are ignored and missing diff --git a/Tests/KeyPathSnapshotTests/__Snapshots__/FirstSuccessMetalStageSnapshotTests/testMetalEntranceContractFrames.metal-dark-hold.png b/Tests/KeyPathSnapshotTests/__Snapshots__/FirstSuccessMetalStageSnapshotTests/testMetalEntranceContractFrames.metal-dark-hold.png index ad7298413e97c5e206a90e70143cdbcaa52dca7a..b2b94c44b51eadc10531e25c71abeeaa94999a1b 100644 GIT binary patch literal 1929367 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�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

rn@wVN!AnV;PGCMon8ys!8 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

L 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