Repository navigation
feat: data-oriented input sources - #118
Merged
Merged
Conversation
…as Safari gestures
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.
Reworks input into small per-frame data sources, so cameras can be driven by the mouse, touch, wheel and pinch, or by any data.
Changes
InputAxis.setValuejumps to a value without easing.VirtualCamera.inputAxescollects the axes of all its pieces.<InputController>placed directly in<VirtualCamera>uses them.wheelandpinch.src/input-sources/. Lint keeps that folder free of klipp imports.InputSystemis a thin layer over them.Fixes
frameloop="demand"wakes on every input event, including the wheel.touch-action/user-selectback after disconnecting.wheel/trackpadPinchis mapped.Breaking
InputAxisController→InputControllerDom,lastInput→input.InputControllerConfig,InputSourceMapping, …) are exported from@kvvasuu/klipp, no longer from/dom.ConsumedInput.gestureZoomDeltais now the change inln(scale).ConsumedInput.touchPinchDelta,gestureZoomDeltaandwheelZoomDeltaare replaced by onepinchDelta, the change inln(scale)from fingers or a trackpad.Benches
Input benches are rewritten around a fake DOM. All benches warm up before
yield, since labs otherwise decides on batching from cold first calls and reports inflated times.