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>
3.5 KiB
Rozpisky — pokyny pro Claude Code
WPF desktopová aplikace (.NET 10, net10.0-windows, AnyCPU) — generátor výkresových rohových
razítek („rozpisek") pro Správu železnic. Náhrada původního excelového nástroje „Rozpisky 1.0.8".
Příkazy
dotnet build "Rozpisky.sln" -nologo -v q -clp:ErrorsOnly
dotnet test "Rozpisky.Tests\Rozpisky.Tests.csproj" -nologo -v q
dotnet run --project "Rozpisky\Rozpisky.csproj"
Baseline: build bez chyb a varování, 36 testů zelených. Před hlášením hotovo obojí spustit
(nebo použít /overit).
Architektura — jediné pravidlo, které se nesmí porušit
Veškerá kresba jde přes jedno rozhraní IProfileRenderer.
Tatáž kresba teče na obrazovku, do PNG, do PDF i do DXF. Nový výstupní formát = nová implementace
IProfileRenderer, nikdy nový kreslicí kód. Čtečka DxfTemplate
jen čte DXF šablonu a „přehrává" ji do tohoto rozhraní.
Podrobnosti (vrstvy, NuGet API, pravidla zápisu DXF) — ROZPISKY.md. Nečíst celý,
jen relevantní kapitolu.
Konvence
- Kód, komentáře, commity i názvy typů jsou česky (
BoundsTesty,PlaceholderHladiny,NajdiKoren). Držet se toho, nepřejmenovávat do angličtiny. - MVVM bez frameworku: znovupoužít
RelayCommandaObservableObject— nepsat vlastní ani nepřidávat NuGet (CommunityToolkit apod.). - XAML: barvy a rozměry jen z
Rozpisky/Themes/Colors.Dark.xamlaMetrics.xaml(WPF-DarkTheme-Kit). Žádné hardcoded#RRGGBBani natvrdo zadané odsazení. NullableaImplicitUsingsjsou zapnuté v obou projektech.- COM (CAD, MS Excel) jde přes pozdní vazbu (
dynamic) — nepřidávat interop assembly.
Rozvržení složky — tři druhy podkladů
| Kde | Co to je |
|---|---|
docs/ |
Podklady jen pro tvorbu programu — architektura, datový model, normativní manuál SŽ v .md. Nedodává se uživateli. |
Rozpisky/Podklady/ |
Podklady nutné k běhu — kopírují se vedle .exe (plochá struktura + loga\, řídí Link v .csproj). Aplikace je jen čte. |
%APPDATA%\Rozpisky |
Podklady vznikající za běhu — vše, co píše uživatel. V repu nejsou a nemají tam co dělat. |
vzorky/ |
Cizí vstupy pro ruční zkoušení (schema.dxf). Nedodává se. |
Nové dodávané datum = do Rozpisky/Podklady/ a řádek v .csproj s Link, ať výstup
zůstane plochý. Nový zapisovaný soubor = přes UzivatelskaData.Cesta(...), nikdy
AppContext.BaseDirectory.
Kam nesahat
Rozpisky/Podklady/Rozpiska.dxf,vzorky/schema.dxf— produkční DXF šablony.Rozpisky/Podklady/loga/*.dxf— dodávaná loga (9 ks, testy je renderují).Rozpisky/Podklady/SEZNAM.xlsx— mustr „Seznam příloh".docs/SZ_SM011_P10_Manual_v6.md,Rozpisky/Podklady/SZ_SM011_P10_Manual_v6.pdf— normativní podklad SŽ, jen ke čtení.
Delegování
Specializovaní subagenti v .claude/agents/: render-dxf (Rendering/, Dxf/), wpf-ui
(ViewModels/, Views/, Themes/), verifikator (read-only build + testy). Pro úkol spadající
celý do jedné z těchto domén je použít; drobnosti napříč vrstvami řešit v hlavním vlákně.
Další dokumentace
ROZHRANI.md — obrazovky, pole a datový model.
PODKLAD_CAD_Layout_Tisk.md — CAD, layouty a tisk přes COM.