fix(skin): improve buffering, overlays, and input feedback (#1547)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Sam Potts
2026-07-01 09:49:12 +10:00
committed by GitHub
co-authored by Cursor
parent 7c3be22e8a
commit 0de3fef878
55 changed files with 864 additions and 544 deletions
@@ -7,7 +7,7 @@ import { useState, useSyncExternalStore } from 'react';
import { useDestroy } from '../../utils/use-destroy';
import { useIndicatorVisibility } from './use-indicator-visibility';
import { useInputActionSubscription } from './use-input-action-subscription';
import { useRenderedIndicatorState } from './use-rendered-indicator-state';
import { type RenderedIndicatorOptions, useRenderedIndicatorState } from './use-rendered-indicator-state';
interface InputIndicatorRootCore<IndicatorState extends IndicatorLifecycleState, Props> {
readonly state: StoreState<IndicatorState>;
@@ -19,7 +19,8 @@ interface InputIndicatorRootCore<IndicatorState extends IndicatorLifecycleState,
export function useInputIndicatorRoot<IndicatorState extends IndicatorLifecycleState, Props>(
createCore: () => InputIndicatorRootCore<IndicatorState, Props>,
props: Props
props: Props,
options?: RenderedIndicatorOptions
) {
const [core] = useState(createCore);
useDestroy(core);
@@ -36,5 +37,5 @@ export function useInputIndicatorRoot<IndicatorState extends IndicatorLifecycleS
() => core.state.current
);
return useRenderedIndicatorState(currentState);
return useRenderedIndicatorState(currentState, options);
}