Compare commits

...

6 Commits

Author SHA1 Message Date
MpakobecEx af3fb2b621 client: Login по референсу — 2D key art и неоновый UI
CI / test (push) Successful in 3m16s Details
- Login: полноэкранный арт Resources/Login/login_bg, неоновая панель
  560x420, два поля, кнопка «Войти», ссылка «Создать аккаунт», статус.
- NeonUi: 9-slice панель/поле/кнопка с фаской, свечение, иконки.
- LoginMenu: гамбургер, RU/EN, версия, адрес сервера; закрытие по Esc,
  кнопке и клику вне панели.
- Tab/Shift+Tab между полями, Enter отправляет форму (в открытом меню — нет).
- 3D-окружение в Login больше не строится; SceneSmoke проверяет backdrop,
  окружение требуется только для Lobby.
- EditMode 60/60, SCENE_SMOKE success=True, standalone собран.
- План: TASK-2026-021 C1-C9; ручная приёмка — за пользователем.
2026-10-31 17:30:09 +05:00
MpakobecEx dbb4888299 client: packages-lock с MCP for Unity v10.3.0
Пакет разрешён Unity при первой сборке: git-источник и hash зафиксированы.
2026-10-31 00:10:06 +05:00
MpakobecEx 0620ec5477 tools: парсер карт и артов с официального сайта
- tools/import_official.py: единый источник параметров и картинок

- карточка даёт rarity и trigger (поле gift), вики больше не нужна

- идемпотентность: 0 различий с content/sets, 94 определения / 124 принта

- ручные поля (snipeBackRow, boost, nameRu, textRu) сохраняются

- README: команда импорта и режимы; .gitignore: __pycache__

- план: TASK-2026-020
2026-10-31 00:10:06 +05:00
MpakobecEx f2ae6b9e4f art: официальные PNG вместо Fandom JPG (124 принта)
- источник: en.cf-vanguard.com, /images/cardlist/{set}/{CODE}.png

- 350x511 PNG; старые JPG были 350x514, разрешение не потеряно

- .meta сохранены: GUID и настройки импорта перенесены с jpg на png

- 123 jpg удалены, 124 png добавлены, bt01_s07 перезаписан
2026-10-31 00:10:00 +05:00
MpakobecEx acd9b09605 tooling/docs: MCP for Unity, процесс DeepSeek и план сцен/3D/анимаций
- opencode.jsonc: MCP for Unity (localhost:8080) и watcher.ignore

- client/Packages/manifest.json: com.coplaydev.unity-mcp v10.3.0

- процесс: реализацию тоже выполняет DeepSeek (AGENTS, AGENT-WORKFLOW, Skill, README)

- план: TASK-2026-019 и бэклог CLIENT-SCENES-3D-ANIMATIONS

- .gitignore: локальный CardArt_4x (251 МБ) не коммитим

- SESSION-STATE и HANDOFF: состояние сессии и запись 2026-10-30
2026-10-30 02:34:48 +05:00
MpakobecEx 26934c9213 client/server: анимации 3D-поля, HUD и правила (WIP)
- Board3D: CardMoveAnimator, Card3D, GameBoard3D, раскладка, слоты, меши

- Battle: AnimationConfig, CameraDirector, TriggerCheckSequence

- UI: BattleView, новый PlayerStatsPanelView

- Settings/ProjectSettings: URP-профиль и настройки проекта

- Rules/Shared: колонки Tejas и проекция матча

- тесты: GameBoard3D, ClientSmoke; док ANIMATION-INVENTORY
2026-10-30 02:34:36 +05:00
426 changed files with 8435 additions and 791 deletions

8
.gitignore vendored
View File

@ -5,6 +5,10 @@
appsettings.Production.json appsettings.Production.json
secrets.json secrets.json
# --- Python ---
__pycache__/
*.pyc
# --- .NET --- # --- .NET ---
bin/ bin/
obj/ obj/
@ -46,6 +50,10 @@ client/Assets/StreamingAssets/aa/*
client/*.log client/*.log
client/TestResults*.xml client/TestResults*.xml
# Локальный 4x-арт (251 МБ, кодом не используется) — не коммитим
client/Assets/Vanguard/Resources/CardArt_4x/
client/Assets/Vanguard/Resources/CardArt_4x.meta
# --- Unity прочее --- # --- Unity прочее ---
*.unitypackage *.unitypackage
crashlytics-build.properties crashlytics-build.properties

View File

@ -49,7 +49,8 @@ description: Use for any work in the Vanguard ReMaster repository: Cardfight!! V
- **После блока:** клиентские EditMode, серверные тесты (на home), `validate`, - **После блока:** клиентские EditMode, серверные тесты (на home), `validate`,
`translations check`, коммит и push. `translations check`, коммит и push.
- **Сначала план, потом код:** новые изменения проходят анализ DeepSeek с - **Сначала план, потом код:** новые изменения проходят анализ DeepSeek с
записью в `docs/Development/IMPLEMENTATION_PLAN.md`, затем реализацию Kimi. записью в `docs/Development/IMPLEMENTATION_PLAN.md`, затем реализацию —
её тоже выполняет DeepSeek, отдельным проходом по готовому плану.
Передача — через файлы и Git, не через память модели. Детали — Передача — через файлы и Git, не через память модели. Детали —
`docs/Development/AGENT-WORKFLOW.md`. `docs/Development/AGENT-WORKFLOW.md`.

View File

@ -64,6 +64,12 @@
- **[D]** 3D-сцена, отдельные сцены Login/Lobby/DeckBuilder/Battle; HUD — - **[D]** 3D-сцена, отдельные сцены Login/Lobby/DeckBuilder/Battle; HUD —
uGUI; reference 1920×1080. uGUI; reference 1920×1080.
- **[D]** Анимации описываются для локального игрока. Для противника
применяются те же правила, но зеркально с его стороны поля: направление,
сторона появления карты, наклон веера и порядок перекрытия зеркальны;
камера также отражается относительно центра стола. Отдельные
«противнические» анимации не делать, если это не подтверждённое
исключение.
- **[D]** Камера в покое фиксирована по центру поля с небольшим наклоном; - **[D]** Камера в покое фиксирована по центру поля с небольшим наклоном;
временно двигается только `CameraDirector` в trigger-последовательности. временно двигается только `CameraDirector` в trigger-последовательности.
- **[D]** Выбор карты/круга/зоны/цели — клик/драг по объекту; кнопки только - **[D]** Выбор карты/круга/зоны/цели — клик/драг по объекту; кнопки только
@ -112,7 +118,8 @@
## 4. Процесс разработки ## 4. Процесс разработки
Формальный двухэтапный процесс DeepSeek → Kimi описан в Формальный двухэтапный процесс (анализ → план → реализация; обе стадии
выполняет DeepSeek, но раздельно) описан в
`docs/Development/AGENT-WORKFLOW.md`; активный план задачи — в `docs/Development/AGENT-WORKFLOW.md`; активный план задачи — в
`docs/Development/IMPLEMENTATION_PLAN.md`. Ниже — краткие правила, без `docs/Development/IMPLEMENTATION_PLAN.md`. Ниже — краткие правила, без
дублирования шаблона плана. дублирования шаблона плана.

View File

@ -40,8 +40,9 @@
## Вопросы ## Вопросы
- Для существенной неопределённости используй специальный инструмент - **Все вопросы задавай только через специальный инструмент `question`.**
`question` (если он недоступен — задай вопрос обычным сообщением). Это относится к любым уточнениям, выборам и открытым вопросам. Обычным
сообщением вопрос задавай только если инструмент недоступен.
- Предлагай 2–4 коротких варианта с рекомендацией и возможность своего ответа. - Предлагай 2–4 коротких варианта с рекомендацией и возможность своего ответа.
- Дождись ответа, прежде чем принимать зависящее от него решение. - Дождись ответа, прежде чем принимать зависящее от него решение.
- Не спрашивай о том, что уже однозначно установлено кодом, документацией или - Не спрашивай о том, что уже однозначно установлено кодом, документацией или
@ -50,22 +51,23 @@
## Двухэтапная разработка ## Двухэтапная разработка
- Любое пожелание, требующее изменения игры/кода, сначала проходит **анализ и - Любое пожелание, требующее изменения игры/кода, сначала проходит **анализ и
план DeepSeek**, затем **реализацию Kimi**. Не начинай код без плана, кроме план**, затем **реализацию**. Оба этапа выполняет DeepSeek, но раздельно:
явно тривиальной правки, которую пользователь разрешил сделать сразу. не начинай код в том же проходе, где анализируешь, кроме явно тривиальной
правки, которую пользователь разрешил сделать сразу.
- Активный план и журнал задач — `docs/Development/IMPLEMENTATION_PLAN.md`; - Активный план и журнал задач — `docs/Development/IMPLEMENTATION_PLAN.md`;
подробный процесс — `docs/Development/AGENT-WORKFLOW.md`. подробный процесс — `docs/Development/AGENT-WORKFLOW.md`.
- DeepSeek на этапе анализа не меняет игровой код, сцены, префабы, SO и - На этапе анализа не меняются игровой код, сцены, префабы, SO и конфиги;
конфиги; можно читать, задавать вопросы и обновлять план/документацию. можно читать, задавать вопросы и обновлять план/документацию.
- Kimi перед реализацией читает `AGENTS.md`, Skill и раздел задачи, проверяет - Перед реализацией прочитай `AGENTS.md`, Skill и раздел задачи, проверь Git и
Git и актуальность файлов/методов. Устаревший план не является разрешением на актуальность файлов/методов. Устаревший план не является разрешением на
изменения. изменения.
- Передача контекста — только через файлы репозитория и Git, не через память - Передача контекста — только через файлы репозитория и Git, не через память
модели. Если агенты в разных ветках/копиях, это фиксируется в плане. модели. Если агенты в разных ветках/копиях, это фиксируется в плане.
- Статусы пунктов: `[ ]`, `[x]`, `[!]`, `[-]`; отдельно указывается - Статусы пунктов: `[ ]`, `[x]`, `[!]`, `[-]`; отдельно указывается
«Реализация» и «Проверка». `[x]` без проверки запрещён. «Реализация» и «Проверка». `[x]` без проверки запрещён.
- Kimi не расширяет объём, не делает необязательный рефакторинг и не удаляет - На этапе реализации не расширяй объём, не делай необязательный рефакторинг и
чужие изменения. При новом существенном решении пользователя — вопрос и не удаляй чужие изменения. При новом существенном решении пользователя —
остановка зависимой части. вопрос и остановка зависимой части.
## Изменения ## Изменения

View File

@ -98,13 +98,22 @@ OK: ошибок 0, предупреждений 0
## Контент ## Контент
Первоисточник — официальный карт-лист `en.cf-vanguard.com`; триггеры и редкости Первоисточник — официальный карт-лист `en.cf-vanguard.com`: и параметры карт,
выгружены из вики. Пересобрать YAML: и арты берутся с одного сайта (`tools/import_official.py`). Пересобрать YAML
и докачать недостающие арты:
```powershell ```powershell
python tools/import_cards.py py tools/import_official.py --sets BT01,TD01,TD02
``` ```
Полезные режимы: `--list-sets` (какие сеты есть и их id), `--no-art`,
`--dry-run`, `--limit N` для пробного прогона. На Windows, где `python` —
заглушка Microsoft Store, используйте `py`.
`tools/import_cards.py` — прежний вариант (триггеры и редкости брались из вики,
арты — с Fandom); оставлен как справка. Ручные поля из существующих YAML
(`snipeBackRow`, `boost`, `nameRu`, `textRu`) новый импорт сохраняет.
Валидатор проверяет инварианты, которые легко нарушить вручную: Валидатор проверяет инварианты, которые легко нарушить вручную:
- у grade 0 щит 5000 **только** у Draw-триггера, иначе 10000; - у grade 0 щит 5000 **только** у Draw-триггера, иначе 10000;
@ -158,7 +167,8 @@ dotnet run --project server/src/Vanguard.Cli -- translations check
- `IMPLEMENTATION_CHECKLIST.md` — исторический план по блокам и гейтам. - `IMPLEMENTATION_CHECKLIST.md` — исторический план по блокам и гейтам.
- `docs/Development/IMPLEMENTATION_PLAN.md` — активный журнал задач и шаблон - `docs/Development/IMPLEMENTATION_PLAN.md` — активный журнал задач и шаблон
плана. плана.
- `docs/Development/AGENT-WORKFLOW.md` — двухэтапный процесс DeepSeek → Kimi. - `docs/Development/AGENT-WORKFLOW.md` — двухэтапный процесс: анализ → реализация
(обе стадии на DeepSeek).
- `docs/HANDOFF.md` — состояние на конец сессии и порядок следующих шагов. - `docs/HANDOFF.md` — состояние на конец сессии и порядок следующих шагов.
- `docs/protocol.md` — протокол матча: кадры, интенты, события, таймеры, реконнект. - `docs/protocol.md` — протокол матча: кадры, интенты, события, таймеры, реконнект.
- `docs/game-rules.md` — конспект правил и сверка с текущей реализацией. - `docs/game-rules.md` — конспект правил и сверка с текущей реализацией.

View File

@ -84,6 +84,7 @@ MonoBehaviour:
m_SupportScreenSpaceLensFlare: 1 m_SupportScreenSpaceLensFlare: 1
m_GPUResidentDrawerMode: 0 m_GPUResidentDrawerMode: 0
m_SmallMeshScreenPercentage: 0 m_SmallMeshScreenPercentage: 0
m_ShadowSmallMeshScreenPercentages: {x: 0, y: 0, z: 0, w: 0}
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
m_ShadowType: 1 m_ShadowType: 1
m_LocalShadowsSupported: 0 m_LocalShadowsSupported: 0
@ -100,18 +101,18 @@ MonoBehaviour:
m_Keys: [] m_Keys: []
m_Values: m_Values:
m_PrefilteringModeMainLightShadows: 3 m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 4 m_PrefilteringModeAdditionalLight: 0
m_PrefilteringModeAdditionalLightShadows: 0 m_PrefilteringModeAdditionalLightShadows: 2
m_PrefilterXRKeywords: 1 m_PrefilterXRKeywords: 1
m_PrefilteringModeForwardPlus: 1 m_PrefilteringModeForwardPlus: 2
m_PrefilteringModeDeferredRendering: 0 m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 1 m_PrefilteringModeScreenSpaceOcclusion: 2
m_PrefilteringModeScreenSpaceReflection: 1 m_PrefilteringModeScreenSpaceReflection: 0
m_PrefilterWriteSmoothness: 1 m_PrefilterWriteSmoothness: 1
m_PrefilterDebugKeywords: 1 m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 0 m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1 m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 0 m_PrefilterAlphaOutput: 1
m_PrefilterSSAODepthNormals: 0 m_PrefilterSSAODepthNormals: 0
m_PrefilterSSAOSourceDepthLow: 1 m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 1 m_PrefilterSSAOSourceDepthMedium: 1
@ -123,20 +124,23 @@ MonoBehaviour:
m_PrefilterSSAOSampleCountHigh: 1 m_PrefilterSSAOSampleCountHigh: 1
m_PrefilterDBufferMRT1: 1 m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1 m_PrefilterDBufferMRT2: 1
m_PrefilterDBufferMRT3: 0 m_PrefilterDBufferMRT3: 1
m_PrefilterSoftShadowsQualityLow: 0 m_PrefilterSoftShadowsQualityLow: 1
m_PrefilterSoftShadowsQualityMedium: 0 m_PrefilterSoftShadowsQualityMedium: 1
m_PrefilterSoftShadowsQualityHigh: 0 m_PrefilterSoftShadowsQualityHigh: 1
m_PrefilterSoftShadows: 0 m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 1 m_PrefilterScreenCoord: 1
m_PrefilterScreenSpaceIrradiance: 0 m_PrefilterScreenSpaceIrradiance: 1
m_PrefilterNativeRenderPass: 1 m_PrefilterNativeRenderPass: 1
m_PrefilterUseLegacyLightmaps: 0 m_PrefilterUseLegacyLightmaps: 0
m_PrefilterBicubicLightmapSampling: 0 m_PrefilterBicubicLightmapSampling: 1
m_PrefilterReflectionProbeRotation: 0 m_PrefilterReflectionProbeRotation: 0
m_PrefilterReflectionProbeBlending: 0 m_PrefilterReflectionProbeBlending: 0
m_PrefilterReflectionProbeBoxProjection: 0 m_PrefilterReflectionProbeBoxProjection: 0
m_PrefilterReflectionProbeAtlas: 0 m_PrefilterReflectionProbeAtlas: 0
m_PrefilterPointSamplingUpsampling: 1
m_Light2DPrefilteringMode: 0
m_Light2DKeptVariantCombos: []
m_ShaderVariantLogLevel: 0 m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0 m_ShadowCascades: 0
m_Textures: m_Textures:

View File

@ -72,7 +72,22 @@ MonoBehaviour:
- rid: 6588237625532874761 - rid: 6588237625532874761
- rid: 6588237625532874762 - rid: 6588237625532874762
m_RuntimeSettings: m_RuntimeSettings:
m_List: [] m_List:
- rid: 6852985685364965378
- rid: 6852985685364965380
- rid: 6852985685364965381
- rid: 6852985685364965384
- rid: 6852985685364965392
- rid: 6852985685364965394
- rid: 8712630790384254976
- rid: 4284062438471237637
- rid: 5747374308340793346
- rid: 5747374308340793347
- rid: 5747374308340793348
- rid: 6588237625532874753
- rid: 6588237625532874756
- rid: 6588237625532874759
- rid: 6588237625532874761
m_AssetVersion: 11 m_AssetVersion: 11
m_ObsoleteDefaultVolumeProfile: {fileID: 0} m_ObsoleteDefaultVolumeProfile: {fileID: 0}
m_RenderingLayerNames: m_RenderingLayerNames:

View File

@ -115,17 +115,21 @@ namespace Vanguard.Editor
var active = SceneManager.GetActiveScene().name; var active = SceneManager.GetActiveScene().name;
var environment = GameObject.Find("Vanguard 3D Environment"); var environment = GameObject.Find("Vanguard 3D Environment");
var backdrop = GameObject.Find("LoginBackdrop");
var login = GameObject.Find("LoginScreen"); var login = GameObject.Find("LoginScreen");
var lobby = GameObject.Find("MetaScreen"); var lobby = GameObject.Find("MetaScreen");
var onboarding = GameObject.Find("OnboardingScreen"); var onboarding = GameObject.Find("OnboardingScreen");
var success = environment != null var isLogin = active == SceneFlow.Login;
&& (active == SceneFlow.Login || active == SceneFlow.Lobby) var isLobby = active == SceneFlow.Lobby;
&& (login != null || lobby != null || onboarding != null); var success = (isLogin || isLobby)
&& (login != null || lobby != null || onboarding != null)
&& (isLogin ? backdrop != null : environment != null);
Debug.Log( Debug.Log(
"SCENE_SMOKE success=" + success "SCENE_SMOKE success=" + success
+ " active=" + active + " active=" + active
+ " env=" + (environment != null) + " env=" + (environment != null)
+ " backdrop=" + (backdrop != null)
+ " login=" + (login != null) + " login=" + (login != null)
+ " lobby=" + (lobby != null) + " lobby=" + (lobby != null)
+ " onboarding=" + (onboarding != null) + " onboarding=" + (onboarding != null)

View File

@ -28,15 +28,25 @@ MonoBehaviour:
intercept: 1.9 intercept: 1.9
perfectGuard: 2 perfectGuard: 2
inputLockTail: 0.15 inputLockTail: 0.15
eventPause: 1.5
postDrivePause: 1.5
postTriggerPause: 1.5
postDamagePause: 1.5
arrowShowDuration: 0.25 arrowShowDuration: 0.25
arrowHideDuration: 0.2 arrowHideDuration: 0.2
moveDuration: 0.5 moveDuration: 0.8
importantMoveDuration: 0.9 importantMoveDuration: 1.3
moveDelayBetweenCards: 0.18 moveDelayBetweenCards: 0.22
arcHeight: 0.45 arcHeight: 0.45
cameraZoomDuration: 0.35 introOverheadHold: 1.5
triggerRevealHold: 1.2 introCameraMoveDuration: 1
cameraReturnDuration: 0.4 introMainHold: 1.5
introDrawDuration: 0.6
cameraZoomDuration: 0.5
vanguardRevealDuration: 0.8
triggerRevealDuration: 0.35
triggerRevealHold: 0.75
cameraReturnDuration: 0.5
cameraRezoomDuration: 0.3 cameraRezoomDuration: 0.3
growDuration: 0.35 growDuration: 0.35
dashScrollSpeed: 1.5 dashScrollSpeed: 1.5

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 465 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

Some files were not shown because too many files have changed in this diff Show More