feat(scanner): complete localized artifact quality checkpoint
This commit is contained in:
+25
-1
@@ -27,8 +27,23 @@ This document defines project engineering standards.
|
||||
- Avoid long, overfilled cards on scanner pages.
|
||||
- Do not collapse OCR/extraction confidence and artifact value into one ambiguous UI state; uncertain reads should be visibly `Review`.
|
||||
- Artifact value pills should be short, stable labels backed by deterministic data, with detailed reasons behind click-through detail.
|
||||
- The design direction is dark purple fintech glassmorphism with premium, focused controls.
|
||||
- The design direction is a premium, cinematic Galaxy system with restrained
|
||||
glass surfaces, semantic contrast, and focused controls; reuse shared tokens
|
||||
instead of feature-local state colors.
|
||||
- Use skeletons for initial content layout, inline spinners for bounded work,
|
||||
and toasts only for explicit mutation outcomes. Durable progress, blockers,
|
||||
and errors stay in the owning view.
|
||||
- Respect `prefers-reduced-motion`, keep focus-visible styling intact, and never
|
||||
rely on color or animation as the only status signal.
|
||||
- Disable buttons when their required data does not exist.
|
||||
- Route user-facing renderer copy through `src/i18n`. English is the default
|
||||
application locale; German is an explicit settings choice. Do not use an app
|
||||
language switch to imply that another Genshin OCR/capture language is
|
||||
supported.
|
||||
- Keep stable `data-*` hooks for scripted renderer acceptance. Tests should not
|
||||
depend on localized visible strings when a semantic hook is available.
|
||||
- A destructive-looking local-data control must say what it removes and state
|
||||
that it does not change Genshin. Require confirmation before local deletion.
|
||||
|
||||
## Scanner Rules
|
||||
|
||||
@@ -36,6 +51,9 @@ This document defines project engineering standards.
|
||||
- Confidence and raw OCR details must remain inspectable.
|
||||
- Heuristics should fail safely into unknown fields or review notes.
|
||||
- Do not add irreversible game actions.
|
||||
- Treat global aliases as unsafe when the OCR text is ambiguous across pieces.
|
||||
Canonicalize a partial artifact name only when independent high-confidence
|
||||
field evidence, such as a direct slot read, leaves one valid match.
|
||||
- Keep auto-entry choreography separate from scan-loop execution. Entry code may navigate to a readable artifact detail state; loop code should process verified grid targets.
|
||||
|
||||
## TypeScript Rules
|
||||
@@ -49,6 +67,12 @@ This document defines project engineering standards.
|
||||
- Use unit tests for parser and scoring logic.
|
||||
- Use build/type checks for Electron IPC contract changes.
|
||||
- Use manual Smart Capture smoke tests for crop and capture changes.
|
||||
- For native timing claims, validate a complete `run-timing.json` and derive
|
||||
end-to-end time from one request-to-reconciliation interval. Never add
|
||||
overlapping capture and processing durations.
|
||||
- Test local native-result removal for active-run blocking, tombstone filtering,
|
||||
raw-evidence preservation, crop-path containment, and exact Store-record
|
||||
scope.
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user