FILTER OVERLAP AND OWNED-ONLY INVENTORY — 2026-11-08 — version 1.0
- Hide the separate lot-detail background while filters are open; restore it on close. The old background covered the right side of the wider filter panel.
- Show only current-farm OWNED equipment in Sell equipment. Exclude leased/mission/foreign vehicles; retain real machinery classification and sale guards.
- Update the inventory title/count in all five languages; stop automatic inventory traces now that the missing CLAAS was confirmed to be leased.
- Checked filter open/close with selected lot and empty catalog, owned-only inventory, Lua/XML/localization parity and market regression suite. FS25 rendering was not executed here.

LOG-BASED PHOTO FIX AND FARM INVENTORY — 2026-11-07 — version 1.0
- Fix inverted photos by copying Overlay.DEFAULT_UVS instead of hand-written texture coordinates. Preserve explicit pixel aspect fitting.
- Fix imageSize syntax (512 512, no px suffix) and remove prohibited io.open reads reported in the supplied game log.
- Move Sell equipment before Settings, including backgrounds, labels, hit targets and XML focus order.
- Do not hide farm equipment because it is leased, mission-provided, locked or lacks an ID. Display the relevant blocker; keep server sale restrictions. Prioritize live combine/motorized-driveable identity over shop labels.
- Add inventory logging before selection, including owner/property state, to diagnose missing machines. The supplied log loads the stock CLAAS LEXION 8900 but does not record its owner/property state or the former filter result; its exact exclusion cause is not established.
- Regression checks: native UV copying, no forbidden reads, numeric XML dimensions, tab order, CLAAS inventory scenarios and original sale/collection. Game rendering and this savegame are not executable in this environment.

IMAGE AND MOD-SALE FOLLOW-UP — 2026-11-07 — version 1.0
- Explicit per-picture pixel aspect fit for lot, history and sale images; full texture UVs and centered placement. Optional loose DDS/PNG header dimensions; square fallback for packed store icons.
- Resolve live-vehicle relative XML paths with its base directory or exact mod namespace. Normalize dot segments without basename collisions.
- Remove false commodity matches in custom mod namespaces/categories; keep pallet forks/transport machinery and reject actual cargo.
- Respect the native property-state accessor and explicit sale prohibitions. Do not treat an absent custom canBeSold value as a prohibition.
- Distinguish compatibility exceptions from missing shop records; localized error and rate-limited [UMA] Sale log context.
- Checks: 135 image geometry cases, mod listing/UI/confirm/save/reload/collection regressions, existing sale/ADS suites. FS25 engine and the user's unspecified machine mod have not been run here.

FULL FEEDBACK AUDIT — version 1.0
- Remove the obsolete repair-quote API requirement and calculation; inspection no longer depends on repair estimates. Preserve reading of historical save/network fields.
- Use the native ADS inspection aggregate for the measured summary. Preserve service interval data and the real-hour counter with frozen components/consumables; do not overwrite an unchanged original odometer. Old snapshots without optional counters retain initialized values.
- Stop legacy random appraisal indexes from producing unsupported broken-part notices after winning.
- Retain paid reports in My Auctions even without a bid, after expiry and save/reload. Show inspection summaries for active/unsuccessful lots and immutable purchase summaries for purchases. Keep reports farm-private.
- Switch immediately to the newly received inspection report. Close the picker on tab changes; block premature confirmation until native prices are available. Non-powered equipment no longer points to a nonexistent component report. Sort reported faults consistently.
- Resolve namespaced mod vehicle types before similarly named base types.
- Verify all five locale key sets and format arguments; retain identical condition/paint fonts, three history cards, aspect-fit pictures, plain minus/arrows, separate auto-bid entry and manual sale-price controls.
- Added isolated tests running actual local ADS component solver, consumable logic, dealer pricing, inspection handler/serialization and operating-time API: 6 conditions x 3 tiers, exact report equality, fractional hours and preserved service counters. Engine-facing registration/network/log scaffolding remains mocked. All existing mock market tests and new audit regressions passed. Real FS25 rendering/physics/multiplayer still requires in-game testing.

SCREENSHOT FIXES — version 1.0
- Remove repair-estimate screens. Replace the lot estimate tab with independent automatic bid configuration: typed private maximum, quick adjustments, fee preview and explicit activation/save confirmation. Ordinary bid entry remains separate.
- Use the native aspect-fit Picture element for lot, history and seller photos, preserving standard square shop-image proportions inside wide frames. Wrap My Auctions summary onto two lines.
- Replace unsupported decorative arrows and minus glyph with <, > and ASCII -. The decrement label now visibly matches the subtraction action.
- Support original mod vehicles without ADS or explicitly excluded from ADS, using their real ordinary condition. Resolve full registered shop paths across separator/case differences. Preserve the ADS/vanilla choice for original listings across load. Expose temporarily blocked owned vehicles and explain the reason.
- Update five languages and descriptions. Mock checks include mod sale/collection, active-list reload, previous cargo and ownership paths, separate automatic-bid edits/confirmation/currency, invalid amounts, unchanged manual bid and readable signs/arrows. Engine rendering and real FS25/ADS multiplayer are still untested here.

SALE SCREEN UPDATE — version 1.0
- Temporarily remove Watch & search navigation, watch/save-search buttons and related alerts. Keep previous save data compatible and leave automatic bids available.
- Accept filled and attached owned machines. Use native networked detachment when listing the selected original; connected implements remain with the seller. Native non-detachable and other-farm connections are unavailable.
- Existing fill-unit contents travel with the original; no content duplication, separate sale or automatic cargo payout. Block native filling/unloading while listed or awaiting collection.
- Redesign Sell equipment: large shop image, contents summary, larger editable price, Apply button, Enter/Esc handling, seller proceeds and two duration arrows with bounded ranges. Four navigation tabs; five languages updated.
- Mock tests: filled attached sale, independent ownership of neighboring implements, cargo lock and exact transfer, pending save/load, price validation/currency/apply/cancel, duration bounds, image/fallback and removed controls; previous budget, settlement and ADS adapter checks retained. Real FS25/ADS and multiplayer acceptance testing remains required.

AUCTION MARKET FEATURES — version 1.0
- Sell original owned machines with reserve price, game-time duration, seller commission and AI/player bidding. Block use, maintenance and duplicate sale while listed or awaiting collection. Preserve configuration, age, hours, ADS state and existing service history. No-sale returns the original; withdrawal only before the first bid. Buyer collects at the seller's parking location without delivery fees.
- Farm-private automatic bid caps, deterministic equal-cap priority, cross-lot budget reservation and server-authorized requests. Disabling a cap keeps existing bids binding.
- Farm watchlists, ending/completion notifications, six saved searches per farm and matching-lot notifications.
- Native ADS dealer repair estimates after paid inspections: materials, labor, total and workshop time, within the purchased inspection scope and excluding paint. Estimates are archived with reports and may differ from future workshop prices.
- Five shop-colored navigation tabs, dedicated sale form, watch/search page and repair estimate view. Updated English, Ukrainian, Russian, German and French text and descriptions.
- Automated checks outside FS25: Lua/XML, permissions, money, equal caps, persistence, farm-private network state, sale/no-sale/AI settlement, original-vehicle collection, native adapter rollback, diagnostic receipt retry, UI callbacks and five locales. Engine rendering, physics, real networking and native ADS execution still require in-game acceptance testing.

EARLIER CHANGES (historical; later entries above supersede previous behavior)

Full shop-style layout redesign: eight two-line catalogue cards, wide machine panel, horizontal overview/specification/inspection/bid tabs, six-row bid history, fixed purchasing area, expanded purchase history and green/neutral shop palette.
Visual redesign: graphite surfaces, teal navigation and actions, clearer text hierarchy, framed financial summary, diagnostic cards and two-column settings.
My Auctions: three visible diagnostic cards with full-height scrollbar. Updated mod descriptions in all five languages for ADS inspections, dealer pricing, game-time auctions and persistent purchase reports.
Diagnostic reports: replace page arrows with mouse-wheel scrolling by one card and a draggable vertical scrollbar, in auction details and My Auctions. Independent offsets reset on lot/report change.
Fix diagnostic picker: hide underlying content and restore it on close. Remove integration/service settings panel and independent speed control. Auction clock follows environment game time including pauses, midnight and sleep. Color inspection readings and purchase condition by remaining condition, invert clogging severity. Update all five localizations.
UI: dedicated inspection picker with descriptions, ADS dealer quotes and explicit payment; stress readings hidden. Paid per-farm inspection reports archived in My Auctions and sent only to their buyer. Each higher-tier inspection uses the complete ADS quote, without an auction-specific upgrade discount.
UI: diagnostic levels moved above action buttons and remain visible on all detail pages. Report uses two spaced cards per page, separate metric/value columns and bold component names. Bid history retains scrolling with three visible rows.
ТРИ РІВНІ ОГЛЯДУ ADS — версія 1.0
До огляду відображаються заявлений загальний/механічний стан і фарба. Для самохідних лотів доступні візуальний, стандартний і повний рівні. Візуальний відкриває застосовні витратні матеріали й виявлені поломки; стандартний додає ресурс та ефективність деталей; повний додає навантаження й точні показники. Результати переглядаються посторінково у «Звіт огляду».
Перший огляд завантажує незареєстровану модель без фізики та збереження, формує стан штатними функціями ADS, зберігає його разом із трьома звітами й видаляє модель. Застосовність деталей визначає фактична модель. При отриманні відновлюється збережений стан, а оплачений рівень переноситься в журнал ADS. Перевіряється точний збіг серіалізованого звіту. Невідповідність каталогу/стану залишає покупку в очікуванні отримання.
Ціна рівнів: базова вартість огляду аукціону, x2, x3. Підвищення рівня сплачується різницею; повторне відкриття безкоштовне. Кожна ферма має окремий оплачений рівень. Оплата після успішного формування звіту. ADS-діагностика не застосовується до несамохідної техніки. Старі оплачені діагностики збережено як повний рівень.
Збереження XML, клієнтські звіти, серіалізація стану, три рівні нативного огляду, доплата, ізоляція ферм, точний звіт при отриманні й сторінки звіту перевірені поза грою. Завантаження тимчасової моделі у рушії та мультиплеєр потребують перевірки у FS25.

СТАН ФАРБИ ТА ШРИФТИ — версія 1.0
Повернуто стан фарби для несамохідних лотів і покупок. Огляд показує загальний/механічний стан та стан фарби для всієї техніки. Назви й відсотки обох рядків мають однакові шрифти та вирівняні колонки.

СПРОЩЕННЯ ІНТЕРФЕЙСУ — версія 1.0
Для самохідних машин: механічний стан і стан фарби. Для решти: лише загальний стан. Прибрано пояснення про двигун/ADS і механічний стан без фарби. У «Мої аукціони» прибрано весь блок показників при отриманні; для несамохідних покупок приховано фарбу. Збереження та передача стану не змінюються.

ПЕРЕВІРКА ADS ТА СТАН ПРИ ПОКУПЦІ — 28.10.2026, версія 1.0
Цей розділ замінює попередній опис передачі стану за п’ятьма умовними групами.

- Механічний відсоток самохідної техніки передається через штатний ADS_Components.initializeFromConditionLevel. ADS сам визначає наявні деталі, їхній знос і вагу в загальному стані. При отриманні перевіряється збіг із діагностикою аукціону; фарба до механічного відсотка не входить.
- В огляді самохідного лота залишено загальний механічний стан і фарбу. Умовні значення двигуна/трансмісії більше не видаються за виміряні показники конкретних деталей ADS. Знос не називається підтвердженою поломкою.
- Оплачена діагностика після отримання створює звіт штатним обробником повної діагностики ADS. Старий тимчасовий звіт створеної машини очищається. Без оплати діагностики залишається звичайний початковий запис ADS.
- У «Мої аукціони» додано перемикач «Дані покупки / Стан». Зберігаються заявлений і фактичний стан на аукціоні, факт оплати діагностики, прочитані при отриманні мотогодини, фарба й загальний стан, наявні системи ADS, кількість деталей, мінімальний ресурс і кількість активних поломок деталей. Показники є історичними й не змінюються при подальшому ремонті.
- Знімок покупки зберігається в XML; у мультиплеєрі отримує його лише ферма-покупець, включно з повторним підключенням і подією отримання.
- При невдалій передачі стану новостворена машина прибирається, а оплачена покупка залишається в очікуванні отримання. Помилка більше не замовчується як успішна доставка. Повторної оплати немає.
- Збережено виправлення мотогодин через ADS, виключення несамохідних покупок із ADS, фільтрацію піддонів/мішків та постійну історію отриманих покупок. Розрахунки фарби й стандартного стану більше не містять додаткових множників 0.9/0.85.
- Уже отримані машини не переписуються. Для старих покупок без виміряного знімка інтерфейс прямо вказує, що показники при отриманні не записані. Старі очікувані покупки отримуються за новим механізмом.
- Оновлено українську, англійську, німецьку, французьку й російську локалізації. ADS залишається окремим обов’язковим модом; його файлів у цьому архіві немає.

Перевірки поза грою: оригінальні функції ADS розрахунку ресурсу, зважування й звіту діагностики; різні набори систем, стан 15–99%, нульові ваги, обмеження початкового ресурсу; передачу мотогодин і фарби; повторне застосування; XML-знімок; приватність мережевої передачі; відмову доставки; історію, фільтри, синтаксис Lua/XML і п’ять мов. Макет нової панелі перевірено окремо. FS25 у цьому середовищі не запускався. У грі потрібно перевірити купівлю після діагностики, майстерню ADS, збереження/завантаження та підключення іншого клієнта.

ПОПЕРЕДНІ ЗМІНИ (історія)

МОТОГОДИНИ ADS
Виправлено втрату мотогодин при отриманні самохідної техніки: використовується ADS_VehicleState.setTrackedOperatingTime замість заблокованого ADS стандартного setter. Значення встановлюється до ініціалізації обслуговування і журналу; raiseDirty синхронізує його з клієнтами. Для техніки без ADS збережено звичайний setter. Прочитане значення перевіряється; невдале застосування записується в log.txt. Уже отримані машини автоматично не переписуються.

КАТАЛОГ І ПОВІДОМЛЕННЯ
Виправлено застаріле посилання на видалену сторінку «Вузли ADS» у п’яти мовах. Каталог відсіює піддони, великі мішки, тюки, витратні матеріали й ручні інструменти за категорією та типом об’єкта. Прес-підбирачі та перевізники піддонів не відсіюються лише через назву.
Самохідність уточнюється за спеціалізаціями типу motorized + drivable; для невідомих типів залишається категорійний резервний спосіб. Під час отримання застосовується перевірка спеціалізацій фактичної машини. ADS не змінюється глобально: обмеження стосується придбаної на аукціоні техніки.
Під час запуску старі товарні лоти без ставок/діагностики гравців прибираються. Лоти із зобов’язаннями гравців залишаються до завершення. Версія 1.0.

САМОХІДНА ТЕХНІКА ТА ЗАГАЛЬНИЙ СТАН
Сторінку «Вузли ADS» видалено. Огляд показує загальний відсоток заявленого та перевіреного стану і лише відповідні групи. Для несамохідних лотів двигун і трансмісія виключені з огляду й розрахунку; нові дефекти не генеруються в цих групах. Загальний відсоток є оцінкою груп, а не точним зваженим за деталями підсумком ADS.
Під час отримання наявність motorized + drivable перевіряється на самій машині. Несамохідні покупки виключаються з ADS через його API, залишають стандартний знос. Це стосується покупок після оновлення; вже наявна техніка та глобальна поведінка окремого ADS не змінюються. Версія 1.0.

ІСТОРІЯ ПОКУПОК
Отримані покупки гравців більше не видаляються через ліміт 60 результатів. Захищено очікувані покупки, покупки під час завантаження й отримані покупки всіх ферм. Ліміт застосовується лише до решти результатів. Однакова політика на сервері та клієнті. Уже видалені записи автоматично не відновлюються. Версія 1.0.

ОГЛЯД РЕСУРСУ ADS
Замість загального зносу та оцінок базової гри показані ресурси семи систем, які адаптер передає при отриманні. Застосовуються тільки системи, що реально присутні на машині; це прогноз передачі, не окрема діагностика всіх деталей. Напис про підключення інтеграції у шапці прибрано.
Нові лоти отримують приблизні заявлені оцінки (-5..+10 пунктів); приховані дефекти збережені. Діагностика відкриває незмінні реальні значення. Іноді значення можуть збігатися. Старі активні лоти не переоцінюються. Версія 1.0.

Used Machinery Auction — 1.0

ІНТЕРФЕЙС ADS
- Картка лота: три прямі кнопки «Огляд», «Характеристики», «Вузли ADS».
- Вузли ADS: п’ять груп стану; заявлені показники та реальні показники після аукціонної діагностики. До діагностики — «?». Це групи стану, а не перелік конкретних деталей ADS.
- Загальний стан позначено як оцінку аукціону: підсумок ADS може відрізнятися.
- Сума стандартного ремонту більше не відображається як рахунок ADS: замість неї «У майстерні ADS». Фарбування явно позначене як оцінка базової гри.
- Повідомлення розрізняють прихований стан, вимкнену діагностику, виконану діагностику та виявлений прихований знос.
- У шапці — стан підключення ADS; у налаштуваннях — активність ADS / Vehicle Years і пояснення інтеграції. Це інформація, без нових перемикачів поведінки ADS.
- Для виграної техніки, що очікує отримання, додано пояснення передачі стану. Старим отриманим записам не приписується неперевірений статус інтеграції.
- Оновлено п’ять локалізацій. Перевірено XML, Lua, ширину нових статичних написів; 32 перевірки відображення з імітацією GUI та 48 перевірок інтеграції пройдено. Переглянуто макети за координатами XML; фактичний рендер FS25 і масштабування інтерфейсу ще потребують перевірки в грі.


ІНТЕГРАЦІЯ ADVANCED DAMAGE SYSTEM
Підтримка наданого FS25_AdvancedDamageSystem.zip. ADS не змінюється; встановіть обидва ZIP у mods і ввімкніть обидва моди.
Під час отримання покупки реальний (не заявлений продавцем) стан лота переноситься в ADS: двигун → двигун і охолодження; трансмісія → трансмісія; шини/ходова → шасі; обладнання → електрика, гідравліка й робочі механізми. Кузов залишається візуальним зносом/фарбою базової гри. Це відповідність укрупнених категорій, а не точна діагностика кожної деталі.
ADS отримує ресурс деталей, початковий знос витратних матеріалів та сервісний інтервал. Мотогодини й вік з аукціону зберігаються без перерахунку під шкалу ресурсу ADS. Прихований дефект уже врахований у реальному стані вузла: додаткова випадкова поломка не додається.
Після передачі ADS керує механічним зносом, а стандартне механічне пошкодження скидається для уникнення подвійного штрафу. Стан зберігається та синхронізується штатними механізмами ADS. Подальше завантаження гри не повторює передачу стану.
Загальний відсоток стану в ADS може відрізнятися: ADS зважує ресурс за вартістю деталей. Аукціонні ціни ремонту є оцінкою базової гри; фактичний рахунок ADS формується в його майстерні. Діагностика аукціону тепер прямо позначає цю різницю.
ADS — обов’язкова зовнішня залежність у modDesc.xml. Без активного ADS або за несумісного API менеджер аукціону не запускається та не перезаписує його збереження. Файли й код ADS до аукціону не включено. Для машин, виключених самим ADS, залишається стандартна передача стану. Інтеграція застосовується до отриманих після оновлення покупок, включно з раніше виграними, але ще не отриманими. Вже отримані машини не змінюються.
У мультиплеєрі сервер і клієнти мають використовувати однакові архіви обох модів. Версія аукціону залишається 1.0.

ПЕРЕВІРКА ІНТЕГРАЦІЇ
Перевірено синтаксис усіх 9 Lua-файлів, XML та узгодженість локалізацій. Пройдено 48 логічних перевірок адаптера й запуску з імітацією ігрових інтерфейсів: відсутній/вимкнений/несумісний ADS, запуск сервера і клієнта, захист збереження, відповідність ресурсу вузлів, незмінність фарби й мотогодин, повторне застосування, виключена техніка, очищення попереднього зносу для справної машини. Це не запуск у грі. У FS25 потрібно перевірити отримання техніки, майстерню ADS, збереження/завантаження та мультиплеєр.

АКТИВНІСТЬ ШІ
У налаштуваннях після кількості покупців додано активність: низька, середня, висока. Середня зберігає попередній темп, низька приблизно подвоює затримки, висока скорочує їх до 55%. Зміна застосовується до поточних торгів. Цінові ліміти не змінюються. Значення зберігається з грою і синхронізується у мультиплеєрі.

ПАРАЛЕЛЬНІ ТОРГИ
- Кожен лот має окремий розклад рішень ШІ. Ставка чи діагностика на одному лоті не зупиняє участь на інших.
- Покупці можуть одночасно торгуватися за кілька машин однієї категорії. Купівля одного лота не закриває інші.
- Для кожного нового лота призначається початковий учасник. Решта покупців реагують із різними затримками, можуть перевіряти техніку або входити ближче до завершення.
- Збережено стилі покупців, уподобання, оцінку стану, діагностику, стрибки ставок і обмежений емоційний запас.
- ШІ працюють як покупці з окремими замовленнями: кожен лот отримує власний скінченний бюджет на купівлю, комісію, доставку та діагностику. Кошти іншого замовлення не можуть підвищити цей ліміт. Загальний старий бюджет покупця більше не блокує нові замовлення.
- Ліміти розраховуються один раз за відкритими характеристиками та початковою ціною. Зростання ставки гравця не збільшує ліміт ШІ. Діагностика може його знизити.
- Ліміти, залишки коштів, темп, результати діагностики й таймери зберігаються із грою. Перезавантаження не поповнює замовлення.
- Старі проігноровані лоти отримують замовлення при оновленні. Уже прийняті цінові рішення та оплачені діагностики зберігаються.
- Версія в modDesc.xml — рівно 1.0. Подальші правки також мають залишати цей номер; внутрішні маркери сумісності збережень незалежні від нього.

ВСТАНОВЛЕННЯ
Закрийте гру та замініть попередній FS25_UsedMachineryAuction.zip цим архівом у папці mods. Не розпаковуйте ZIP і не залишайте дубль попереднього моду. У мультиплеєрі сервер і гравці повинні використовувати однаковий архів.

ПЕРЕВІРКА
Виконано автоматичні перевірки Lua, XML, 204 ключів кожної з 5 мов, збережень, мережевих подій, платежів і прав доступу.
Симуляції охоплюють різні каталоги, 1/5/10 ШІ, 5/15/60 хвилин, 40 паралельних лотів, прискорення x1/x5/x60 і 4 години роботи з перезавантаженням збереження.
Це перевірки з підміною API гри. Остаточна перевірка інтерфейсу та поведінки потрібна у FS25.

Filter redesign: full-width grouped controls, larger targets, live result count. Multiple categories and statuses use OR within a group and AND across groups. Numeric limits and sorting remain single-choice. All/last deselection resets the group. Five languages updated.

Filter visual polish: aligned full-width rows, consistent option height, wider category/sort targets, subtle separators, no uneven card backgrounds. Multi-selection behavior unchanged. Geometry, mock GUI and regression checks passed; not tested in the FS25 engine.
