v0.3.0
Windows-Anwendung, keine Installation nötig: PoE-VIEW2.exe herunterladen und starten.
Hinweis: Die Datei ist nicht codesigniert. Windows SmartScreen und Virenscanner warnen deshalb vor einem unbekannten Herausgeber — das ist bei unsignierten PyInstaller-Builds normal.
Behoben
- Ein Spalten-Filter auf der Tab-Spalte (Header-Rechtsklick) überlebte
bisher den Wechsel von der Charakter- zur Truhen-Ansicht (oder zwischen
zwei Truhenfächern) — passte der Filterwert dort auf keinen einzigen
Fach-/Slot-Namen, verschwanden alle Items kommentarlos, ohne sichtbaren
Hinweis (die Tab-Spalte ist im Einzelfach-View automatisch ausgeblendet,
der 🔍-Marker also unsichtbar). Ein solcher Filter wird jetzt beim
tatsächlichen Wechsel der angezeigten Quelle automatisch entfernt.
Filter auf anderen Spalten (Name, Base, Value, …) bleiben unverändert
über einen View-Wechsel hinweg erhalten. - Refresh-Modus "Stash": bereits geladene Remove-only-Fächer (können nur
schrumpfen, nie wachsen) wurden im Rundlauf wie jedes andere gefüllte
Fach behandelt und damit unnötig oft neu geladen. Sie kommen jetzt nur
noch dran, wenn es sonst kein anderes gefülltes Fach gibt — die gleiche
Nachrangigkeit, die der Auto-Refresh-Modus schon hatte. - Preis-Anzeige: Ein poe.ninja-Abruf ohne eine einzige Preiszeile (z. B.
ein transienter Ausrutscher) wurde bislang wie ein normaler Erfolg 6
Stunden lang gecacht — eine Liga konnte dadurch stundenlang ohne jeden
Preis dastehen, obwohl poe.ninja längst wieder normal antwortete. Ein
solches Ergebnis läuft jetzt nach 1 Stunde statt 6 Stunden ab.
Hinweis: SSF-Ligen (z. B. "Solo Self-Found") werden von poe.ninja
grundsätzlich nicht getrackt — ohne Spieler-Handel gibt es dort keine
Handelsaktivität, aus der sich Preise ableiten ließen. Das ist eine
Grenze der Datenquelle, kein Fehler in PoE-VIEW2. - "Load All Tabs" wirkte bei großen Truhen eingefroren: Der
Fortschrittsbalken zählte Truhenfächer, die Arbeit fällt aber pro Abruf
an. Ein Map-Stash bündelt hunderte Sektionen in einem einzigen Fach —
die Anzeige stand dadurch über eine Stunde auf derselben Zahl. Der
Balken läuft jetzt über die tatsächlichen Abrufe, das Label nennt
zusätzlich das Fach ("Section 128 of 1088 · tab 3 of 519") und eine
geschätzte Restzeit. - Unique-Stash: Die selbst vergebenen Fach-Namen ("Ring", "Sceptre", …)
gingen verloren, sobald das Eltern-Fach erneut geladen wurde — nach
einem "Load All Tabs"-Lauf hießen dadurch fast alle Unterfächer wieder
"UniqueStash". Die Namen bleiben jetzt erhalten; bereits betroffene
Caches füllen sich beim nächsten Laden des Eltern-Fachs wieder auf,
soweit die Items noch zwischengespeichert sind. - Unique-Stash: Kinder eines Remove-only-Tabs zeigten nur noch
"(Remove-only)" statt der Kategorie ("Ring (Remove-only)") — der
GGG-Suffix im Namensfeld wurde fälschlich als vollständiger Name
gewertet. - Rate-Limit-Dashboard zeigt jetzt sofort "(Paused)" neben dem
Policy-Namen, sobald der Refresh-Modus "Pause" aktiv ist. - Rate-Limit-Dashboard: der angezeigte Verbrauch je Regel zeigt jetzt immer
den zuletzt von GGG gemeldeten Rohwert. Reale Header-Logs zeigten, dass
GGGs Zähler nicht gleitend pro Treffer altert, sondern in Blöcken von
~60 Sekunden auf einmal sinkt — die vorherige, feiner gedachte
Interpolation traf dadurch systematisch daneben. Die tatsächliche
Warte-Entscheidung war davon nie betroffen und bleibt unverändert
konservativ. - Die Refresh-Modi "Single" und "Stash" liefen nach einiger Zeit in eine
fünfminütige Zwangspause. Ihr gleichmäßiger Takt war so berechnet, dass
er das Rate-Limit gerade eben nicht reißt — er unterstellte dabei aber,
der einzige Verbraucher zu sein. Klicks auf noch nicht geladene Fächer,
Liga-Wechsel und die Abrufe direkt nach dem Programmstart füllen dasselbe
Kontingent jedoch mit, wodurch die verbleibende Marge von einer einzigen
Anfrage sofort aufgebraucht war. Der Takt pausiert jetzt selbsttätig,
sobald das Fenster zu voll ist, und nennt den Grund in der Statuszeile. - Liga-Wechsel trugen weiterhin zur 300s-Zwangspause bei: der Abruf der
Fach-LISTE der neu gewählten Liga lief ungebremst, und eine Lücke im
gerade erst gebauten Rate-Limit-Schutz ließ auch den Refresh-Modus-Takt
direkt danach ungebremst durch. Beides behoben — der Listen-Abruf
entfällt jetzt bei zu vollem Fenster (der gecachte Baum bleibt sichtbar),
und der Refresh-Modus-Schutz greift jetzt auch unmittelbar nach einem
Liga- oder Modus-Wechsel zuverlässig. - "Load All Tabs", "Refresh" und der Refresh-Modus-Umschalter blieben ohne
gültigen Login anklickbar, solange noch ein Daten-Cache aus einer
früheren Sitzung sichtbar war — der Fortschrittsdialog von "Load All
Tabs" öffnete sich dann, hing aber für immer bei 0 %, weil der Job vom
Worker lautlos verworfen wurde. Diese drei Online-Funktionen sind jetzt
gesperrt, solange kein Login besteht; Stash-Baum, Charakterliste und
Liga-Auswahl bleiben zum Durchsuchen des Caches weiter nutzbar.
Hinzugefügt
- Frei konfigurierbare Item-Nachschlagewerke: Über den Settings-Dialog
(Reiter "External Tools") lassen sich eigene Seiten mit Name und
URL-Vorlage eintragen, in der{slug}durch den Item-Namen ersetzt
wird. Ein Rechtsklick auf ein Item öffnet die so hinterlegten Seiten.
Die Liste ist ab Werk leer — PoE-VIEW2 bringt bewusst keine fremde
Seite mit und kontaktiert von sich aus keine; wer einen Eintrag anlegt,
trifft diese Entscheidung selbst. Der Slug berücksichtigt dabei, dass
nur Uniques einen eigenständig auffindbaren Namen haben: bei allen
anderen Seltenheiten wird der Basis-Typ verlinkt statt eines zufällig
gewürfelten Namens. - Charakter-Item-Verlauf: ein neues, aufziehbares Panel unterhalb der
Item-Tabelle protokolliert die letzten 120 Items, die neu im
Charakter-Inventar aufgetaucht oder daraus verschwunden sind (↑/↓) —
über alle Charaktere hinweg, unabhängig davon, welcher gerade angezeigt
wird. Damit lässt sich kurz nachschauen, was man gerade in die Truhe
gelegt, verkauft oder gehandelt hat. Eigenes, kompaktes Spaltenformat
(Zeit, Charakter, Ereignis, Icon, Name, Base, Stack, Value);
standardmäßig auf eine Zeile eingeklappt, per Ziehen am Splitter
aufziehbar. Rechtsklick/Doppelklick funktionieren wie in der
Haupttabelle (externe Tools, vergrößerte Ansicht). - Charakter-Ansicht: Beim Beobachten eines Charakter-Inventars (z. B. per
Zonenwechsel-Trigger, siehe unten) werden Zeilen, die sich seit dem
letzten Refresh geändert haben oder neu hinzugekommen sind, türkis
hervorgehoben. Aus dem Inventar verschwundene Items werden nicht
sofort entfernt, sondern für einen Refresh-Zyklus grau und
durchgestrichen angezeigt. - Optionaler Zonenwechsel-Trigger für den Live-Refresh (Settings-Dialog,
Reiter "Zone Refresh", standardmäßig AUS): PoE-VIEW2 kann Peters lokale
Client.txt beobachten (rein lesend, Pfad muss selbst eingetragen
werden) und lädt die gerade offene Truhe/den Charakter sofort neu,
sobald PoE einen Zonenwechsel meldet — GGGs Stash-API liefert neue
Daten offenbar ohnehin erst danach, gezieltes Nachladen spart also
Rate-Limit-Budget gegenüber reinem Zeit-Takt. - Neuer Settings-Dialog (⚙-Button in der Toolbar) mit einem Reiter
"Columns": welche Item-Tabellen-Spalten sichtbar sind und in welcher
Reihenfolge lässt sich dort per Häkchen und Drag & Drop einstellen,
zusätzlich zum bisherigen schnellen Ein/Aus-Schalter im
Header-Rechtsklickmenü. Beide Wege teilen sich denselben gespeicherten
Stand. - Fenster lässt sich nicht mehr kleiner als 800x600 ziehen — darunter
wurden Bedienelemente in der Toolbar (u. a. das Suchfeld) hinter einem
Overflow-Pfeil versteckt. - Doppelklick auf ein Item öffnet eine vergrößerte Ansicht: großes Icon
und der vollständige Property-/Mod-Text ohne die Zeilen-Kürzung des
kompakten Detail-Panels. Bei Divination Cards zeigt sie das echte
Karten-Artwork (GGGs eigenes CDN) statt des für jede Karte identischen
generischen Icons aus der Stash-API, mit einem dekorativen
Pergament-Rahmen angelehnt an die bekannte Karten-Optik. - Doppelklick auf einen Charakter öffnet eine Paperdoll: Ausrüstung als
Puppenlayout (Helm, Waffen, Rüstung, Ringe, Gürtel, Handschuhe, Stiefel,
Flaschen, ggf. Waffentausch-Set/Trinket) statt flacher Tabellenzeilen,
inklusive Liste der Jewels im Passiv-Baum. Klick auf einen Slot zeigt das
Item im Detail-Panel. - Item-Tabelle startet jetzt voreingestellt aufsteigend nach Wert sortiert
statt in roher API-Reihenfolge — Items mit unbekanntem oder geringem
Preis ("wahrscheinlich Schrott") gruppieren sich dadurch von selbst oben.
Ein Klick auf eine andere Spalte überschreibt die Voreinstellung wie
jede normale Sortierung. - Rate-Limit-Dashboard: jede Regel zeigt jetzt zusätzlich eine grobe
Schätzung, wann der Zähler das nächste Mal sinkt ("12/30 · 300 s · next
in2:19", immer mit "" — GGGs Zähler sinkt blockweise statt gleitend
pro Treffer, sobald zwei Absenkungen beobachtet wurden, ist ihr
ungefährer Rhythmus gelernt). Kurz nach dem Start kann bauartbedingt
minutenlang nichts sinken — ohne diese Angabe sah der stillstehende
Zähler wie ein Hänger aus. - "Load All Tabs" zeigt im Fortschrittsdialog einen Sekunden-Countdown bis
zum nächsten Abruf ("Next tab in 8s") und, falls das Rate-Limit gerade
bremst, dessen Restzeit statt scheinbaren Stillstands. Zusätzlich springt
der Stash-Baum jeweils auf das gerade abgerufene Fach und klappt es auf. - Neuer Refresh-Modus Pause: keinerlei Hintergrund-Anfragen. Manuelle
Klicks, die ⟳-Buttons im Baum und "Load All Tabs" funktionieren
unverändert und bekommen das volle Rate-Limit-Budget. - Log: jede Rate-Limit-Antwort schreibt jetzt zusätzlich eine Zeile mit den
rohen X-Rate-Limit-Werten je Regel plus dem gelernten Absenkungs-Takt.
Diese Rohdaten haben belegt, dass GGGs Zähler blockweise statt gleitend
sinkt, siehe FALLSTRICKE_UND_WORKAROUNDS.md #45. - Preis-Anzeige über poe.ninja: neue Value-Spalte in der Item-Tabelle
(Chaos-Wert × Stack, Anzeige in Chaos oder Divine je nach Höhe) sowie
Gesamtwert der sichtbaren Items in der Statuszeile. Umfasst Currency,
Fragmente, Uniques (inkl. 5-/6-Link-Preise), Gems (exakt nach
Level/Qualität/Corrupted), Divination Cards, Scarabs, Essences, Fossils
u. a. — bewusst ohne Rare-Item-Basispreise. Unbekannte Preise bleiben
leer statt 0; Items unter einem Chaos werden dezent abgeblendet. Preise
werden pro Liga bis zu 6 Stunden gecacht. Item.sockets/Item.max_linksim Datenmodell (Grundlage der
Link-genauen Unique-Preis-Zuordnung).- Neue Base-Spalte in der Item-Tabelle (
item.baseType, z. B. "Sun
Plate", "Crimson Jewel") — anders als Name bei Uniques/Rares immer die
reine Item-Basis statt eines Fantasienamens. - Item-Detail-Panel zeigt jetzt Itemlevel, Charakter-Levelanforderung und
Attributs-Anforderungen (Str/Dex/Int) sowie eine "Unidentified"-Markierung
für unidentifizierte Items (neben "Corrupted"). - Regex-Suche (Umschalter ".*" neben dem Suchfeld, standardmäßig an):
Die Suche versteht jetzt reguläre Ausdrücke wie PoEs eigene Truhensuche.
Sockets stehen dafür in derselben Schreibweise im Suchindex wie im Spiel
("R-R-G"), sodass auf poe.re zusammengeklickte Muster unverändert
funktionieren — etwar-r-g|r-g-r|g-r-rfür einen 3-Link mit zwei roten
und einem grünen Socket oder(-\w){5}für 6-Links. Ein unfertiges
Muster fällt still auf die normale Textsuche zurück.