Nahlásil uživatel: šrafa v exportovaném DXF nedrží měřítko, takže na první
pohled ani nevypadá jako šrafa, a v každém výkresu se chová jinak.
Dvě příčiny:
1. Do výstupu šlo jen *jméno* vzoru (ANSI31), bez definičních čar — ověřeno
na exportovaném souboru: definicnichCar=0. DXF přitom nese definici vzoru
uvnitř entity HATCH; bez ní si ji cílový CAD dosadí ze svých .pat, ve svých
jednotkách a měřítku. Odtud „v každém výkresu jinak". Vypln proto nese
VzorCara (úhel, vztažný bod, rozteč, čárkování) a export ji zapisuje.
2. Vzor se neškáloval spolu s geometrií. Logo se do rámečku rozpisky vejde jen
zmenšené (typicky ~0,1×), ale rozteč vzoru zůstávala původní — v CADu z toho
byla buď plná plocha, nebo pár čar přes celé logo. TransformRenderer teď
mapuje i definici: vztažný bod celou transformací, rozteč jako vektor (bez
posunu), délky čárek a měřítko × měřítko transformace.
Měřítko a úhel se do HATCH zapisují neutrální (1 a 0) a efektivní hodnoty nese
definice. ACadSharp totiž při zápisu násobí rozteč hodnotou PatternScale, ale
při čtení zpátky nedělí — s nenulovým měřítkem by se vzor s každým kolečkem
desetkrát roztáhl (změřeno).
Po opravě je rozteč v exportu shodná se zdrojem 1:1 a při zmenšení loga 0,1×
klesne desetkrát, takže počet čar přes logo zůstává stejný. Náhledy všech
9 log jsou pixel po pixelu beze změny. 119 testů zelených.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ROZPISKY.md §3 popisuje nové rozhraní (KresliciStav, Vypln, rozšířený TextStyle)
a hlavně *proč* barva nese původ, ne jen RGB. Přibyla tabulka DXF entit, které
se čtou, a seznam známých omezení — inline kódy MTEXTu, zarovnání Aligned/Fit,
typy čar, dohledávání vzoru šrafy v CADu. Opraveno tvrzení, že tloušťka čáry je
jen Layer.LineWeight; zapisuje se i na entitu.
CLAUDE.md doplněno druhé pravidlo architektury: co má přežít cestu DXF → model
→ DXF, musí protéct rozhraním — obcházet ho zpátky na CadDocument šablony je
porušení toho prvního. Baseline testů 57 → 114 (i v subagentech).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Skrytí se neruší smazáním přejmenovaného záznamu (rozdíl nedrží historii
operací) – vrátí ho až zapsání téže hodnoty znovu. U vícepolových číselníků
je potřeba trefit všechna pole, jinak zůstane jako vlastní záznam.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Loga se dosud hledala jen v loga\ vedle .exe. Kdo si do číselníku přidal
firmu s vlastním logem, musel .dxf nakopírovat do instalační složky – tu ale
přeinstalace přepíše a v Program Files do ní nejde psát. Číselník firmu
přežil, logo ne.
Nově se hledá nejdřív v %APPDATA%\Rozpisky\loga a teprve pak mezi
dodávanými; nabídka v Údajích projektu je sjednocením obou složek (stejné
jméno se nezdvojuje). Tlačítko v Nastavení složku založí a otevře.
Hierarchie je stejná jako u číselníků a je to úmyslné: při konfliktu vyhrává
uživatelská vrstva. Kdyby vyhrávala dodávaná, uživatelova úprava by se tiše
neprojevila – on ji vidí uloženou, program pracuje s něčím jiným. Výjimkou
zůstávají data držící správnost výstupu (mapovani.json, Rozpiska.dxf), kde
vyhrává program.
Subagenti dostali explicitní model: render-dxf a wpf-ui sonnet,
verifikator haiku (jen spouští build a testy).
Build 0 chyb / 0 varování, 55 testů zelených (5 nových na slučování nabídky).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ROZPISKY.md §2 a §8, ROZHRANI.md §3.4 (a odškrtnutá otevřená otázka v §9),
CLAUDE.md. Baseline testů v promptech subagentů 36 -> 50.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Kořen mísil tři nesouvisející věci. Nově:
- docs/ – podklady jen pro tvorbu programu (ROZPISKY, ROZHRANI,
PODKLAD_CAD, manuál SŽ v .md)
- Rozpisky/Podklady/ – podklady nutné k běhu, dodávané vedle .exe
(Rozpiska.dxf, SEZNAM.xlsx, manuál .pdf, ciselniky.json,
mapovani.json, loga/)
- vzorky/ – cizí vstupy pro ruční zkoušení (schema.dxf)
Mění se jen zdrojový strom. Rozvržení vedle .exe zůstává ploché (+ loga\)
přes metadata Link v .csproj, takže všechny resolvery nad AppContext.BaseDirectory
fungují beze změny. Konec odkazů přes ..\ ven z projektu.
Doprovodně: cesty v TestData.Logo, odkazy v dokumentaci, CLAUDE.md a v promptech
subagentů.
Build 0 chyb / 0 varování, 36 testů zelených.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>