- Add dual-stream calibration: phone sends both raw and cropped preview frames during calibration so users can see what practice will look like - Add "Adjust" button to modify existing manual calibration without resetting to auto-detection first - Hide calibration quad editor overlay when not in calibration mode - Fix rotation buttons to update cropped preview immediately - Add rate limiting (10fps) for cropped preview frames during calibration - Fix multiple bugs preventing dual-stream mode from working: - Don't mark calibration as complete during preview mode - Don't stop detection loop when receiving preview calibration - Sync refs properly in frame mode change effects Also includes accumulated formatting and cleanup changes. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
70 lines
1.7 KiB
JSON
70 lines
1.7 KiB
JSON
{
|
|
"$schema": "https://biomejs.dev/schemas/2.3.8/schema.json",
|
|
"formatter": {
|
|
"enabled": true,
|
|
"indentStyle": "space",
|
|
"indentWidth": 2,
|
|
"lineWidth": 100
|
|
},
|
|
"linter": {
|
|
"enabled": true,
|
|
"rules": {
|
|
"recommended": true,
|
|
"a11y": {
|
|
"useButtonType": "off",
|
|
"noSvgWithoutTitle": "off",
|
|
"noLabelWithoutControl": "off",
|
|
"noStaticElementInteractions": "off",
|
|
"useKeyWithClickEvents": "off",
|
|
"useSemanticElements": "off"
|
|
},
|
|
"suspicious": {
|
|
"noExplicitAny": "off",
|
|
"noArrayIndexKey": "off",
|
|
"noImplicitAnyLet": "off",
|
|
"noAssignInExpressions": "off",
|
|
"useIterableCallbackReturn": "off"
|
|
},
|
|
"style": {
|
|
"useNodejsImportProtocol": "off",
|
|
"noNonNullAssertion": "off",
|
|
"noDescendingSpecificity": "off"
|
|
},
|
|
"correctness": {
|
|
"noUnusedVariables": "off",
|
|
"noUnusedFunctionParameters": "off",
|
|
"useUniqueElementIds": "off",
|
|
"noChildrenProp": "off",
|
|
"useExhaustiveDependencies": "off",
|
|
"noInvalidUseBeforeDeclaration": "off",
|
|
"useHookAtTopLevel": "off",
|
|
"noNestedComponentDefinitions": "off",
|
|
"noUnreachable": "off"
|
|
},
|
|
"security": {
|
|
"noDangerouslySetInnerHtml": "off"
|
|
},
|
|
"performance": {
|
|
"noAccumulatingSpread": "off"
|
|
}
|
|
}
|
|
},
|
|
"files": {
|
|
"ignoreUnknown": true
|
|
},
|
|
"vcs": {
|
|
"enabled": true,
|
|
"clientKind": "git",
|
|
"useIgnoreFile": true,
|
|
"defaultBranch": "main"
|
|
},
|
|
"javascript": {
|
|
"formatter": {
|
|
"quoteStyle": "single",
|
|
"jsxQuoteStyle": "double",
|
|
"semicolons": "asNeeded",
|
|
"trailingCommas": "es5"
|
|
}
|
|
}
|
|
}
|