fix: Zeilen-Regularisierung im Overlay ueberspringen (generisch fuer gemischte Inhalte)
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 49s
CI / test-go-edu-search (push) Successful in 31s
CI / test-python-klausur (push) Failing after 2m21s
CI / test-python-agent-core (push) Successful in 20s
CI / test-nodejs-website (push) Successful in 26s

Seiten mit Info-Boxen (andere Zeilenhoehe) fuehren dazu, dass _regularize_row_grid
die Zeilenpositionen verzerrt. Neuer skip_regularize Parameter nutzt stattdessen
die gap-basierten Zeilen, die der tatsaechlichen Seitengeometrie folgen.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-11 08:29:06 +01:00
parent 2df2a01a8b
commit b91f799ccf
4 changed files with 23 additions and 9 deletions

View File

@@ -8,9 +8,11 @@ const KLAUSUR_API = '/klausur-api'
interface StepRowDetectionProps {
sessionId: string | null
onNext: () => void
/** Skip word-center regularization (better for mixed-content pages with boxes) */
skipRegularize?: boolean
}
export function StepRowDetection({ sessionId, onNext }: StepRowDetectionProps) {
export function StepRowDetection({ sessionId, onNext, skipRegularize = false }: StepRowDetectionProps) {
const [rowResult, setRowResult] = useState<RowResult | null>(null)
const [detecting, setDetecting] = useState(false)
const [error, setError] = useState<string | null>(null)
@@ -46,7 +48,10 @@ export function StepRowDetection({ sessionId, onNext }: StepRowDetectionProps) {
setDetecting(true)
setError(null)
try {
const res = await fetch(`${KLAUSUR_API}/api/v1/ocr-pipeline/sessions/${sessionId}/rows`, {
const rowsUrl = skipRegularize
? `${KLAUSUR_API}/api/v1/ocr-pipeline/sessions/${sessionId}/rows?skip_regularize=true`
: `${KLAUSUR_API}/api/v1/ocr-pipeline/sessions/${sessionId}/rows`
const res = await fetch(rowsUrl, {
method: 'POST',
})
if (!res.ok) {
@@ -60,7 +65,7 @@ export function StepRowDetection({ sessionId, onNext }: StepRowDetectionProps) {
} finally {
setDetecting(false)
}
}, [sessionId])
}, [sessionId, skipRegularize])
const handleGroundTruth = useCallback(async (isCorrect: boolean) => {
if (!sessionId) return