Skip to content

[codex] Add jelly demos and improve JellySwitch performance#19

Open
jamesrochabrun wants to merge 17 commits into
mainfrom
codex/jellyswitch-performance
Open

[codex] Add jelly demos and improve JellySwitch performance#19
jamesrochabrun wants to merge 17 commits into
mainfrom
codex/jellyswitch-performance

Conversation

@jamesrochabrun
Copy link
Copy Markdown
Owner

@jamesrochabrun jamesrochabrun commented May 7, 2026

Summary

  • Include the full jroch-cards branch context needed by the demo target, including MotionManager, the metal avatar/cosmic card demo work, and JellySlider.
  • Add the JellySlider shader, ShaderKitUI component, and demo wiring.
  • Pause the JellySwitch animation timeline once the spring state has settled so it stops rendering every frame while idle.
  • Call the JellySwitch shader directly from the component to avoid the generic shader modifier's extra drawing pass.
  • Add conservative Metal fast paths for flat ground pixels and rays that cannot intersect the jelly volume.

Why

The JellySwitch optimization depends on the active branch context rather than bare main: the demo target on main was missing support files such as MotionManager, so the narrower PR did not represent the branch that actually compiled locally. This PR now carries the full work from jroch-cards plus the JellySwitch performance commit.

Validation

  • swift build passes.
  • xcodebuild -project ShaderKitDemo.xcodeproj -scheme ShaderKitDemo -destination 'generic/platform=iOS Simulator' build passes.
  • git diff --check origin/main..HEAD passes.
  • swift test currently fails on an existing version assertion: ShaderKit.version is 2.0.0, while ShaderKitTests.swift expects 1.0.0.

@jamesrochabrun jamesrochabrun changed the title [codex] Improve JellySwitch performance [codex] Add jelly demos and improve JellySwitch performance May 7, 2026
@jamesrochabrun jamesrochabrun marked this pull request as ready for review May 7, 2026 21:49
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