chore: initialize repository baseline

Import the existing Electron + React + TypeScript app as the version-control
baseline before the scanner rework (C# input/capture sidecar, resolution-anchored
layout profiles, OCR preprocessing, eval harness, rescan-merge, GOOD interop).

Housekeeping in this commit:
- Remove orphaned temp_inputhelper_block.ts (duplicate of the input-helper script).
- Ignore .claude/scheduled_tasks.lock local session state.
- Add .gitattributes to normalize line endings (LF in repo).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
AzuTear
2026-07-05 20:31:01 +02:00
commit e76d88e0c7
147 changed files with 26220 additions and 0 deletions
+95
View File
@@ -0,0 +1,95 @@
export type ArtifactSlot = "flower" | "plume" | "sands" | "goblet" | "circlet";
export type ArtifactVerdict =
| "keep"
| "maybe_level"
| "character_specific"
| "trash_candidate"
| "needs_review";
export type ScanSource = "mock" | "screen" | "overlay" | "good_import" | "manual";
export interface ArtifactSubstat {
key: string;
value: number;
unit: "%" | "flat";
}
export interface Artifact {
id: string;
setKey: string;
setName: string;
slot: ArtifactSlot;
rarity: 4 | 5;
level: number;
mainStat: string;
substats: ArtifactSubstat[];
equipped?: string;
locked: boolean;
source: ScanSource;
confidence: number;
lastSeenAt: string;
}
export interface Character {
id: string;
name: string;
owned: boolean;
level: number;
constellation: number;
rolePreference: CharacterRole;
confidence: number;
}
export type CharacterRole =
| "main_dps"
| "sub_dps"
| "support"
| "healer"
| "reaction";
export interface CharacterPreset {
characterId: string;
role: CharacterRole;
recommendedSets: string[];
alternativeSets: string[];
mainStats: Partial<Record<ArtifactSlot, string[]>>;
substatWeights: Record<string, number>;
erTarget?: number;
explanation: string;
}
export interface Recommendation {
artifactId: string;
verdict: ArtifactVerdict;
score: number;
bestCharacters: string[];
reason: string;
}
export interface BuildSuggestion {
id: string;
characterId: string;
label: string;
quality: "recommended_set" | "alternative_set" | "rainbow";
artifactIds: string[];
score: number;
warnings: string[];
explanation: string;
}
export interface ScanEvent {
id: string;
type: "environment" | "character" | "artifact" | "review" | "complete";
label: string;
detail: string;
confidence?: number;
}
export interface AppSnapshot {
artifacts: Artifact[];
characters: Character[];
recommendations: Recommendation[];
builds: BuildSuggestion[];
scanEvents: ScanEvent[];
}