()
| 969 | // ── Liquid Response Settings Tab ──────────────────────────────────────────── |
| 970 | |
| 971 | function LiquidTab() { |
| 972 | const { |
| 973 | liquidResponseEnabled, |
| 974 | setLiquidResponseEnabled, |
| 975 | liquidMinDelta, |
| 976 | setLiquidMinDelta, |
| 977 | } = useStore() |
| 978 | |
| 979 | return ( |
| 980 | <div className="space-y-5"> |
| 981 | <div> |
| 982 | <h3 className="text-lg font-semibold mb-1">Liquid Response</h3> |
| 983 | <p className="text-sm theme-secondary mb-4"> |
| 984 | Universal delivery layer that controls <em>how</em> responses arrive. When enabled, you see |
| 985 | the best response so far immediately, with live morphing upgrades as better results come in. |
| 986 | Works independently of which strategy generates the content. |
| 987 | </p> |
| 988 | </div> |
| 989 | |
| 990 | {/* Master toggle */} |
| 991 | <ToggleSetting |
| 992 | label="Enable Liquid Response" |
| 993 | description="Show the best available response immediately and morph to better ones as they arrive" |
| 994 | enabled={liquidResponseEnabled} |
| 995 | onChange={setLiquidResponseEnabled} |
| 996 | /> |
| 997 | |
| 998 | {liquidResponseEnabled && ( |
| 999 | <> |
| 1000 | {/* Min Delta slider */} |
| 1001 | <div> |
| 1002 | <div className="flex items-center justify-between mb-2"> |
| 1003 | <h4 className="font-semibold text-sm">Minimum Improvement Threshold</h4> |
| 1004 | <span className="text-sm font-mono text-cyan-400 font-bold">{liquidMinDelta} pts</span> |
| 1005 | </div> |
| 1006 | <input |
| 1007 | type="range" |
| 1008 | min={1} |
| 1009 | max={50} |
| 1010 | step={1} |
| 1011 | value={liquidMinDelta} |
| 1012 | onChange={(e) => setLiquidMinDelta(parseInt(e.target.value))} |
| 1013 | className="w-full h-1.5 rounded-lg appearance-none cursor-pointer |
| 1014 | bg-theme-accent accent-cyan-500" |
| 1015 | /> |
| 1016 | <div className="flex justify-between text-[10px] theme-secondary font-mono mt-1"> |
| 1017 | <span>1 (upgrade often)</span> |
| 1018 | <span>50 (only major jumps)</span> |
| 1019 | </div> |
| 1020 | <p className="text-xs theme-secondary mt-2"> |
| 1021 | A new response must beat the current leader by at least this many score points to trigger |
| 1022 | a visible upgrade. Lower values show more intermediate upgrades; higher values only morph |
| 1023 | for significant quality jumps. |
| 1024 | </p> |
| 1025 | </div> |
| 1026 | |
| 1027 | {/* Strategy interactions */} |
| 1028 | <div> |
nothing calls this directly
no outgoing calls
no test coverage detected