From b9e6f04ea254e0057d5bb5e6b67b34ca83f72dab Mon Sep 17 00:00:00 2001 From: Daotie <91539645+Daotie@users.noreply.github.com> Date: Wed, 19 Aug 2026 16:58:58 +0800 Subject: [PATCH] fix(ui): keep application controls visible --- .gitignore | 1 + CHANGELOG.md | 14 +++++++ Mod.cs | 2 +- Properties/PublishConfiguration.xml | 17 ++++----- README.md | 4 +- README.zh-CN.md | 4 +- RELEASE_NOTES.md | 58 +++++++++-------------------- RouteFilter.csproj | 6 +-- Setting.cs | 2 +- UI/mod.json | 2 +- UI/package-lock.json | 4 +- UI/package.json | 2 +- UI/src/routeFilterUI.module.scss | 15 ++++---- UI/src/routeFilterUI.tsx | 2 +- VERSION | 2 +- 15 files changed, 62 insertions(+), 73 deletions(-) diff --git a/.gitignore b/.gitignore index 752a67f..cd252b3 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ obj/ dist/ UI/node_modules/ UI/build/ +Library/ .vs/ *.user .vs/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 12ca86a..26223ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,20 @@ All notable changes follow [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and Semantic Versioning prerelease conventions. +## 1.0.1 — 2026-08-19 + +### Fixed + +- Prevented the bottom application controls from being clipped by the panel at supported viewport and UI scales. +- Kept the in-panel version label on one line beside the localized title. +- Shortened the forbidden-selection notice so it states only that selected assets will be blocked. + +### 中文 + +- 修复受支持视口与 UI 缩放下底部应用操作按钮被面板裁切的问题。 +- 游戏内版本号固定在本地化标题旁单行显示。 +- 精简禁行提示,仅保留“选中的资产将被禁止通行”。 + ## 1.0.0 — 2026-08-19 ### Added diff --git a/Mod.cs b/Mod.cs index b756571..ab894f8 100644 --- a/Mod.cs +++ b/Mod.cs @@ -14,7 +14,7 @@ namespace RouteFilter; public sealed class Mod : IMod { public const string Id = "RouteFilter"; - public const string Version = "1.0.0"; + public const string Version = "1.0.1"; public const string ToggleToolAction = "ToggleRestrictionTool"; public const string ApplyAction = "ApplyRestriction"; public const string ClearAction = "ClearRestriction"; diff --git a/Properties/PublishConfiguration.xml b/Properties/PublishConfiguration.xml index 055900b..8c6edfe 100644 --- a/Properties/PublishConfiguration.xml +++ b/Properties/PublishConfiguration.xml @@ -36,16 +36,13 @@ RouteFilter is an independent GPL-3.0-only community project by Daotie. It is no - + - ## RouteFilter 1.0.0 - -- First stable release. -- Opens the panel and selection tool together; default shortcut is Ctrl+Shift+N. -- Keeps the asset list and application controls visible in one viewport-aware panel. -- Supports exact asset restrictions on road and rail nodes or full segments. -- Matches complete recognized vehicle consists, fixed-route rail vehicles, and outside traffic. -- Requests native pathfinding detours and stops matching vehicles when no alternative exists. -- Preserves the asset-level V1 save schema used by the public beta. + ## RouteFilter 1.0.1 + +- Prevents the bottom application controls from being clipped by the panel. +- Keeps the version label on one line beside the localized title. +- Shortens the forbidden-selection notice to state only that selected assets will be blocked. +- Retains the asset-level V1 save schema used by RouteFilter 1.0.0 and the public beta. diff --git a/README.md b/README.md index 2122742..da21cc7 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Exact vehicle-asset access control for road and rail networks in **Cities: Skylines II**. -![Version](https://img.shields.io/badge/version-1.0.0-2d8b70) +![Version](https://img.shields.io/badge/version-1.0.1-2d8b70) ![Status](https://img.shields.io/badge/status-stable-1976d2) ![License](https://img.shields.io/badge/license-GPL--3.0--only-blue) @@ -99,7 +99,7 @@ The shortcut is remappable in the game's settings. Closing the panel also closes ## Save data and upgrades -RouteFilter `1.0.0` uses the asset-level V1 save schema introduced during the public beta. Each restricted target stores exact prefab entity references. Saves created with `0.4.0-beta.1` or `0.5.0-beta.1` remain on the same schema. +RouteFilter `1.0.1` uses the asset-level V1 save schema introduced during the public beta. Each restricted target stores exact prefab entity references. Saves created with `0.4.0-beta.1`, `0.5.0-beta.1`, or `1.0.0` remain on the same schema. Rebuilding, replacing, or deleting a road or track segment creates new game entities and may remove restrictions attached to the original target. Review restrictions after substantial network reconstruction. diff --git a/README.zh-CN.md b/README.zh-CN.md index bd3aba7..f62d7ad 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -11,7 +11,7 @@ 为 **《都市:天际线 II》** 道路与轨道路网提供精确到车辆资产的通行控制。 -![版本](https://img.shields.io/badge/版本-1.0.0-2d8b70) +![版本](https://img.shields.io/badge/版本-1.0.1-2d8b70) ![状态](https://img.shields.io/badge/状态-正式版-1976d2) ![许可证](https://img.shields.io/badge/许可证-GPL--3.0--only-blue) @@ -99,7 +99,7 @@ Paradox Mods 页面上线后,订阅 **RouteFilter** 并将其加入当前播 ## 存档数据与升级 -RouteFilter `1.0.0` 使用公开测试阶段引入的逐资产 V1 存档结构。每个受限目标保存准确的车辆预制实体引用;使用 `0.4.0-beta.1` 或 `0.5.0-beta.1` 创建的限制沿用相同结构。 +RouteFilter `1.0.1` 使用公开测试阶段引入的逐资产 V1 存档结构。每个受限目标保存准确的车辆预制实体引用;使用 `0.4.0-beta.1`、`0.5.0-beta.1` 或 `1.0.0` 创建的限制沿用相同结构。 重建、替换或删除道路、轨道路段会使游戏创建新实体,与原目标关联的限制可能因此丢失。大规模改造路网后请重新检查限制。 diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index fea84cf..5f679fe 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,57 +1,33 @@ -# RouteFilter 1.0.0 +# RouteFilter 1.0.1 ## English -RouteFilter 1.0.0 is the first stable release of the exact vehicle-asset access tool for Cities: Skylines II road and rail networks. +RouteFilter 1.0.1 is a maintenance release focused on keeping the complete restriction workflow visible and unambiguous across supported viewport and UI scales. -### Player-facing changes +### Fixed -- Opening the RouteFilter panel now activates the selection tool immediately. The redundant in-panel tool activation button has been removed, and closing the panel closes the tool. -- The default remappable panel shortcut is now `Ctrl+Shift+N`. -- The panel uses viewport-aware top and bottom boundaries. The target selector, asset list, paging controls, and application buttons remain on one screen; only the asset list scrolls. -- Maximum speed is displayed in km/h, with acceleration and braking available on asset hover. -- Each selected node or segment loads its own saved forbidden list. Bulk selection changes remain pending until the player explicitly applies them to that target. -- Road and rail catalogs are filtered by target compatibility, and recognized engines, carriages, and trailers can be controlled as a group or individually. +- The panel now reserves enough flexible space for the bottom application controls, preventing **Apply list to selected target**, **Clear target restrictions**, and **Cancel selection** from being clipped. +- The version label stays on one line beside the localized RouteFilter title. +- The forbidden-selection notice now states only: “Selected assets will be blocked.” -### Restriction enforcement +### Compatibility -- Exact prefab matching covers the vehicle controller and all recognized assets in its consist. -- Detection checks current lanes, upcoming navigation lanes, underlying path elements, and restricted node endpoints. -- Enforcement runs after road and rail navigation updates but before vehicle movement. -- Matching vehicles request a new path while the selected target is temporarily presented as unavailable to the native pathfinder. -- If a fixed transit route or disconnected network offers no valid detour, the matching vehicle is stopped and may retry instead of continuing normally through the restriction. -- Outside traffic is evaluated through the same exact-asset path. +This release does not change restriction behavior or save data. Cities and target-specific asset restrictions saved by RouteFilter `1.0.0`, `0.5.0-beta.1`, and `0.4.0-beta.1` remain compatible. -### Save compatibility - -Version 1.0.0 retains the asset-level V1 save schema used by `0.4.0-beta.1` and `0.5.0-beta.1`. Existing restrictions created by those RouteFilter versions remain structurally compatible. - -Please report reproducible compatibility issues with the game version, active traffic/network mods, reproduction steps, and `Player.log`. +Please report reproducible UI issues with the game version, display resolution, UI scale, RouteFilter version, and a screenshot. ## 中文 -RouteFilter 1.0.0 是首个正式版本,为《都市:天际线 II》道路与轨道路网提供精确到车辆资产的通行控制。 - -### 玩家可见改动 - -- 打开 RouteFilter 面板时会立即启用选择工具,不再显示重复的“打开工具”按钮;关闭面板时工具也会关闭。 -- 默认且可重新绑定的面板快捷键改为 `Ctrl+Shift+N`。 -- 面板根据视口上下边界自适应,目标选择、资产列表、分页和应用按钮保持在同一页面,只有资产列表内部滚动。 -- 最高速度以 km/h 显示,悬浮资产时同时显示加速度和制动减速度。 -- 每个节点或路段会加载自己保存的禁行清单;批量选择仅修改待应用清单,明确点击应用后才写入目标。 -- 道路与轨道资产会按目标兼容性筛选,已识别车头、车厢和挂车可分组或逐项控制。 +RouteFilter 1.0.1 是维护版本,重点确保在受支持的视口与 UI 缩放下,完整禁行操作流程始终可见且语义明确。 -### 禁行执行 +### 修复 -- 准确预制资产匹配覆盖车辆控制实体及编组内所有已识别资产。 -- 检测覆盖当前车道、前方导航车道、底层路径元素和受限节点端点。 -- 执行顺序位于道路、轨道导航更新之后以及车辆实际移动之前。 -- 命中车辆请求新路径时,目标会短暂以不可用状态提供给原生寻路系统。 -- 固定公共交通线路或断开路网没有有效绕行路线时,匹配车辆会停车并可能重试,而不是继续正常穿过限制。 -- 过境交通使用相同的逐资产检测链路。 +- 面板现在为底部操作区域保留足够的弹性空间,避免“应用到所选目标”“清除目标限制”和“取消选中”按钮被裁切。 +- 版本号固定在本地化 RouteFilter 标题旁单行显示。 +- 禁行提示精简为:“选中的资产将被禁止通行。” -### 存档兼容 +### 兼容性 -1.0.0 保留 `0.4.0-beta.1` 与 `0.5.0-beta.1` 使用的逐资产 V1 存档结构,这些 RouteFilter 版本创建的限制在结构上保持兼容。 +本版本不更改禁行逻辑或存档数据。RouteFilter `1.0.0`、`0.5.0-beta.1` 和 `0.4.0-beta.1` 保存的城市及逐目标资产限制保持兼容。 -报告可复现的兼容性问题时,请提供游戏版本、当前交通/路网模组、复现步骤和 `Player.log`。 +报告可复现的界面问题时,请附上游戏版本、显示分辨率、UI 缩放比例、RouteFilter 版本和截图。 diff --git a/RouteFilter.csproj b/RouteFilter.csproj index 93f1350..c54e7da 100644 --- a/RouteFilter.csproj +++ b/RouteFilter.csproj @@ -3,9 +3,9 @@ Debug;Release RouteFilter RouteFilter - 1.0.0 - 1.0.0.0 - 1.0.0.0 + 1.0.1 + 1.0.1.0 + 1.0.1.0 Daotie Asset-level vehicle access restrictions for road and rail nodes or segments in Cities: Skylines II. RouteFilter diff --git a/Setting.cs b/Setting.cs index 138b5d9..9012c85 100644 --- a/Setting.cs +++ b/Setting.cs @@ -78,7 +78,7 @@ public IEnumerable> ReadEntries(IList { -
{tr("RouteFilter.UI.ForbiddenTitle", "Forbidden assets")}{tr("RouteFilter.UI.ForbiddenHint", "Selected assets will be blocked. Unselected assets remain allowed.")}
+
{tr("RouteFilter.UI.ForbiddenTitle", "Forbidden assets")}{tr("RouteFilter.UI.ForbiddenHint", "Selected assets will be blocked.")}
diff --git a/VERSION b/VERSION index 3eefcb9..7dea76e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.0 +1.0.1