- Opraveno generování digitálních vstupů při použití proměnné nebo výrazu jako čísla GPIO. Nastavení pull-up/pull-down se provádí přímo na místě bloku, například uvnitř cyklu; čtení používá uložený objekt podle skutečného čísla pinu a zachovává nastavení vstupu. Pro pevná čísla GPIO zůstává původní generování zachováno.
- Doplněna podpora proměnných a výrazů jako čísla pinu v ADC blocích pro ESP32, ESP32-C3, ESP32-S3, měření napětí a RP2040. Objekty ADC se vytvářejí až při použití a opakovaně využívají; dynamické čtení uplatňuje útlum a rozlišení požadované daným blokem. Zachovány původní přepočty hodnot a generování pro pevná čísla pinů.
- Přidána španělština (Español): celé jazykové balíčky UI a Blockly včetně vlastních ESP bloků, návrháře displeje a editoru fontů, samostatný editor obrázků, výběr jazyka a offline cache. Překlad porovnává hlavně český význam s anglickým kontextem; zachovává klíče, parametry a technické identifikátory.
- Opraveny nalezené anglické překlady: barevná složka RGB místo složky souborů, osa Z místo FROM, periodický a jednorázový časovač, RTC, budič motoru a popis rychlosti gyroskopu. Sjednocen anglický popisek délky Bluetooth názvu a informace o ovládání simulátoru s češtinou.
- Po volbě USB v dialogu připojení při Spustit a následném zrušení výběru portu se nabídne otevření instalátoru MicroPythonu nebo zrušení připojování. Nabídka netvrdí, že firmware chybí; prohlížeč nerozlišuje prázdný seznam portů od běžného zrušení. Zachován kompaktní vzhled, informační ikona SweetAlertu, motivy a překlady CZ/EN/DE. Přímé připojení USB, Bluetooth a úspěšné připojení se nemění.
- Zpřesněna analytika spuštění a připojení: původní kontext projektu a transportu zůstává zachován i po odpojení, pokus má nejvýše jeden výsledek a chyby rozlišují fázi přípravy, zálohy, prostředků, uploadu a startu. Zrušený výběr zařízení se měří odděleně od chyby; neúspěšný USB zápis příkazu Run se již nevykáže jako úspěch.
- Doplněno první úspěšné odeslání programu v načtené stránce, volby diagnostického dialogu a označení zdroje/verze měření. Připraven aktualizovaný denní GA4 report s oddělením nových dat, auditem historické aktivace, typy startu a ochranou před přepsáním dat při chybě dotazu. Nasazení reportu a kontrola pravidel v GA4 jsou samostatný krok.
- Měření editor_ready rozlišuje první načtení, opakovaný start stejné verze a aktualizaci. Doplněn celkový čas včetně automatického obnovení po aktualizaci, doba synchronizace Service Workeru a její výsledek. Původní ready_time_ms zůstává zachován; měření nepřidává síťové požadavky ani nemění cache nebo načítání. Výsledek je dostupný také lokálně v konzoli.
- Dialog Připojte zařízení nově zobrazuje nad nadpisem standardní animovanou informační ikonu SweetAlertu. Zachována kompaktní tlačítka USB / Bluetooth a Zrušit.
- Upraveny texty diagnostického dialogu: chyba komunikace s MicroPythonem, samostatné doporučení RESETu, vysvětlení požadovaného firmware a tlačítko Instalovat MicroPython. Doplněny překlady CZ/EN/DE.
- Diagnostika REPL nabízí nejprve výběr jiného zařízení, poté instalaci firmware a zavření. Před novým výběrem se uvolní původní USB/Bluetooth spojení a použije běžná cesta připojení. Stejný dialog se použije i při stávajícím selhání vstupu do Bluetooth raw REPL, bez změny příkazů či časování BLE.
- Hláška připojení USB se vypisuje na samostatném řádku před verzí MicroPythonu. Výzva >>> zůstává posledním řádkem konzole bez vloženého stavového textu; komunikační sekvence a ověření REPL jsou zachovány.
- USB připojení po stávající sekvenci Ctrl+C / Ctrl+B ověřuje čerstvou výzvu >>> bez dalších příkazů. Buffery se čistí před výběrem portu; čekání na REPL má nastavitelný limit connectReplTimeoutMs (výchozí 3000 ms). Při nepotvrzeném REPL se port uvolní a zobrazí doporučení RESETu / instalace firmware s animovanou výstrahou SweetAlertu.
- Při nepotvrzeném vstupu do USB raw REPL se přenos ihned zastaví a nabídne doporučení fyzického resetu nebo otevření stávajícího instalátoru. Stará odpověď REPL se nepoužije; běžná úspěšná komunikace nepřidává příkazy ani čekání. Pozdější timeout zůstává chybou přenosu, nikoli důkazem chybějícího MicroPythonu.
- Tlačítka USB a Bluetooth společně vyplňují stejnou šířku jako tlačítko Zrušit; kompaktní výška a schválený hover zůstávají zachované.
- Tlačítka USB a Bluetooth v dialogu připojení jsou menší (výška 38 px, ikony 24 px) a přebírají pozadí i výraznější hover/focus ze správce doplňků.
- Dialog připojení je kompaktní a vzhledově sladěný s uvítací nabídkou: neutrální barvy, krátký popis a rovnocenná tlačítka USB / Bluetooth s původními ikonami. Velká informační ikona byla odstraněna; upraveny překlady CZ/EN/DE.
- USB tlačítko používá ikonu item_usb_disconnected.png.
- Tlačítka připojení v dialogu Spustit nyní používají existující ikony USB a Bluetooth z nového menu. Lokalizované popisky a podpora motivů zůstávají zachované.
- Při spuštění bez připojeného zařízení se zobrazí přehledný dialog s přímým připojením přes USB nebo Bluetooth podle možností procesoru a prohlížeče. Dialog používá standardní animovanou informační ikonu SweetAlert, respektuje světlý i tmavý motiv a překlady CZ/EN/DE; po připojení uživatel program spustí znovu.
- Běžná výzva k připojení a volba uživatele se měří odděleně (run_connect_prompt / run_connect_choice), bez započítání do run_attempt a run_error. Diagnostika nepřipraveného simulátoru zůstává zachována.
- Přegenerován media.pak s aktuální ikonou uvítací nabídky. Manifest balíčku a verze offline cache byly aktualizovány, aby se nová ikona načetla i v PWA.
- Při úplně prvním spuštění se zobrazí lokalizovaná uvítací nabídka s volbou blikající LED, kompletního projektu PONG nebo prázdného projektu. Oba příklady používají vestavěný simulátor a nevyžadují připojenou vývojovou desku.
- Uvítací nabídku lze později znovu otevřít z konce menu Projekt. Má vlastní ikonu, skutečné náhledy, ploché pozadí bez dekorativního pruhu, nenápadnější zavírací tlačítko a podporuje světlý i tmavý motiv.
- Volba prázdného projektu zachovává dva výchozí programové bloky stejně jako nově načtená stránka.
- Náhledy a nová ikona jsou zahrnuté v media.pak, manifestu asset-packs.json i generovaném fallback seznamu Service Workeru; při selhání balíčku se použijí původní PNG soubory.
- Přidána jediná telemetrická událost welcome_choice pro první volbu uživatele; ruční pozdější otevření nabídky ji znovu neodesílá.
- Příklad PONG byl aktualizován a česká varianta byla kompletně přeložena včetně názvů proměnných, popisků a komentářů v blocích.
- Nové menu během načítací obrazovky čeká na dokončení přípravy assetů Service Workerem. Při chybě balíčku se dál bezpečně použijí původní soubory; URL projektu, simulátor ani Electron se nemění.
- 175 malých PNG, GIF, SVG a MFNT assetů se při sestavení sdružuje do balíčků media.pak a display_designer.pak; aplikace nadále používá jejich původní URL.
- Service Worker ověřuje SHA-256, manifesty, offsety, délky a MIME typy a ukládá rozbalené soubory do verzované offline cache se strategií cache-first.
- Pokud chybí nebo je poškozený index či některý balíček, automaticky se použijí původní soubory. Neúplná nová cache se neaktivuje a předchozí funkční verze zůstane zachována.
- Přidán deterministický build skript, kontrolní režim a regresní testy binární shody, MIME typů a všech fallback scénářů.
- Rozšířena produktová telemetrie Google Analytics o stavové milníky připravení editoru, první úpravy, otevření projektu nebo příkladu, spuštění programu, připojení zařízení a uložení projektu.
- Nový milník aktivace rozpozná uživatele, který projekt skutečně upravil a následně úspěšně spustil v simulátoru nebo na zařízení.
- Události spuštění rozlišují simulátor a fyzické zařízení, použitý transport a normalizovanou kategorii chyby; rychlost načtení editoru se měří také v pásmech do 3 s, 3–8 s a nad 8 s.
- Telemetrie neodesílá zdrojový kód, názvy soukromých souborů, obsah chyb ani identifikátory zařízení. Odesílání je asynchronní, v Electronu je vypnuté a respektuje uložené odmítnutí analytiky.
- Veřejné ukázkové projekty lze v přehledech porovnávat podle jejich katalogového ID; automatické načtení projektu se nepočítá jako ruční editace.
- Při prvním spuštění bez uloženého nastavení se ESP IDE otevře anglicky; parametr ?lang=cs nadále vynutí češtinu.
- Načítací obrazovka a dialog načítání sdíleného projektu mají český, anglický a německý fallback přímo v HTML, takže při pomalém načítání nezobrazí klíč překladu.
- Simulator Lite přebírá stejnou APP_VERSION až do Workeru a virtuálního filesystému; nová verze obnoví distribuční soubory, zachová vlastní soubory a konfliktní úpravy zazálohuje.
- Izolace ESP IDE používá COEP require-corp kompatibilní s WebKitem, aby v Bluefy mohly živé vstupy používat SharedArrayBuffer.
- Do nabídky Příklady byla přidána kategorie Hry s projekty Dodge 3 Lanes, Flappy Bird, Pong, Arkanoid a Space Invaders.
- Všech pět her je dostupných v české i kompletní anglické verzi se zachovanou logikou, zapojením, bitmapami a komentáři.
- Opravený příklad regulace jasu LED rotačním enkodérem byl doplněn také v angličtině včetně přeložených komentářů, proměnných a scény Display Designeru.
- Obrázek přepínače Blockly/Python zachovává českou grafiku v češtině; angličtina, němčina a ostatní jazyky používají novou anglickou grafiku ve světlém i tmavém motivu.
- Obě anglické varianty obrázku přepínače jsou součástí offline cache aplikace.
- Target Simulator je v seznamu hned za Generic; při prvním spuštění bez uložené volby se jako výchozí target použije Generic.
- Simulator Lite: LED jsou menší a posunuté výše v kartě; popisek zobrazuje LED a GPIO na samostatných řádcích.
- Simulator Lite: Všechny karty komponent používají stejnou barvu povrchu ve světlém i tmavém režimu.
- Simulator Lite: Plocha je ve výchozím stavu průhledná a konfigurace podporuje volitelnou bitmapu pozadí s režimy auto, contain a cover.
- Simulator Lite: Panel je skutečný měnitelný pravý dock, takže již nepřekrývá textové záložky ani terminál; lze jej skrýt nebo odpojit do přesouvatelného okna.
- Simulator Lite: Hlavička je kompaktní, tovární reset FS je v nabídce a celý panel včetně iframe respektuje světlé i tmavé schéma ESP IDE.
- Simulator Lite: Před nahráním programu se obnoví pouze Worker a RPC runtime; iframe, scéna a načtené assety zůstávají zachované. Úplný reload slouží jen jako nouzová obnova.
- Simulator Lite: Tovární soubory se mezi restarty berou z verzované cache a OLED canvas je znovu sladěný s geometrií bitmapy 800×800.
- Simulator Lite: NeoPixel má nový podklad s osmi přesně definovanými pozicemi LED, enkodér kompaktnější rozložení ovládání a plocha scény průhledné pozadí.
- Simulator Lite: Režim serva lze přepínat za běhu, barvu LED měnit kliknutím a popisky DC motorů zobrazují GPIO na samostatném řádku.
- Přidána podpora pro desku ESP32-S3 Robotic Board včetně nového toolboxu, povoleného Bluetooth a vyhrazených bloků digitálního i analogového pinoutu.
- Do jádra Blockly integrovány bloky a Python generátory pro gyroskop a akcelerometr MPU6500 s podporou Madgwick filtru.
- Doplněny české, anglické a německé překlady pro nové bloky i popisky v toolboxu.
- Anglické verze pěti příkladů aktualizovaných 15. 8. 2026 byly znovu vytvořeny z českých zdrojů a mají přeložené nové komentáře, texty a názvy proměnných.
- Ikony štětce, gumy a koše z Display Designeru jsou nyní přednačítané do offline cache aplikace.
- Položka Příklady v novém menu používá novou samostatnou ikonu, která je zahrnutá také v offline cache aplikace.
- Všech 12 ukázkových projektů je nově dostupných také v anglické verzi ve složce examples/en.
- Anglické projekty mají přeložené komentáře, textové výstupy, názvy proměnných a podprogramů; zapojení, piny a logika zůstávají shodné s českými originály.
- Menu Příklady nyní načítá lokální .blk projekty přímo ze serveru namísto dřívějších share kódů.
- Katalog obsahuje kategorie Základy, Senzory a Displeje a na jednom místě propojuje přeložené názvy s relativními cestami projektů.
- Čeština používá složku examples/cs s anglickým fallbackem; angličtina, němčina a další jazyky používají examples/en.
- Stažený soubor se před otevřením kontroluje a při chybě zůstane aktuální projekt beze změny. Online se načítá aktuální verze, dříve otevřené příklady zůstávají dostupné z PWA cache i offline.
- Šipky u položky Příklady a kategorií v jejím podmenu jsou nyní přesně výškově vystředěné.
- Textové bloky pro získání znaku, podřetězce, hledání, změnu velikosti písmen a ořezání mezer nyní bezpečně převádějí číselný vstup na text.
- Bloky délky a kontroly prázdné hodnoty nově přijímají čísla, přičemž zachovávají původní chování pro texty, seznamy a další kolekce.
- OLED bloky pro výpis běžným a malým písmem nyní dovolují připojit číselný blok; generovaný MicroPython hodnotu automaticky převede na text.
- Distribuční Blockly bloky a Python generátor byly znovu sestaveny.
- Do Nastavení byla přidána volba automatické zálohy Blockly projektu do /backup.blk.gz s režimy Nikdy, Jen přes USB a Vždy.
- Menu Projekt umí otevřít poslední zálohu ze zařízení a při chybějící nebo poškozené záloze zobrazí srozumitelnou chybu.
- Nabídka Projekt nyní využívá dostupnou výšku obrazovky, takže se na běžném displeji zobrazí celá bez posuvníku.
- Nově ukládané a sdílené Blockly projekty obsahují pouze skutečně použité doplňky; při chybějící závislosti se neúplný projekt neuloží.
- Chybějící modul závislostí při neúplné aktualizaci už nezastaví načtení toolboxu; ukládání projektu zůstane bezpečně zablokované do dokončení aktualizace.
- Ikony kategorií toolboxu se nyní správně doplní i při pomalejším načtení překladů z webového serveru.
- Blok „Vykreslit návrh OLED“ má nové výchozí zapnuté zatržítko „Překreslit displej“.
- Zapnutá volba přidá `display.show()` až za vykreslení statického pozadí i všech dynamických vrstev. Po vypnutí zůstává možné do framebufferu dokreslit dalšími bloky a displej překreslit samostatně.
- Doplněny české, anglické a německé překlady a znovu sestaveny distribuční Blockly bloky i Python generátor.
- Volba bílé/černé barvy vybrané vrstvy byla přesunuta z přeplněného pravého sloupce do kontextové lišty pod displejem.
- Nákres zobrazuje barvu pouze jednou ve své liště štětce; obecná barva vrstvy se pro nákres ani při aktivním kreslicím nástroji nezobrazuje.
- Každý nový obdélník, elipsa, čára, text a bitmapa vzniká vždy bílý bez ohledu na dříve zvolenou barvu jiné vrstvy nebo štětce.
- Uvolněné místo v pravém panelu bylo vráceno seznamu vrstev.
- Všechny obdélníky, elipsy, čáry, texty a bitmapy mají jednotnou volbu bílé nebo černé barvy; staré inverzní texty se automaticky převedou na černou.
- Nákres používá samostatnou bílou a černou 1bitovou masku, takže v jedné vrstvě podporuje bílé pixely, černé pixely i skutečně průhlednou gumu. Staré nákresy zůstávají kompatibilní.
- Generátor kreslí černé jednoduché tvary přímo barvou 0. Černé rasterizované objekty a dynamické nákresy používají transparentní blity a druhá maska se vytváří jen tehdy, když obsahuje černé pixely.
- Otevření grafického editoru nyní zruší výběr zdrojového Blockly bloku a přesune focus do dialogu, takže klávesa Delete nemůže omylem odstranit blok pod editorem.
- Nákres má nyní výběrový obrys podle skutečně nakreslených pixelů a lze jej za tento obrys uchopit, táhnout myší nebo přesouvat změnou X/Y.
- Přesun nákresu pouze mění souřadnicový posun jeho vrstvy; zabalená 128×64 bitmapa se nepřevzorkovává a další tahy štětcem správně používají její lokální souřadnice.
- Živý náhled používá pro Bluetooth samostatný šetrný profil: 48bajtové části framebufferu, transportní úseky nejvýše 20 znaků, 90ms mezery uvnitř příkazu, 140ms mezery mezi příkazy a výrazně delší timeouty.
- Inicializační Python se již neposílá ani nekompiluje jako jeden velký blok. Je rozdělen do několika menších RAW REPL příkazů a každý příkaz se na všech typech připojení odesílá po omezených částech.
- USB zůstává rychlé se 128bajtovými částmi framebufferu, ale také získalo mírné dělení dlouhých inicializačních příkazů pro procesory s menší RAM.
- Přepnutí viditelnosti vrstvy nyní okamžitě plánuje aktualizaci živého náhledu.
- Aktivní náhled jednou za sekundu znovu porovná vyrastrovanou scénu s posledním potvrzeným snímkem. Beze změny neodesílá nic; při změně používá stejnou sekvenční frontu, takže nemohou vzniknout souběžné REPL přenosy.
- Živý náhled se nyní aktualizuje také při přesouvání vybraných objektů šipkami, včetně rychlého opakování klávesy a kroku 5 px se `Shift`.
- Přímé psaní do textové vrstvy rovněž plánuje překreslení připojeného displeje; společný debounce stále chrání REPL před zahlcením.
- Návrhář OLED displeje dostal živý náhled na připojeném ESP přes stávající USB, BLE nebo WebREPL komunikaci bez úprav REPL driverů.
- Pomocné funkce se instalují pouze do RAM pomocí RAW REPL; framebuffer se následně přenáší bezpečnými tisknutelnými Base64 příkazy po 128 bajtech a vykreslí se až samostatným voláním `show()`.
- První náhled odešle celý framebuffer, další změny pouze upravené bloky. Debounce, sekvenční fronta a prodlevy mezi příkazy zabraňují zahlcení pomalejší desky.
- Doplněny srozumitelné chyby pro nepřipojenou desku, chybějící framebuffer, chybějící `display.show()`, nesprávnou velikost framebufferu, odmítnutá data a timeout zařízení.
- Nenápadná ikona tužky v bloku Návrháře OLED displeje byla nahrazena výrazným lokalizovaným CTA tlačítkem „Otevřít grafický editor“ na samostatném řádku bloku.
- Opraven dynamický inverzní text na monochromatických framebufferech: knihovna nyní obrací masku přímo ve svém opakovaně používaném bufferu a vykresluje černé pixely pomocí transparentního klíče 1.
- Oprava nepoužívá paletu ani další framebuffer a opakované stejné znaky znovu využívají již obrácenou masku.
- Panel vlastností textu dostal více výšky na úkor menší části seznamu vrstev, takže nové zatržítko nepřetéká mimo svůj box.
- Každý řádek v seznamu vrstev má vlastní lokální ikonu koše. Smazání jedné vrstvy vyžaduje potvrzení a lze je vrátit funkcí Undo.
- Textové vrstvy podporují inverzní barvy pro vykreslení černých znaků přes světlé pozadí, a to i při dynamickém textu nebo souřadnicích.
- Inverzní dynamický text používá původní jednobitovou masku fontu bez kopie fontu nebo dalšího framebufferu znaků.
- Čáry v Návrháři OLED displeje mohou mít volitelnou šířku 1, 2, 3 nebo 5 px; stejný pixelový výsledek se používá v náhledu, statickém framebufferu i generovaném kódu.
- Obdélníkům lze nastavit zaoblení rohů od 0 px až do poloviny kratší strany, a to pro obrysovou i vyplněnou variantu.
- Jednopixelové čáry a obdélníky s ostrými rohy nadále používají rychlé funkce MicroPython `line()`, `rect()` a `fill_rect()`. Silnější čáry a dynamické zaoblené obdélníky se předem rastrují a vykreslují jako zarovnané transparentní bitmapy.
- Přidán integrovaný Blockly blok Návrhář OLED displeje pro grafický návrh monochromatických scén 128×64 px; kompletní editovatelná scéna se ukládá přímo do mutace bloku a zůstává součástí projektu.
- Návrhář podporuje obdélníky, čáry, elipsy, text, importované bitmapy a ruční nákresy štětcem nebo gumou o několika velikostech.
- Objekty lze vybírat jednotlivě i ve skupinách, přesouvat myší nebo šipkami, měnit jejich velikost za rohy, duplikovat, kopírovat a vkládat přes `Ctrl+C`/`Ctrl+V`, zarovnávat a rovnoměrně rozmísťovat.
- Vrstvy lze pojmenovat, skrýt, duplikovat, smazat a přesouvat šipkami v pořadí; dynamické vrstvy zůstávají automaticky nad statickým pozadím.
- Doplněna místní historie změn s Undo/Redo, ochrana před zavřením s neuloženými změnami a zachytávání klávesových zkratek, aby se současně nekopíroval nebo nemazal blok pod dialogem.
- Rozhraní návrháře respektuje světlý i tmavý motiv, má kontrastnější aktivní tlačítka, úsporné responzivní rozložení, zvětšený režim a stabilní panel vlastností a vrstev bez nežádoucího poskakování a vnořených posuvníků.
- Pixelová mřížka používá samostatný canvas a celočíselné fyzické měřítko, takže jsou všechny pixely stejně velké a čáry zůstávají ostré i při DPI škálování; kurzor štětce a gumy ukazuje skutečnou velikost zásahu.
- Tlačítko Bitmapa otevírá přímo systémový výběr PNG, JPEG, BMP nebo WebP. Import nabízí změnu rozměrů, práh černé, inverzi, dithering a volbu, zda černé pixely překreslí pozadí, nebo budou průhledné.
- Textový nástroj nabízí integrované bitmapové fonty s předgenerovaným náhledem `ABCabc123`, výchozím fontem 5×8 a přímou editací obsahu textu; vlastní importované fonty se řadí na konec nabídky.
- Přidán pokročilý editor monospace fontů s pixelovou editací 96 znaků, náhledem textu, změnou rozměru buňky, globálním posunem znaků X/Y, importem a exportem MFNT a generováním z fontů dostupných v systému.
- Font editor umí načítat bitmapové fonty BDF, PSF1/PSF2, PSFU a jejich gzip varianty včetně Unicode tabulek; přidán také nástroj pro bezztrátový převod bitmapových OTB fontů do MFNT.
- MFNT v1 se nově exportuje v procesorově výhodném formátu `MONO_VLSB` s výškou zarovnanou na celé osmipixelové stránky. Všechny náhledy a renderery dodržují povinnou mezeru 1 px mezi znaky.
- Připravena firmware knihovna `/lib/espide_monofont.py`; generovaný kód používá běžný import `from espide_monofont import MonoFont`, cache instancí fontů a bezpečně nahrazuje nepodporované znaky mezerou bez seeku mimo soubor.
- Statické vrstvy se ve výchozím stavu předpočítají v prohlížeči do jediného framebufferu. Dynamické texty, souřadnice X/Y a viditelnost lze volitelně vystavit jako vstupy mutace Blockly bloku a vykreslují se až nad statickým pozadím.
- Přidán volitelný projektový režim ukládání všech neprázdných statických scén do jediného raw souboru `/gfx/scene.dat`; před spuštěním se spolu s potřebnými vlastními fonty odešle do zařízení a scény se načítají rychlým `seek()` a `readinto()`.
- Prázdné a čistě dynamické scény již nevkládají ani neodesílají 1024 nulových bajtů, ale pouze vyčistí existující framebuffer. Generovaný kód používá kratší identifikátory a jednorázové souřadnice zapisuje přímo do kreslicích volání.
- Sjednoceno bajtové zarovnání všech lokálních framebufferů, ošetřeny záporné souřadnice a objekty přesahující displej; ořez probíhá až při výsledném vykreslení a skryté části objektu zůstávají editovatelné.
- Upravená sada nyní obsahuje 33 vzájemně odlišných integrovaných fontů a jejich lokální náhledy; nepoužívané podobné fonty 8×8, 8×16, 16×32 a 28×64 byly odstraněny také z offline cache.
- Zrychlen start aplikace: počáteční jazyk Blockly se načítá ještě před registrací bloků, takže již nevznikají desítky falešných hlášení `No message string for %{BKY_...}` s nákladnými výpisy zásobníku.
- Doplněna německá lokalizace rozhraní, Blockly bloků a editoru obrázků.
- Přepínač jazyků nyní bezpečně obsluhuje češtinu, angličtinu a němčinu; rychlé změny se zpracují ve správném pořadí.
- Dvojjazyčné doplňky bez německých textů používají v německém režimu anglický překlad místo českého výchozího textu.
- Německé jazykové soubory jsou součástí offline cache a vlastní Blockly dialogy používají aktivní lokalizaci.
- Německé rozhraní prošlo korekturou rodilého mluvčího; názvy, stavové texty a technická terminologie jsou přirozenější a oslovení je sjednocené na „du“.
- Načítací obrazovka používá správný jazyk také během aktualizace offline verze, ještě před načtením hlavního jazykového balíčku.
- Opraveny německé popisky souřadnic `x`/`y` u bloků displeje a grafu: chybné `j` bylo nahrazeno `y` a obě osy mají shodně malá písmena.
- Verze aplikace, verzovanych assetu a offline cache se nastavuje pouze jako `APP_VERSION` v `index.html`; Service Worker ji prebira z registracni URL.
- Precache stahuje nejvyse osm souboru paralelne, ma pevny timeout a nova verze se aktivuje jen po kompletnim ulozeni vsech offline souboru.
- Hotova cache stejne verze se znovu nestahuje a staticke soubory se jiz zbytecne nerevaliduji na pozadi.
- Aktualizace zustava pod loading obrazovkou, ale pri chybe nebo timeoutu pokracuje predchozi aktivni verze bez pozdejsiho necekaneho prevzeti stranky.
- Opraven hard reload, pri kterem muze byt spravny Service Worker aktivni, ale aktualni dokument nema `navigator.serviceWorker.controller`.
- `index.html` a `sw.js` se na serveru vzdy revaliduji; Service Worker CacheStorage a offline spusteni tim nejsou omezeny.
- Zmensena typografie kategorii a nazvu projektu v bocnim panelu Priklady.
- Do noveho menu Projekt byla mezi automaticke spusteni a otevreni z PC pridana polozka Priklady.
- Priklady jsou zobrazeny v bocnim stromu se ctyrmi vyukovymi kategoriemi a nacitaji existujici sestiznakove share kody.
- Katalog prikladu je ulozen samostatne v `js/examples_catalog.js` a podporuje preklady i svetly/tmavy motiv menu.
- MCP browser bridge je ve vychozim stavu vypnuty a bezne otevreni ESP IDE se uz nepokousi pripojit k `ws://127.0.0.1:8765`.
- AI bridge lze zapnout explicitne parametrem `?espide_mcp=1` nebo funkci `ESPIDE_AI_MCP_BRIDGE.enable()`.
- Odstraneny nekonecne opakovane pokusy o WebSocket pripojeni pri vypnutem nebo ukoncenem MCP serveru.
- Navysena verze aplikace a Service Worker cache, aby se opraveny bridge nacetl misto starsi cachovane verze.
- Blockly automatizacni helper byl vyclenen z `index.html` do verzovaneho API `js/espide_ai_api.js` se zachovanim zpetne kompatibility.
- Pridany nastroje pro cteni stavu IDE, seznamu a popisu bloku, Blockly workspace, vygenerovaneho kodu, terminalu, nastaveni a metadat doplnku.
- Doplneny udalosti zmen workspace, pripojeni, jazyka, toolboxu a terminalu.
- Pridano transakcni `apply_workspace_patch` s nahledem `dryRun`, kontrolou revize, validaci, automatickym rollbackem a funkci Undo.
- Pridan lokalni MCP server a loopback browser bridge pro ovladani ESP IDE z Codexu bez OpenAI API klice ve webove aplikaci.
- Pridana projektova Codex pravidla, workflow pro vyvoj doplnku, automaticke testy `.newblk` a podpora primych CZ/EN textu v blocich a toolboxu.
- SPI inicializace OLED displeju pouziva i pin MISO, ktery MicroPython vyzaduje pro vytvoreni `SoftSPI`.
- Upraveny popisky SPI OLED bloku a diagnosticke hlasky s piny.
- Navysena verze aplikace a Service Worker cache, aby se aktualizovaly `sw.js`, Blockly JavaScript soubory a preklady.
- Lokalne nacitane JS a CSS soubory v `index.html` se nyni verzuji jednotne podle verze aplikace.
- Opraveno nacitani `js/new_menu.js` a `css/new_menu.css`, ktere zustavalo na stare query verzi `2026-05-29` a mohlo na nekterych zarizenich drzet starou podobu menu.
- Jazykove JSON soubory `i18n/*.json` a Blockly prekladove soubory `js/{lang}.js` se nacitaji s verzovacim parametrem podle aktualni verze ESP IDE.
- Service worker u statickych souboru respektuje query parametr, takze zmena `?v=` spolehlive vynuti nacteni nove verze.
- Do offline cache doplnen soubor `js/en.js`.
- Pri zapnuti automatickeho pridavani startovacich bloku se zobrazi dotaz, zda je uzivatel chce pridat i do aktualniho projektu.
- Dotaz se zobrazi jen tehdy, kdyz na Blockly plose jeste neni blok `program_start` ani `program_loop`; vlozeni existujici program nenahrazuje.
- Bloky `program_start` a `program_loop` jsou ve vsech toolboxech presunuty na zacatek sekce Program.
- Opraveno poradi generovani startovnich programovych bloku.
- Kod spusteny jednou se nyni generuje pred nekonecnou smyckou i tehdy, kdyz je blok smycky na plose umisten vyse.
- Pri cistem otevreni editoru se na prazdnou Blockly plochu automaticky vlozi startovni bloky pro kod spusteny jednou a nekonecnou smycku.
- Automaticke vlozeni se neprovadi pri nacteni hotoveho programu z odkazu nebo pri otevreni existujiciho projektu.
- Do Nastaveni pridana volba pro zapnuti/vypnuti startovnich programovych bloku. Nastaveni se uklada do `localStorage` a vychozi stav je zapnuto.
- Doplneny CZ/EN texty a pripraveno cachovani ikony `item_auto_start_blocks.png`.
- Pridany programove bloky pro styl `setup()` / `loop()`: kod spusteny jednou a nekonecna smycka.
- Blok nekonecne smycky generuje `import utime` a v kazde iteraci vola `utime.sleep_ms(0)`, aby se mohla obslouzit preruseni a dalsi ulohy.
- Doplneny CZ/EN preklady a bloky jsou dostupne v kategorii Program pro vsechny toolboxy.
- Ukladaci dialogy si nove pamatuji posledni pouzity nazev projektu.
- Nazev se po ulozeni nebo nacteni souboru propise do dialogu pro ulozeni do PC i do ESP.
- U textovych souboru se do projektovych dialogu uklada nazev bez pripony, aby pri pozdejsim ulozeni Blockly projektu nevznikaly dvojite pripony.
- Doplnky s `toolbox_mode: addon_only` se uz neprepnou automaticky bez potvrzeni.
- Pri nacteni takoveho doplnku se zobrazi dialog, kde lze zvolit nahradu celeho toolboxu nebo jen pridani bloku k beznemu toolboxu.
- Volba uzivatele se uklada k doplnku a respektuje se i pri dalsim obnoveni toolboxu, nacteni projektu nebo instalaci z katalogu.
- Doplneny CZ/EN texty dialogu pro rozhodnuti o rezimu toolboxu.
- Servo knihovna ma vyrazne presnejsi rizeni polohy diky modernejsimu PWM zapisu.
- Doplneny souvisejici toolboxy, cache a preklady pro aktualni beta build.
- Pridany bloky pro ukladani a nacitani hodnot promennych do INI souboru.
- Nova knihovna `pvstore.py` zachovava datove typy a chyby vypisuje do konzole.
- OLED bloky umi vybrat typ displeje: automaticky, SSD1306, SSD1309 nebo SH1106.
- Doplnena SPI varianta OLED driveru a lepsi podpora SH1106 offsetu.
- Bluetooth pripojeni bylo upraveno pro lepsi kompatibilitu s Apple zarizenimi.
- Vylepseno hlaseni chyb a stabilita prenosu pri BLE spojeni.
- Pridan WebSocket ovladac pro desktopovou aplikaci ESP IDE.
- Upraveno pripojovani desktopove aplikace bez zavislosti na WebSerial/WebBluetooth.
- Stabilizovana instalace doplnku v Electronu pres `postMessage` transport.
- Katalog doplnku se v Electronu otevira s `transport=postmessage`.
- Webova instalace pres `localStorage` zustava beze zmen.
- Zachovana kompatibilita se starsimi verzemi IDE (`espide.install.done` fallback).
- Opraven update flow Service Workeru bez samovolneho restartu UI.
- Pri nesouladu verze SW zustane loading aktivni, update se dokonci a reload probehne jeste pred otevrenim UI.
- Pridano zjistovani verze SW pres zpravu `GET_VERSION`.
- Offline/PWA: doplnen `toolbox_ESPBIT.xml`, manifest pouziva relativni `start_url`/`scope` a cesty ikon.
- BLE na iOS/Bluefy: ciselne chyby (napr. `2`) se mapuji na srozumitelne hlasky + CZ/EN i18n.
- Sjednoceny cache-busting `?v=` parametry v hlavnim HTML.
- SW registrace pouziva relativni `sw.js` a scope odvozeny z aktualni URL (bez beta cesty).
- Opravy `filemanager.html` a doplneni chybejicich souboru do SW precache.
- Pridano komprimovane ukladani Blockly projektu do ESP (`.blk.gz` v `/BLK/`).
- Pridan dialog `save_esp_dialog`; textovy rezim uklada soubory stejne jako drive (bez komprese).
- File Manager umi otevrit komprimovane Blockly soubory (`.blk.gz` i `.xml.gz`).
- Vylepsen vykon overlaye (odebran `backdrop-filter`).
- SW: navysena verze cache a do precache pridan `js/pako.min.js`.
- Nasazen novy system horniho menu (`css/new_menu.css`, `js/new_menu.js`, `media/new_menu/`).
- Pridana 3 rozlozeni menu (`layout1`, `layout2`, `original`) s kompatibilitou k puvodnimu `more_menu`.
- Stabilizovan `modeSwitch`, osetren konflikt s quick panelem a zlepsena responzivita topbaru.
- Menu Zarizeni/Nastaveni prepracovano (USB/BLE stavove radky, vyber tematu, `autoRunOnBootDefault`, toolbox ikony).
- Aktualizovany i18n texty, sjednocen vzhled/citelnost a optimalizovan `syncState()` (throttle 50 ms).
- SW: doplnena precache o assety noveho menu.
- Stabilizovano navazani USB REPL po pripojeni.
- Vylepsena sekvence a casovani vstupu do RAW REPL (USB i BLE sjednoceno).
- Pridan novy C-shaped blok `program_section` (popis + aktivace/deaktivace cele sekce).
- Opraven orez offscreen screenshotu workspace (bez prazdneho mista vlevo).
- Zpresnen vypocet bounding boxu + paddingu.
- Ostatni screenshot rezimy zustaly beze zmen.
- Stabilizovano full-workspace snimani pri vetsim Blockly zoomu.
- Offscreen snimani bezi na stabilnim meritku 1.0, rozliseni se zvysuje render scale.
- Zachovany puvodni souradnice top-level bloku (bez preskladani).
- Odebrany docasne debug nastroje pro screenshoty.
- Screenshoty Blockly do PNG maji transparentni pozadi jako vychozi.
- Pridana volba bileho pozadi (`whiteBackground: true` / `background: "white"`).
- Opraveno vykresleni pozadi pro `visible` i `offscreen` rezim.
- Offscreen screenshot celeho workspace respektuje aktualni zoom.
- `Ctrl+Shift+S` nyni defaultne exportuje transparentni screenshot.
- Pridan univerzalni toolbox `toolbox_Generic.xml` pro obecna MicroPython zarizeni.
- Doplneny toolboxy pro ESP32C6 a RP2350.
- U ESP32 doplneno mereni napeti pres ADC v mV i V.
- USB init neprepisuje existujici `run_code()` a `stop_code()` (zachovana logika v `boot.py`).
- Rozsirena diagnostika chyb v `idecode` (typ vyjimky, traceback, tipy, lepsi handling `MemoryError`).
- Pridany screenshot funkce Blockly (visible/offscreen, export PNG, hromadne snimani toolboxu).
- Doplneny i18n texty pro screenshoty (CZ/EN).
- Opraveno kodovani `index.html` na UTF-8 bez BOM.
- Pridan binarni BLE protokol pro upload souboru (MAGIC/SEQ/LEN/CRC8) s window ACK.
- Implementovano obnoveni prenosu (retry, NAK resync, status expected SEQ) + CANCEL.
- Pred uploadem se zastavuje bezici kod (Ctrl+C), doplneno vyjednani MTU/chunk pres BLE Config.
- Pri nedostupne podpore je fallback na legacy REPL upload.
- Zlepseno BLE pripojovani (timeouty GATT kroku + dusledny cleanup po chybe).
- Pridan dialog Bluetooth nastaveni v menu (vcetne CZ/EN textu).
- Validace nazvu zarizeni: 3-8 znaku, zakladni ASCII.
- Cteni/ulozeni jmena v `/cfg/ble_name.cfg`, pri vypnuti Bluetooth se konfigurace smaze.
- Opraveno zavirani dialogu a osetreny kolize REPL behem cteni/ukladani.
- Stabilizovana aktualizace Service Workeru.
- Pridany volby motivu a jazyka v menu (ukladani do localStorage).
- Stabilizovano nacitani prekladu (I18N) a automaticke nacitani sdilenych projektu z URL.
- Vylepsen toolbar ve Spravci souboru (responzivita a adaptivni tlacitka).
- Vylepsen update Service Workeru + pridany startovni volby (force toolbox, lock processor, skryti File Manageru).
- Instalator: opravy pro ESP8266 flash a binarni upload knihoven `.mpy`.
- Pridan tmavy rezim s prepinacem v menu (ulozeni do localStorage).
- Upravene UI, ACE editor i terminal pro svetly/tmavy motiv.
- Pridana nacitaci obrazovka s logem a spinnerem.
- Podpora `dark_*` assetu a automaticke prepinani motivu.
- Upravene styly File Manageru + aktualizovana SW cache pro nove assety.
- Drobné opravy ve správci souborů a načítání jeho knihovny
- Upravena funkce pro zastavení programu pro lepší spolehlivost
- Opraveny nefunkční dialogy po otevření správce souborů
- Opraven nefunkční správce souborů po znovupřipojení zařízení
- Odstraněny duplicitní importy javascriptu ve správci souborů
- Při zavření správce souborů úklid a povolení REPLu
- Opraveny dialogy ve správci souborů pro desktop verzi
- Upravena funkce bluetooth připojení v desktop verzi
- Úprava práce s cache pro desktop aplikaci
- Zakázání tlačítek joysticku a instalace FW pro desktop verzi
- Přepracován výpočet velikosti okna na mobilních zařízeních
- Opraveny chyby ve správci souborů
- Do bluetooth knihovny doplněn kruhový buffer
- Přidání správce souborů
- Přepsání Bluetooth knihovny kvůli chybě v Micropythonu
- Přidán hack pro zastavování programu v Bluetooth režimu
- Doplněny funkce pro ukládání souborů do ESP
- Optimalizace uživatelského rozhraní pro mobilní zařízení
- Upscale grafiky pro lepší zobrazení displejích s vysokým PPI
- Ošetření přepínání mezi USB a Bluetooth připojením
- Doplnění textového režimu s panely
- Ukládání obsahu textových editorů do localstorage
- Přidána podpora pro Bluetooth low energy
- Oprava některých dialogů na mobilních zařízeních
- Do projektu se ukládají rozšíření jako komentář v xml
- Načítání projektu ze souboru nastaví procesor a integruje doplňky
- Načítání projektu z URL: nastaví procesor a integruje doplňky
- Doplněn seznam změn a verzování editoru do rozbalovacího menu
- Přidána podpora pro procesory ESP8266
- Přidána funkce pro instalaci knihoven do procesoru pomocí USB
- Přidána podpora pro procesory RP2040
- Vydána USB - Serial verze ESP IDE V1.12
- Přidána podpora pro ESP32S3
- Přidány bloky pro souborový systém
- Přidány bloky pro laserový dálkoměr VL53L0X
- Přidány bloky pro expandér portů PCF8574
- Přidány bloky pro UART komunikace
- Úprava rozložení toolboxu.
- Přepracovány funkce pro načítání toolboxu
- Optimalizován webserver
- Doplněn správce souborů
- Komprimace uživatelských projektů pro úsporu FLASH paměti
- Optimalizován kód webserveru
- Přepracována inicializace I2C rozhraní.
- Opraveny chyb
- Nasazen nový kód pro webserver
- Rozšířeny bloky pro ovládání DC motorů pomocí PWM
- Přidány bloky pro 5x5 neopixel matici
- Optimalizováno uživatelské rozhraní pro mobilní zařízení
- Přidána podpora pro ESP32C3
- Nové rozhraní pro správu uživatelských bloků
- Implementován HTTP request blok
- Try Catch a další funkce.
- Virtuální joysticky pro snadné ovládání robotických vozítek
- Implementována podpora ESP Now komunikace mezi procesory
- Optimalizován webserver.
- Přidán blok pro čtení ADC pinů pro joystick
- Přidána podpora pro senzor TCS34725
- Přidána podpora pro Rotační enkodéry
- Přidána podpora pro gyroskop MPU6050
- Přidána podpora pro ovládání modelářských servomotorů
- Vytvoření editoru obrázků pro OLED Display
- Experimentální podpora pro ESP8266.
- Přidán vzdálený náhled na OLED Display.
- Rozšířeny bloky pro ovládání robota
- Optimalizován kód webserveru
- Opraveny chyby.
- Vydána první verze ESP IDE.