eticheta_libera: filtru orb pentru cifrele care dispar sub candele
cifre_ascunse() ruleaza pe tot repo-ul, nu pe etichete numite, si raporteaza doar cazul care chiar costa: eticheta cu cifra peste un <rect> plin, fie de aceeasi culoare (distanta RGB sub 60, cu transparenta amestecata peste alb), fie desenat dupa ea si deci acoperind-o indiferent de culoare. Al doilea caz a fost adaugat pentru ca m2d_directie avea text gri sub corp verde - aceeasi paguba, dar filtrul pe culoare singur il rata. Calibrare care conta: CW=6.2 e potrivit pentru bold si prea larg pentru rest, iar coada goala prindea candela de alaturi. CW=5.4 pentru nebold a eliminat primele doua rezultate, verificate pe ecran ca false pozitive. Ancora inversa: pe versiunile dinainte de reparatiile de azi filtrul prinde exact cele doua defecte confirmate vizual. Scanarea: 17 etichete in 13 diagrame, din care 9 cu gaura pe cifra. Noua din cele 17 sunt in summaries/06_MODUL_5, unde nu s-a facut niciodata o trecere de etichete; in gen/strategii, dupa trei treceri, au ramas cinci. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
This commit is contained in:
@@ -147,3 +147,84 @@ Doua defecte vechi, vazute dar neatinse (nu erau pe lista lui):
|
||||
rasturnarea exemplului long)" e traversat de coada sagetii „piciorul 1".
|
||||
- `mdsrt_aplus`, panoul NU — `cds_n[18].l` e 94.50, dar nivelul se cheama
|
||||
„primul low 94.60". E close-ul, nu low-ul.
|
||||
|
||||
---
|
||||
|
||||
## Filtrul orb: cifră peste un corp plin (scanare 02.10.2026)
|
||||
|
||||
Cerut după trierea vizuală a capitolelor 02 / 04 / A3, care a dat o singură
|
||||
cauză fizică pentru suprapunerile care chiar schimbă ce citești: textul stă
|
||||
peste un `<rect>` **plin**, iar caracterele nu se încalecă — dispar. Peste o
|
||||
linie subțire (nivel, fitil, coadă de săgeată, chenar) textul rămâne lizibil,
|
||||
oricât de urât arată. De aceea tiparele (a)-(d) de mai sus nu merită un lot,
|
||||
dar clasa asta merită o listă.
|
||||
|
||||
`gen/eticheta_libera.py` are acum `cifre_ascunse(svg)`, care nu e opt-in pe
|
||||
etichete numite — fiind îngustă, rulează oarbă:
|
||||
|
||||
.venv/bin/python gen/eticheta_libera.py gen/strategii/*.svg \
|
||||
summaries/06_MODUL_5/*.md
|
||||
|
||||
Ce raportează: o etichetă **care conține o cifră**, peste un dreptunghi plin,
|
||||
în unul din două cazuri — (1) **aceeași culoare** (verde pe verde: caracterul
|
||||
dispare oricare ar fi ordinea de desenare), sau (2) **desenat peste** text
|
||||
(corpul e pictat după etichetă, deci o acoperă indiferent de culoare — cazul
|
||||
`m2d_directie` din lista „mincinoase"). Pragurile: distanță RGB sub 60,
|
||||
suprapunere de cel puțin 4 px pe orizontală și 4 px pe verticală, opacitatea
|
||||
dreptunghiului cel puțin 0.5 (zonele palide nu acoperă nimic). Transparența se
|
||||
amestecă peste alb înainte de comparație, deci barele de volum la 0.55 nu se
|
||||
aprind. Bucata „dispare ~" e aproximativă (lățime uniformă pe caracter), dar
|
||||
spune dacă gaura cade pe cifră sau pe o literă.
|
||||
|
||||
Calibrare: lățimea din `_bbox` (CW = 6.2) e potrivită pentru bold și prea
|
||||
largă pentru restul; la o etichetă lungă nebold coada goală de ~30 px prindea
|
||||
candela de alături (`buy_doji_labu`, `mp2_aplus` — ambele verificate pe ecran,
|
||||
false pozitive). Filtrul folosește CW = 5.4 pentru textul nebold. Pe versiunea
|
||||
de dinaintea reparațiilor de azi, `mp2_exemplu` („intrare 577.00", 0 păstrat de
|
||||
corpul verde) și `m2d_directie` (ambele panouri) sunt prinse — cele două
|
||||
defecte reale confirmate vizual, deci filtrul nu e doar strâmt, e și calibrat.
|
||||
|
||||
### Rezultat: 17 etichete, în 13 diagrame
|
||||
|
||||
**Gaura cade pe cifră (9):**
|
||||
|
||||
```
|
||||
m2d_iesire.svg: 'intrare 99.60' — dispare ~'60' (12 px, desenat peste)
|
||||
mdsrt_exemplu.svg: 'TP1 624.70 = 1:1 (construit)' — dispare ~'1 (' (9 px, desenat peste)
|
||||
mp2_short.svg: '128.97: crossing bear' — dispare ~'8.' (9 px, desenat peste)
|
||||
02_patternuri_complexe_partea_a_treia.md #3: 'SL 29.40' — dispare ~'9.4' (9 px, aceeași culoare)
|
||||
02_patternuri_complexe_partea_a_treia.md #4: 'target 62.00 = 65.00 − 3.00' — dispare ~'62.' (9 px, desenat peste)
|
||||
02_patternuri_complexe_partea_a_treia.md #5: 'target 60.50 = 65.00 − 4.50' — dispare ~'0.5' (9 px, desenat peste)
|
||||
02_patternuri_complexe_partea_a_treia.md #8: 'intrare short 89.00' — dispare ~' 8' (9 px, desenat peste)
|
||||
02_patternuri_complexe_partea_a_treia.md #8: 'target 60.00 = 90.00 − 30.00' — dispare ~' 90' (9 px, desenat peste)
|
||||
04_strategia_7_micis.md #6: 'intri cu 1/3 și rămâi cu 1/3' — dispare ~'1/3' (10 px, aceeași culoare)
|
||||
```
|
||||
|
||||
**Gaura cade pe o literă (8) — eticheta are cifre, dar ce dispare e text:**
|
||||
|
||||
```
|
||||
hammer_mbt10_bh_stop.svg: 'intrare 63.35 (close-ul confirmării)' — dispare ~'irm' (13 px, desenat peste)
|
||||
hammer_mbt10_mbt_close.svg: 'la 55.30, în timpul zilei, semnalul' — dispare ~'sem' (13 px, aceeași culoare)
|
||||
mdsrt_exemplu.svg: 'hammer închide 622.60, înapoi peste pivot' — dispare ~'oi' (9 px, aceeași culoare)
|
||||
mdsrt_exemplu.svg: 'intri aici: close peste high-ul hammer-ului (622.70)' — dispare ~'r-' (9 px, aceeași culoare)
|
||||
02_patternuri_complexe_partea_a_treia.md #5: 'suport (neckline) 65.00' — dispare ~'in' (9 px, desenat peste)
|
||||
02_patternuri_complexe_partea_a_treia.md #7: 'limita de 50% 100.00' — dispare ~'ta ' (9 px, desenat peste)
|
||||
03_patternuri_complexe_partea_a_patra.md #8: 'TP2 42.40 = batul steagului = 6.2R' — dispare ~' = ' (9 px, desenat peste)
|
||||
05_strategia_8_dhrt.md #10: 'vârful consolidării 53.70 = locul crimei' — dispare ~'ons' (12 px, desenat peste)
|
||||
```
|
||||
|
||||
Verificate pe ecran, cu zoom 4x: 6 din 17, luate din ambele categorii
|
||||
(`m2d_iesire` „99.6|", `mdsrt_exemplu` „= 1:_ (construit)", `mp2_short` cu
|
||||
„128" sub corpul roșu, `hammer_mbt10_bh_stop` „confirm_rii",
|
||||
`02_patternuri…` „neckl_ne", `05_strategia_8_dhrt` „c_nsolidării"). Toate
|
||||
șase, reale. Nu am reparat nimic și n-am atins capitolele 06, 09, 10, care
|
||||
sunt în lucru la alt agent.
|
||||
|
||||
Două observații pentru cine ia lista:
|
||||
|
||||
- Jumătate din cazuri înghit o literă, nu o cifră: filtrul cere ca eticheta să
|
||||
**conțină** o cifră, nu ca gaura să cadă pe ea. Dacă lotul trebuie scurtat,
|
||||
primele 9 sunt cele care costă.
|
||||
- Nouă din cele 17 sunt în `summaries/06_MODUL_5/` — adică în
|
||||
diagramele de modul, nu în cele de strategie. Acolo nu s-a făcut niciodată
|
||||
o trecere de etichete.
|
||||
|
||||
Reference in New Issue
Block a user