gaozheng
|
85636931af
|
fix(ui): 分段折叠时向上收起(不再停在原位中间格)
根因:各段 addWidget(sec,1) 等高平分 stretch,折叠后该段仍占等分高度→段头浮在那格顶部、下方留空,
看着像"停在当前位置中间"(仅面板不出滚动条/内容short于视口时可见)。
修法:据折叠态动态重排 stretch——展开段=1(吸收余量铺满)、折叠段=0(只占段头高);末加尾部弹簧,
全部折叠时置 1 把段头顶到顶部。CategorySection 暴露 isExpanded()+collapsedChanged() 信号驱动重排。
保留"全展开等高铺满"原行为(#7)。
构建:app 链接通过
|
2026-06-26 07:49:08 +08:00 |
gaozheng
|
d6e52cb51f
|
fix(ui): 三维分析分段面板视觉打磨(段头/新增按钮/顶部留白,规范§4.3/§6.7)
用户反馈分段面板难看,逐项重做:
- 可折叠段头:去原生小三角(难看)→chevron 文本前缀 ▾/▸(随主题/hover 变色);标题改 title 字号
+半粗(原默认字体);加浅底分段条 bg/panel-subtle + 底分隔线 divider 作视觉分段;hover 转 accent
- 「+新增三维体」:裸 autoRaise 文字 → 描边强调按钮(border/文字 accent/primary,hover 浅强调底,
radius/sm,caption 字号),符合§6.7 次级强调按钮
- 顶部留白:CategoryAnalysisTab 内容区加 top margin → 首段段头不再贴顶
- 筛选行 setSpacing 一致化
构建:app 链接通过
|
2026-06-26 07:29:32 +08:00 |
gaozheng
|
fb911a9d85
|
fix(ui): 坐标轴面板硬编码颜色 token 化(深色模式合规,规范§1/§6.7)
按视觉规范审计修 AxesSettingsPanel 硬编码(深色模式下会失效):
- 应用按钮 #2f6fed/#2a63d4/radius6 → setDefault(true) 走全局 QPushButton:default(accent/primary,随主题)
- 关闭按钮 #888/#2f6fed → token(text/secondary / accent/primary)
- 放大系数标签 + 最小/最大值标签 #888 → token(text/secondary / text/tertiary)
- 面板圆角 10px → 8px(radius/lg,规范§3.2 画布浮窗)
构建:app 链接通过
|
2026-06-25 22:46:13 +08:00 |
gaozheng
|
2f6ec7dae2
|
fix(ui): 类型筛选改用组内数据自带类型值(typeName/dsTypeCode),不再依赖缺失的arrayType
按用户口径:类型筛选=按加载到该段的数据其自身携带的类型值的范围筛选。装置/arrayType 实测不在
ds 行数据上(data/page 不返回),故改用 ds 已带的 typeName(多为中文)作筛选维度,缺失回退 dsTypeCode
(必要时全局枚举翻译)。下拉列出组内实际出现的类型;passesFilters 按 typeName/dsTypeCode 比对。
构建:app 链接通过
|
2026-06-25 22:09:15 +08:00 |
gaozheng
|
31ad7a4750
|
chore: 撤诊断日志([dsrow-raw]/[arrayfilter]),保留 parseDsRows 对象形态解析健壮性
诊断结论(自读日志):data/page 所有 ds 行(文件/网格/反演)均不带字段属性(properties=文件元数据或null,
attachedParameters=null,无 arrayType);结构树节点亦无 arrayType。装置类型纯属脚本配置(ScriptInfoVO),
不在任何现有拉取数据里 → 装置筛选需新接脚本配置并按 ds→测线→脚本 串联(数据来源待定)。
|
2026-06-25 21:48:07 +08:00 |
gaozheng
|
1742b7508b
|
fix(data): 装置筛选空-parseDsRows 兼容对象形态 properties+顶层装置字段 + CLAUDE规则
诊断(自读日志[arrayfilter]):enum=15(枚举正常)但 row0[](行 properties 空)→装置值没进 row.properties。
DsObjectDataVO.properties 是泛型 JSON(可能对象而非数组),旧 parseDsRows 只 toArray()→对象形态丢空。
修:properties 数组/对象两种形态都解析;顶层 arrayType/arrayTypeName 也收为属性兜底。
另加 [dsrow-raw] 一次性打印首行原始 JSON,若仍空可据此精准定位装置字段实际位置。
生成位置下拉:combo 自身按内容加宽(对话框随之变宽)→ popup 宽=combo 宽,不再外溢出对话框。
CLAUDE.md:新增「能自己做的绝不让用户做」绑定规则——日志/数据/构建/诊断都自己来,只在 LNK1104
需关 app、或真正产品决策时才找用户。
|
2026-06-25 21:37:42 +08:00 |
gaozheng
|
98bbc9f947
|
fix(ui): 生成位置下拉树面板加宽,避免长节点名被截断
QComboBox 树 popup 默认只取 combo 宽度+缩进 → GS/TM 长名被遮(用户反馈)。按最长节点名文本宽
(QFontMetrics) + 缩进/箭头/滚动条余量(120px)定 view 最小宽,下限 260px,保证全名可见。
注:obj 已编译通过;本地链接因 app 运行中 exe 被锁(LNK1104)未完成,关 app 后重 build 即生效。
|
2026-06-25 21:18:49 +08:00 |
gaozheng
|
5edfc8e5e8
|
fix(ui): 装置筛选稳健匹配+诊断日志 + 生成位置改下拉框(树形下拉面板)
- 装置下拉空:arrayTypeList 请求成功(日志确认),但匹配只认 itemValue(键)。改稳健匹配——ds 装置属性
存 itemValue 或中文名都认(命中键取中文名/命中值用原名),data 存实际属性值供 passesFilters 比对。
仍空则打 [arrayfilter] 诊断日志(枚举大小+首行属性 confFieldId=value)定位是枚举空还是值不匹配。
- 生成位置:QTreeWidget(常显树)→ QComboBox 下拉框,下拉面板用 QTreeView+QStandardItemModel 树模型
(GS/项目根/TM 层级);mountTargetId/confType 从树视图当前项读(树模型下比 combo currentData 可靠)。
构建:app 链接通过;434/434 测试通过
|
2026-06-25 21:12:45 +08:00 |
gaozheng
|
63ebf7d4f1
|
fix(ui): 修日期日历面板错乱-popup 父对象改顶层窗口避开下拉项样式
DateRangeEdit 改 QComboBox 子类后,日历 popup 成 QComboBox 后代 → 日历内部日期网格
(QAbstractItemView)吃到全局「QComboBox QAbstractItemView::item」(padding 6px10px/min-height 20px)
下拉列表项样式 → 日期格重叠错位、无星期表头。修:popup 父对象用顶层 window() 而非本 combo,
日历不再是 QComboBox 后代,该 QSS 不匹配 → 日历恢复正常渲染。
注:本地链接因 app 运行中 exe 被锁(LNK1104)未完成,obj 已编译通过;关 app 后重 build 即生效。
|
2026-06-25 20:55:18 +08:00 |
gaozheng
|
63cda568e5
|
fix(vtk): ④ 切片拾取串选-体 actor 设 PickableOff,拾取只落切片平面
点击落到体内部时 picker 命中体、worldPoint 落体内 → nearestSlice 按平面距离选错切片(常选最前的
上下切片)。改:addVolume 后 volume->PickableOff() → 光标拾取只命中切片纹理平面(及帘面),worldPoint
落在光标下那张切片 → 选对。onPick 仅在命中时触发(未命中不误选);旋转支点用选中切片不受影响;
widget 直接交互(selectByTool)本就精确、不受影响。重叠切片仍按最前优先(合理)。
构建:app 链接通过;434/434 测试通过
|
2026-06-25 20:43:49 +08:00 |
gaozheng
|
69e8790810
|
feat(vtk): 多三维体并发切片渲染重构(OPT-002:issue2+③+反向②)
核心:InteractionManager 单 image_ → 按 volumeDsId 的多体 map;各切片附着到各自体的 image。
- issue2 选第二个体→第一个体切片消失:setVolumeImage 不再 closeAll 全部切片;改 upsert 某体(同体重建
才关该体切片)。syncSlices 改为「勾选 + 父体已渲染」即显示(不再限当前体)→ 多体切片并存
- ③ 右键体却建到 current 体:sliceRequested 带目标体 dsId;addSlice(axis,volumeDsId) 用该体 image;
保存切片/创建异常的 volumeDsId 改用 selectedSliceVolumeDsId(选中切片所属体)而非 currentVolume
- 反向② VTK→树:InteractionManager.onSliceSelectionChanged(selectByTool/onPicked 触发)→
CategorySection::selectItem 程序化选中(屏蔽信号防环路)
- VtkSceneView 按 dsId 存 volumes_(image/cs/vmin/vmax);addVolume 登记/removeDataset 移除并回退
current/clear 清空;volume(dsId) 取指定体→色阶编辑支持非当前体;SliceTool 加 volumeDsId 标签
- nearestSlice 阈值/onWheel 步长/导出上色 改用切片所属体的 bounds/色阶
未解:④ 切片拾取串选(nearestSlice 启发式,VTK9.6 不暴露切片 actor 难精确化;widget 交互选中是精确的)
构建:app 链接通过;434/434 测试通过
|
2026-06-25 20:36:43 +08:00 |
gaozheng
|
40c8d6ccb4
|
fix(ui): 创建三维体对话框 左侧源/右侧生成位置 改树型结构(4b)
- 左「已选择对象」:QListWidget 平铺 → QTreeWidget(项目/GS/TM 容器树 + 可勾选源 ds 挂各自结构归属下,
容器按源 ds 的 structParentId 向上剪枝)
- 右「生成位置」:QComboBox 平铺 → QTreeWidget(GS/项目根/TM 层级单选);confType 据所选节点 type 推导
- ctor 改签名:传 VolumeSourceItem(含 structParentId)+ StructNode 结构 + defaultMountId;main 同步传 structParentId
构建:app 链接通过
|
2026-06-25 19:54:44 +08:00 |
gaozheng
|
b2904c211e
|
fix(vtk): 坐标轴面板预热(4a)+装置枚举到达重刷下拉+树→VTK选中联动正向(②)
- 4a 坐标轴面板首开卡顿:启动时 ensurePolished+adjustSize 预热样式/布局,避免首次点开同步解析卡UI
- 装置下拉空:枚举异步加载(可能晚于数据)→在 listArrayTypes 回调里 refreshArrayFilters 重填各段下拉
- ② 树选中切片/异常→VTK高亮:CategorySection 发 datasetSelected→main 对 dd_anomaly setSelectedAnomaly
/dd_slice selectSavedSlice。反向(VTK→树)需拾取回调,并入 OPT-002
构建:app 链接通过
|
2026-06-25 19:50:36 +08:00 |
gaozheng
|
62b7cde5cd
|
fix(ui): 筛选时间换 QComboBox(与装置同款) + 异常复选框驱动显隐(①)
- #3/#4 DateRangeEdit 重写为 QComboBox 子类(覆写 showPopup 弹双日历):外观与装置下拉完全一致
(同款原生下拉箭头/高度/边框),消除 QToolButton 方案的 popup「must be top level window」告警
- ① 创建异常后取消勾选仍渲染:异常行复选框现驱动显隐——itemChanged 对 dd_anomaly 发
anomalyVisibilityChanged→setAnomalyVisible;异常默认勾选=显示(新项默认勾,曾取消的保留);
refreshAnomalies 按三维体段复选框设各异常可见性;异常创建回调改为先 refreshAnalysis 再 refreshAnomalies
构建:app 链接通过
|
2026-06-25 19:42:37 +08:00 |
gaozheng
|
652b37b672
|
fix(vtk): 修创建切片/异常清空体·切片选择(issue1)+异常副标题补时间+新切片自动勾选
- issue1 真因:voxel(三维体)段数据来自 mock voxelTree,但 setBuckets 用 splitByCategory 的空桶
(对象树 ds 里无 dd_voxel→必空)先 setDatasets(空) 清掉其勾选,随后 section("voxel")->setDatasets
(voxelTree) 重填时勾选已丢→「创建切片/异常后体/切片选择被清空」。修:setBuckets 跳过 voxel 段
- 异常副标题没时间:saveAnomaly 没设 createTime(main 构建 Anomaly 也没设)→补当前时间(mock)
- 新切片自动勾选:CategorySection::setChecked(dsId) + 保存切片回调在 refreshAnalysis 后勾选新切片
(恢复旧行为,避免刚存的切片因未勾被 syncSlices 隐藏)
未解(下轮):issue2 选第二个体时第一个体切片消失=单"当前体"模型固有限制(syncSlices 只显示
volumeDsId==currentVolumeDsId 的切片),需多体并发切片渲染改造
构建:app 链接通过
|
2026-06-25 19:21:55 +08:00 |
gaozheng
|
09a48d846b
|
fix(ui): 栏位勾选增量保留 + tab去箭头 + 缩进 + 滑块跳位 + 清日志警告
- 栏位状态增量(最关键):CategorySection::rebuildList 记住已勾选 ds、重建后复原;之前每次刷新
(勾选对象/建体/存切片/建异常都触发)清空全部勾选→渲染被重置。复原后 emitChecked 上抛同集,
控制器据 diff 增量保留已渲染图元
- #1 tab 左右滚动箭头:上轮宽度算法没扣 padding 致溢出。扣开销(~42)稍欠宽 + setUsesScrollButtons(false) 兜底
- #6 缩进:容器文本左缘对齐子级复选框列起点(pad 12,非整列36),「容器→带框子级」缩进=树级(14),
与「带框→带框」一致,且名称仍紧邻展开图标(无 #2 大留白)
- 5.5 滑块点轨道跳位:ClickJumpSlider 用 QStyle::sliderValueFromPosition 点哪跳哪(点手柄正常拖动)
- 日志 201× QFont pointSize<=0(-1) 警告:ObjectRowDelegate 去掉多余 setPointSizeF(-1)(setPixelSize 直接生效)
构建:app 链接通过
|
2026-06-25 18:46:06 +08:00 |
gaozheng
|
961af652d7
|
fix(ui): #1 两 tab 平分抽屉宽度,消除旧3栏遗留的右侧空白第三栏位
旧布局 3 栏(三维数据集/二维数据集/三维分析)三分横向空间;重构成 2 tab 后全局 QSS 让 tab 取
内容宽度左对齐,宽抽屉右侧留出约一栏空白(用户感知为"空着的第三栏位")。带样式表的 tab 不响应
setExpanding,故在 ColumnDrawer::resizeEvent 按 barWidth/n 给每个 tab 显式宽度,两 tab 平分填满。
构建:app 链接通过
|
2026-06-25 17:41:55 +08:00 |
gaozheng
|
7ff6f184e9
|
fix(vtk): 坐标轴/树/筛选跟进修复 + VE保留相机重建 + 异常删除刷actor
坐标轴(5.4/5.5):
- 放大系数改回「点应用才生效」(不再实时):VE 回 applied 信号一并下发;滑块 setPageStep(1)
修「点轨道直接跳到10」;放大系数组与上方留间距
- 5.4 改VE不再先跳远视角:setVerticalExaggeration 走保留相机重建(preserveCameraOnRebuild)→
render(resetCamera=false) 不 ResetCamera、fitOnArrival=false,异步到场数据在当前相机下重绘
树:
- #2 撤销 #6 容器复选框列预留(它造成容器名与展开图标间大留白);容器名紧跟展开图标(小留白)
- #3 时间下拉 chevron 跑左上角:`right 8px center` 是CSS偏移语法Qt不认→改 `right center`+origin
异常:
- 右键删除异常只刷列表没刷actor(场景仍渲染)→ deleteAnomaly 成功回调加 refreshAnomalies(技术债)
CLAUDE.md:新增「发现技术债务必须修,不以'非本轮引入'为由搁置」绑定规则
构建:app 链接通过
|
2026-06-25 17:31:55 +08:00 |
gaozheng
|
6a371c9fa9
|
fix(ui): 筛选行+分析tab滚动重构(批3/#3#7)
- #3 时间筛选下拉:QToolButton 套与 QComboBox 一致的 box(同高/边框/圆角/padding)+右侧统一
SVG chevron(:/icons/chevron-down.svg),去掉手写粗糙的「▾」字符;修高度比装置下拉矮
- #7 分析tab滚动:各段在 tab 内 stretch=1(内容都少时四段平分高度填满、与VTK区等高不出滚动条);
段体 list 关内层纵/横滚动条 + 最小高度=可见项内容总高(有副标题52/否则30,同delegate sizeHint),
内容多则整段拉长、超视口由外层 QScrollArea 统一出单滚动条;去掉末尾 addStretch
构建:app 链接通过
|
2026-06-25 16:55:15 +08:00 |
gaozheng
|
b497fe547c
|
fix(ui): 分段树修复(批2)-选中高亮统一对象树+结构还原TM挂载+缩进一致
- #2 DatasetCardDelegate 选中/hover 改与对象树(ObjectRowDelegate)一致:整行方角填充
(去圆角卡)+左2px accent竖条满高+选中标题加粗;保留双行卡片(创建时间·类型副标题)
- #4 CategorySection 树结构:派生 ds(反演剖面)带派生父指向已被筛掉/属别段的原始 ds 时,
按 parentId 挂载失败→ds 浮到根平铺。改:派生父在本段保留嵌套(体>切片),否则回退挂
结构容器 structParentId(TM),还原 项目/GS/TM/DS 真实层级
- #6 三维体段体相对TM缩进过大:容器节点(项目/GS/TM)不画复选框但保留同宽复选框列,使
各级缩进只差一个树级(原先容器无列宽→子级带框缩进多撑出复选框列宽),与对象树一致
构建:app 链接通过
|
2026-06-25 16:46:32 +08:00 |
gaozheng
|
a2770ba49d
|
fix(vtk): 坐标轴设置交互修复(批1/#5)-增量渲染+VE滑块+隐藏轴全隐+关闭按钮
- 5.1 关闭按钮空白:全局 QPushButton padding(6px14px) 挤掉 ×,显式 setStyleSheet padding:0
- 5.2 取消某轴「显示」时禁用其 min/max 编辑框(show toggled→lo/hi setEnabled,回灌同步)
- 5.3 隐藏轴后刻度数字仍在:SetXAxisVisibility 只关线,补 SetXAxisLabelVisibility/TickVisibility
- 5.4 应用即全量重绘→改增量:setAxesConfig 不再 rebuildInternal(clear场景),改
view_.setAxes+setAxesRanges+renderIncremental(仅重建坐标轴 prop,不动数据/相机)
- 5.5 放大系数下拉→滑块(1~10×,恢复重构前交互):拖动实时改标签,sliderReleased 才发
verticalExaggerationChanged 触发一次重建(VE 改几何须重建但不在拖动中连续重建)
main.cpp 接 applied(去scale) + verticalExaggerationChanged(→控制器+底图)
构建:app 链接通过
|
2026-06-25 16:39:48 +08:00 |
gaozheng
|
70f77c1736
|
refactor(vtk): 退役旧三维数据集/三维分析栏(Task 12 #6)-删 Column3D* 及全部死接线
旧 col3D_/colAnalysis_ 自分段重构后已 hide() 不入 tab、运行时不发信号,其 18 处
connect 全为死接线。本次彻底退役:
- 删 main.cpp 中 10 个 c3(Column3DDataset)+7 个 ca(Column3DAnalysis)+1 个 col3D() VE 接线
- 删 ColumnDrawer 的 col3D_/colAnalysis_ 成员/访问器/实例化/include/前向声明
- 删 4 个源文件 Column3DDataset.{hpp,cpp} / Column3DAnalysis.{hpp,cpp} + CMake 条目
唯一运行时仍在跑的 ca 消费是 refreshAnomalies(读 anomalyFilterMode 写 setAnomalies):
档位改恒「全部显示」(=隐藏 ca 的当前等效行为),异常列表已由 refreshAnalysis 经
voxelTree 全量注入新分段 tab,故去掉 ca->setAnomalies。零可见回归。
已知遗留(旧栏退役暴露,均非本次引入,待新分段段补 API):
- 新建/关闭切片不再自动勾选/取消列表(CategorySection 无 setItemChecked)
- 异常显示过滤档位、列表选中→VTK高亮(R84)随 ca 信号退役,待新段补信号
构建:configure+app 链接通过;测试 isolated 全绿(AsyncRegionBuilder 预取测试满载 flaky,
隔离复跑 3/3 过,属 GPR 域与本次无关)
|
2026-06-25 15:52:14 +08:00 |
gaozheng
|
572fbf8d7b
|
fix(ui): 容器节点紧凑卡(矮+居中+小留白)+所有段从项目根树形(自剪枝)+体/切片创建时间+筛选行去采集(日期前装置后)
|
2026-06-25 14:47:58 +08:00 |
gaozheng
|
6c8069b87d
|
feat(vtk): 坐标轴设置真正生效-单位(米/英尺)换算+每轴显示开关+自定义刻度范围 打通 render→controller→view→面板
|
2026-06-25 14:16:27 +08:00 |
gaozheng
|
0cfa1ad352
|
feat(ui): 坐标轴设置改抽屉面板(工具条右侧滑出)+补坐标轴单位/放大系数(按原型图)
|
2026-06-25 14:01:45 +08:00 |
gaozheng
|
778ffe88c0
|
feat(ui): 三维体段右键全接旧栏操作-体(生成切片/色阶) 切片(保存/另存/导出图片dat/色阶/删除) 异常(显隐/删除)
|
2026-06-25 12:33:22 +08:00 |
gaozheng
|
eb50a87694
|
fix(ui): 右键菜单限三维体段+容器节点去复选框+容器树剪枝(只展示有体路径)
|
2026-06-25 12:17:50 +08:00 |
gaozheng
|
888a63081b
|
feat(ui): 三维体段从项目根完整层级树(容器节点+体挂归属)+段体右键菜单(详情/删除切片异常)(界面修复 4/5)
|
2026-06-25 11:50:17 +08:00 |
gaozheng
|
c2f2b1f94c
|
feat(ui): 日期范围筛选控件(双日历面板/可清空/默认今天)替代单 QDateEdit(界面修复 1/2/3)
|
2026-06-25 11:41:23 +08:00 |
gaozheng
|
2e4e4b24e4
|
fix(login): 验证码图原尺寸清晰显示(去放大缩放,避免糊导致看错字符)
|
2026-06-25 11:18:44 +08:00 |
gaozheng
|
289b83cd35
|
fix(login): 验证码改为显示后端 getImageCode 的 base64 图(data.image),客户端不再自画(后端已不回明文 code)
|
2026-06-25 10:21:14 +08:00 |
gaozheng
|
df25836cbd
|
fix(ui): VtkViewToolbar 重做-三段(设置|视图|缩放)+图标(Gear/Plus/Minus/Fit)+悬浮画布(界面修复 2 一版)
|
2026-06-25 09:47:21 +08:00 |
gaozheng
|
a990f2ea90
|
fix(ui): 左面板 QSplitter 可拖改宽(min180/max560)+禁横向滚动条(界面修复 1)
|
2026-06-25 09:41:06 +08:00 |
gaozheng
|
beb398d478
|
fix(ui): 生成按钮移标题行+采集时间改时间段(不限)+切片不单列段(挂三维体树)(界面修复 3/4/5)
|
2026-06-25 09:34:19 +08:00 |
gaozheng
|
b9a655126f
|
feat: 装置类型枚举接口 listArrayTypes→填字典→段头装置下拉显示+过滤(Task12 #2)
|
2026-06-24 21:45:38 +08:00 |
gaozheng
|
a41b428b09
|
feat: VolumeParamsDialog 扩展-左侧源列表(可增删)+生成位置下拉(GS/TM)+req归属(Task12 #4)
|
2026-06-24 21:37:33 +08:00 |
gaozheng
|
cfd242c106
|
feat: 异常双击详情接入三级树(anomalyById→AnomalyPropertiesDialog)(Task11 Step4b)
|
2026-06-24 21:24:48 +08:00 |
gaozheng
|
1d744bab81
|
feat(app): 对象树拉取改 checkedSourcesChanged+confType 分流(支持 GS 直挂 ds)(Task12 #1)
|
2026-06-24 21:13:28 +08:00 |
gaozheng
|
6edfad9a2f
|
feat(app): VtkViewToolbar 接入中央画布(view/zoom/fit + axesSettings 弹窗)(Task12 工具条)
|
2026-06-24 21:10:09 +08:00 |
gaozheng
|
2f07e605c8
|
feat(app): 三维体段「体→切片/异常」三级树注入 + 异常排除渲染勾选 + 创建异常即时进树(Task11 Step4a)
|
2026-06-24 20:59:21 +08:00 |
gaozheng
|
8b57dd9679
|
feat(app): 创建异常按所在切片是否已保存挂体/切片(resolveAnomalyMount, Task11 Step3)
|
2026-06-24 20:49:19 +08:00 |
gaozheng
|
52830bbcb0
|
feat(core): Anomaly volumeDsId→remarkSourceId(挂体/切片)+resolveAnomalyMount+修正spec/plan命名(Task11 Step1)
|
2026-06-24 20:37:45 +08:00 |
gaozheng
|
901c84e0ae
|
feat(app): 接通对象树→splitByCategory→三维分析5段数据流+勾选分流渲染+生成入口(Task12 阶段A)
|
2026-06-24 19:49:18 +08:00 |
gaozheng
|
3af7e44722
|
feat(ui): VtkViewToolbar 画布工具条 + AxesSettingsDialog 坐标轴设置
|
2026-06-24 19:18:34 +08:00 |
gaozheng
|
98114a36e0
|
feat(ui): CategoryAnalysisTab(QScrollArea 5段)+ColumnDrawer 两tab(旧栏隐藏过渡)
|
2026-06-24 19:14:51 +08:00 |
gaozheng
|
30e990d967
|
feat(ui): CategorySection 类型段组件(段头装置/日期筛选+段体可勾选树+生成入口) + DatasetFieldDictionary 缓存类
|
2026-06-24 19:10:03 +08:00 |
gaozheng
|
40646f7d06
|
refactor(tree): 评审修复-抽 recomputeAllGsStates 去 nullptr 信号 hack + 注释精确化
|
2026-06-24 18:15:03 +08:00 |
gaozheng
|
1978a31fa7
|
feat(tree): GS 三态状态机(停 AutoTristate)+右键 ds/tm + checkedSourcesChanged 源集合
合并 plan Task 4+5:plan Task 4 右键代码已引用 Task 5 的 emitCheckedSources,
二者均改 ObjectTreePanel 且循环依赖,合并实现避免中间不可编译态。
checkedSourcesChanged 与旧 checkedTmsChanged 并存,Task 12 接线切换后删旧。
|
2026-06-24 18:05:09 +08:00 |
gaozheng
|
07cf75d967
|
feat(app): CategoryConfig 映射表 + splitByCategory 按 dsTypeCode 分大类
|
2026-06-24 17:48:47 +08:00 |
gaozheng
|
e62e2cdc8d
|
fix(vtk): 切项目复位重锚标志,修底图清空后再选不重显的回归
上一改 basemap->hide() 引入回归:切项目后再次勾选数据集,底图不再渲染。
根因:勾选是增量渲染、不走 VtkSceneView::clear(),frameAnchoredToData_ 残留为
旧项目的 true → anchorFrameIfNeeded 直接 return 不重锚 → onFrameReanchored 不触发
→ 被 hide() 的底图永不再 show(hide 前底图一直挂着才显得"正常")。
修:VtkSceneView 加 resetFrameAnchor(),clearCentral 中 hide() 前复位 →
新项目首个数据重锚→onFrameReanchored→底图按新项目位置重显。
build all 绿,341/341。
|
2026-06-23 19:17:11 +08:00 |