Vývojářský deníček #1 – Magická hůlka, zoom a jeden výživnej bug
Posledních pár dní mne nepěkně potrápil jeden bug. A ukažme si na něj prstem, může za to vlastně @Murphy Přišel s opravdu dobrým nápadem, že by bylo skvělé, kdyby AI rozpoznávalo zásahy jen v aktuálně zobrazené obrazovce. Kdo jsem já abych dobrý nápad ignoroval. Tuhle myšlenku jsem trochu rozvedl a udělal to jako volitelné nastavení v settings.
Představte si to tak, že nahrajete fotku terče a lokálně běžící offline AI model rozpozná veškeré zásahy na terči. To je skvělé, ale pokud máte více skupin zásahů na jednom terči může to být nepraktické. Následovala myšlenka, že by tedy AI měla rozpoznávat zásahy jen v aktuálně zobrazené části obrázku, tedy když zazoomuju tak, že je vidět jen část terče s konkrétní skupinou zásahů a spustím AI detekci, tak AI detekce rozpozná jen tyto konkrétní zásahy. Vzhledem ke složitosti implementace to ve skutečnosti funguje tak, že AI stále rozpoznává zásahy na celém terči, ale kód pak “vytvoří” dočasné body zásahu pouze u zásahů, které jsou v aktivním výřezu. Po vytvoření dočasných bodů zásahu je potřeba je ještě vybrat Magickou hůlkou a tady vznikl problém. Po dokončení AI detekce se nastavoval stav "is magic wand active = true". Ve finále došlo k tomu, že pokud jste přidali další terč, "Magic wand" zůstal ve stavu “true” a proto nešlo přidat referenční body.
Když jsem na to po několika dnech konečně přišel, opravdu se mi ulevilo, už jsem se pomalu psychicky chystal na rollback z Githubu
Abych si spravil chuť, trochu jsem vypimpoval obrazovku pro detailní zobrazení seance a konkrétně graf. Nyní jde graf rozkliknout na fullscreen. Poté se automaticky přepne na širokoúhlé zobrazení, podporuje gesta jako Zoom (přiblížení) a Pan (posun), a také scrubbing (tažení prstem po ose X grafu).
Trochu jsem se pověnoval i “designu” aplikace, uvědomuji si, že to je moje slabá stránka, ale vytvořil jsem nějakou novou ikonu která se bude objevovat na ploše telefonu. Bojoval s native splash screenem, který neustále nesmyslně tuto ikonu zobrazoval i při načítání obrazovky. Nakonec jsem zjistil, že pokud nemá žádný obrázek co tam zobrazit, tak zobrazuje ikonu. Překecal jsem ho nakonec pomocí “Jako obrázek pro úvodní obrazovku použij, prosím, systémovou barvu 'průhledná”, ale byl to boj…
A tak vznikla 1.8.0 která je aktuálně ve schvalovacím procesu od Google.
Aplikaci Shooting companion najdete zde - https://play.google.com/store/apps/details?id=cz.aleskozubik.shootingcompanion&hl=cs