639b0b7f59
Add native IK-style capture processing, Artifact Inventory, explicit promotion and single-result review. Confirm the three live OCR corrections in the eval corpus and preserve extraction/value separation.
140 lines
7.4 KiB
Markdown
140 lines
7.4 KiB
Markdown
# Current App Status
|
|
|
|
Updated: 2026-07-09
|
|
|
|
This document is the short current-state entry point. For deeper architecture
|
|
details see [ARCHITECTURE.md](ARCHITECTURE.md). For the scanner and inventory
|
|
roadmap see [scanner-results-inventory-roadmap.md](scanner-results-inventory-roadmap.md).
|
|
For live scanner runbooks see [AUTOMATION_LIVE_SCAN.md](AUTOMATION_LIVE_SCAN.md).
|
|
|
|
## Summary
|
|
|
|
The app is now an Artifact-first local scanner with a native high-speed capture
|
|
path validated at 20/50/100-item scale in the current live session. The current product scope is intentionally limited to
|
|
artifacts. Weapons, materials, and character details may exist as vendored IK
|
|
catalog data, but they are not active scanner features while their values are
|
|
not scanned.
|
|
|
|
Electron/React should act as the visual control and status surface. The C#
|
|
helper owns fast Genshin focus, click, scroll, and card-crop capture for the
|
|
native path. OCR, parsing, review, promotion, and value evaluation remain
|
|
separate downstream stages so capture speed is not blocked by UI work.
|
|
|
|
## What Works Now
|
|
|
|
- Smart Capture can read the currently opened artifact detail view through
|
|
focused crops, OCR preprocessing, deterministic parsing, confidence, and
|
|
notes.
|
|
- The visible-inventory auto-scan path is the current stable production
|
|
baseline: preflight, grid detection, read-only tile selection, detail
|
|
verification, OCR, parse, store/review, scroll, and summary.
|
|
- The native IK-style artifact capture path is wired through the C# helper.
|
|
It captures visible 16:9 Artifact inventory detail card crops and writes a
|
|
self-contained run directory.
|
|
- Native runs write `manifest.json`, `capture-jobs.jsonl`, and `status.json`.
|
|
Post-capture processing can consume the job file and write
|
|
`scan-results.json` plus `processing-report.json`.
|
|
- Vendored Inventory Kamera `inventorylists` are copied under
|
|
`data/ik-inventorylists` and packaged as scanner reference data. Current
|
|
version is `6.7.0`.
|
|
- Native artifact post-processing matches parsed artifacts against IK artifact
|
|
set/piece/slot data and sends conflicts to review.
|
|
- The scan page has a compact latest-results rail. Native parsed results are
|
|
labeled as `Geparst`, persisted results as stored, uncertain results as
|
|
review, and value evaluation as `Wert offen`.
|
|
- The Inventory view can browse native scan results, stored artifacts, and
|
|
snapshot fallback rows. It shows native crop previews, field confidence,
|
|
IK/GOOD metadata, dry-run promotion status, and a per-result
|
|
`Naechster Schritt`.
|
|
- The Inventory view now shows an Artifact-only pipeline strip for scope,
|
|
native capture, OCR queue, review gate, promotion, and evidence.
|
|
- GOOD import/export, review samples, local text replacements, scanner
|
|
diagnostics, OCR eval, and local artifact storage exist.
|
|
|
|
## What Was Just Done
|
|
|
|
- The active UI scope was narrowed to Artifact scanning only.
|
|
- Weapon, material, and character-detail IK catalog coverage was removed from
|
|
the primary Inventory feature surface so it cannot look like implemented scan
|
|
support.
|
|
- Native result labels were made more honest:
|
|
`Geparst` means extracted, `Stored` means persisted, `Review` means unsafe,
|
|
and `Wert offen` means artifact value evaluation has not run yet.
|
|
- The Inventory detail panel gained a `Naechster Schritt` card:
|
|
ready for promotion, review first, already in store, blocked, or value later.
|
|
- New filters were added for native rows and promotable rows.
|
|
- Native 20/50/100-item dry runs were completed. A live OCR decimal-loss bug
|
|
and missing native result timestamp were fixed and regression-tested.
|
|
- Native Inventory results now support explicit single-result promotion with a
|
|
second confirmation, authoritative main-process revalidation, duplicate
|
|
detection, store write, scan-result update, and `promotion-log.jsonl`.
|
|
- Review-required native results now have an inline editor for identity,
|
|
main stat/value, level, substats, equipped state, lock state, and notes.
|
|
Approve requires IK identity validation, canonical main-value validation,
|
|
and legal substat rolls; Reject keeps the result blocked. Approved cases
|
|
write `review-log.jsonl` and reuse `review-samples.jsonl` for OCR eval export.
|
|
- The three real Review rows from the 100-item native run were manually
|
|
corrected and approved through that workflow. The run now has zero remaining
|
|
Review rows, all three corrections reached the eval candidate pipeline, and
|
|
the confirmed cases are permanent OCR regressions.
|
|
- The parser can now repair the confirmed dropped/extra-digit substat cases at
|
|
+20 only when one legal 5-star roll-count combination exists. Ambiguous OCR
|
|
stays reviewable.
|
|
- Project docs and roadmap were updated to state Artifact-only scope and the
|
|
next scanner/product priorities.
|
|
|
|
## Current Evidence
|
|
|
|
- `npm run lint` passed.
|
|
- `npm test` passed with `252` tests.
|
|
- `npm run build` passed.
|
|
- `git diff --check` passed; only existing CRLF warnings were reported for
|
|
`electron/services/inputHelperPowerShellFallback.ts` and `src/styles/base.css`.
|
|
- Native IK dry runs on 2026-07-09 completed at 20, 50, and 100 items with
|
|
complete crop/job/result counts, `0` processing errors, and `persisted: false`.
|
|
The 100-item run captured `100/100` across 4 pages in `24,673 ms`, parsed
|
|
`100/100`, and safely routed 3 OCR value losses into Review. See
|
|
[NATIVE_SCANNER_VALIDATION_2026-07-09.md](NATIVE_SCANNER_VALIDATION_2026-07-09.md).
|
|
- The older visible-inventory path has broader live evidence, including a
|
|
100-artifact run with `100/100` verified and parsed, `98` stored,
|
|
`2` duplicates, `0` review samples, `0` misses, and `393 ms/artifact`.
|
|
|
|
## Known Limits
|
|
|
|
- Native IK-style capture has current-session scale evidence, but later-session
|
|
repeatability and packaged-app evidence are still open.
|
|
- The native path is limited to visible 16:9 Artifact inventory with a visible
|
|
detail card.
|
|
- Native post-capture results do not persist by default. Clean selected results
|
|
can now be promoted explicitly after a second UI confirmation.
|
|
- Artifact value scoring and upgrade projection are not implemented for native
|
|
results yet.
|
|
- Review/edit/approve is implemented for one selected native result at a time.
|
|
Batch review is intentionally not available.
|
|
- The `333 ms/artifact` target for 3 artifacts/second is not proven.
|
|
- The native capture worker exceeded 4 artifacts/second, but the smoke runner
|
|
still captures and processes sequentially; 3 artifacts/second end to end is
|
|
therefore not proven.
|
|
- Weapons, materials, and character details are intentionally ignored until
|
|
their values are actually scanned.
|
|
|
|
## What Is Next
|
|
|
|
1. Add Artifact value evaluation after extraction is trustworthy. Keep value
|
|
reasons separate from OCR confidence.
|
|
2. Add detail-level value reasons and optional upgrade projection. Projection
|
|
must stay labeled as probabilistic.
|
|
3. Confirm packaged-app behavior for the C# helper, IK lists, preload bridge,
|
|
native crop previews, and smoke commands.
|
|
4. Repeat the native 20/50/100 evidence in a later session to prove repeatability.
|
|
5. Return to recommendations only after native artifact ingestion, promotion,
|
|
review, value scoring, and repeatability are strong enough.
|
|
|
|
## Not Next
|
|
|
|
- Do not prioritize weapons, materials, or character details yet.
|
|
- Do not auto-persist native scan results before review/promotion is safe.
|
|
- Do not claim Inventory Kamera parity until broad native Artifact runs prove
|
|
repeatable speed and quality.
|
|
- Do not merge extraction confidence and artifact value into one UI score.
|