所有类型
所有状态
热度排序
A
24 小时 +0
在 ALCHERA ADO 3D 标注平台上对立方体框做自动贴合,并支持摄像头属性快填、跨帧复制、整包质检、整包框数统计、清空全帧、自动勾选尺寸异常、粘贴自动补全属性。写入走平台原生通道(平台自动重算尺寸、位姿、朝向与 4 路摄像头 2D 投影)。v2.9.27 【修「同帧复制产物自带别人的属性」+「多选复制跨帧属性串台」·活体复现定位】① 串台根因(用户 Bug 2):补全寻源那段是「对每个目标都从 srcIds[0] 起找第一个完整源」——帧0 有 #308(left:1/1)、#309(left:1/4),多选复制到帧1 粘贴,实测两个产物**都拿到 #308 的属性**(`#309 front:1/1 rear:0/0 left:1/1 right:0/0`,而源 #309 是 `left:1/4`)。平台跨帧粘贴 WZ→HC **沿用源 tid** ⇒ 目标 tid 就等于源 tid ⇒ 现新增 ownSourceOf():剪贴板里含同 tid 时按**同 tracking_id 一对一配对**(各带各的),只有同帧粘贴(新 tid、剪贴板里只有源)才落到剪贴板列表,多选时按「尺寸最接近+位置最近」挑。② 「复制出来的框自带属性」根因(用户 Bug 1):源本身是空壳(平台新建框,有 null 视角)时,旧逻辑找不到可用源就退到「② 同帧同尺寸的完整框」⇒ **从别的框借一整套属性**贴到产物上,凭空造假数据。用户语义是**原样复制**:源没填 ⇒ 产物保持平台初始。现新增 ownSourceReady() 闸门,粘贴产物「自己的源没填过」时直接跳过(补全、重判、写入全不做),并且**粘贴产物一律禁止走 ②/③ 借源兜底**。③ 「把之前复制的框也给覆盖上属性」根因:白名单 _pastedTids 里那些「找不到源」的产物不会被摘除(旧代码只在补全成功后 delete),会一直挂着、后续某轮突然被填上。现白名单改为**一次性消费**(闸门判完立刻摘掉),并加 sweepCameras 角度的保护:摘掉后它就是「有 null、不在剪贴板、不在白名单」的普通待填框 ⇒ 持续校验也不会碰它。④ 附带修时序隐患 rememberObjs():空壳版本不许冲掉已有的完整快照(跨帧粘贴沿用源 tid 时,目标帧那个同 ID 空壳会把源帧快照覆盖掉 ⇒ 属性永远带不过来,此前全靠同一轮内抢先执行才侥幸成功)。新建框不碰、改值不跳回两条既有红线**一行未改**;源填过的粘贴照旧照抄源(v2.9.26 的需求保持)。 | v2.9.26 【修「同帧复制粘贴属性带不过来」·纯平台对照实测定位】把插件停掉后抓的原始形态显示:同帧粘贴(Ctrl+C→Ctrl+V)产生的是**全新 tid**(源 #283 → 产物 #291),而剪贴板里只有源 `ado-283` ⇒ isClipboardSource(291)=false;且平台**只往场景加 shape、数据层要过几秒才写**(正是 completePastedAttrs 里 ① 捞的「孤儿 shape」)。它的字段形态与 shift+拖拽新建框**一模一样**:cat=None、sub_class=None、尺寸与源全等、部分视角 null ⇒ 任何「看字段猜来源」的判据都必然把它误判成「平台新建框」,被红线「一律不碰」挡住,用户看到的就是属性带不过来。唯一可靠的区别是「用户刚按过 Ctrl+V」这个动作事实:现新增 keydown(capture) 监听(排除 INPUT/TEXTAREA/SELECT)记 4 秒时间窗,窗口内出现的新增对象记入粘贴白名单 _pastedTids;isFreshPlatformBox 对白名单放行,补全闸门的 clipNow 也把白名单与「剪贴板里有源」一起算作「粘贴产物」。收敛性:补全写完即从白名单摘除,且入口闸门仍是「本轮新增 或 (粘贴产物 且 还有 null 视角)」⇒ 稳态对象永不命中,绝不重演 v2.9.24 那种每 400ms 反复覆盖。新建框不碰、改值不跳回、跨帧粘贴三条既有逻辑**一行未改**。 | v2.9.25 【修「272 属性改完立马跳回去」+「新建框仍被写值」· CDP 埋点日志实测定位】① 跳回的根因:补全路径拿 isClipboardSource()(剪贴板里还有这个 id)当闸门,而这个条件**会一直为真**(用户复制过就一直留着)⇒ 每 400ms 一轮都把该对象的 4 个视角 cameras 用 _seenObjs 的历史快照整条覆盖回来。实测轨迹(真实 UI 输入):前视截断 2→3,t=0.5s 值=3 ✓,t=1.0s 值=2 ✗ 被覆盖;日志每轮固定是 NEEDHIT #272 → BEST=clipSrc#272 → OVERWRITE #272<-#272 → WRITE-complete ×4(顺带把平台历史栈灌爆、Ctrl+Z 变垃圾)。现改为**只处理「本轮新增(fresh)」的对象**:粘贴补全只做一次,稳态对象一律不碰;删了再粘仍算新增,照旧补全。② 补全不再整条替换 cameras,改为按视角合并 mergeCamerasByView —— 已定型(用户手改过)的视角保留原值;重判/补全的写入前也一律跳过已定型视角(原来补全路径完全不看定型锁)。③ 新建框判据去掉对 bbox 的依赖:只要还有未填(null)视角、且不在剪贴板里,就认定是「平台自己给过初值」⇒ 一律不碰。旧判据靠 isAttrMissing 看 bbox「平台算过没有」,在建框刚 create、平台还没重投影的那一轮会误判成「缺属性」而给新框贴值。 | v2.9.24 【修「跨帧粘贴属性带不过来」的真正原因·CDP 真实流程实测确认】v2.9.20 给 isAttrMissing 加的 projected 短路(任一视角有 bbox 就不算缺属性)本意是保护「平台新建的框」,但平台跨帧粘贴出来的对象同样有 bbox(WZ→HC 后走 xm() 重算),于是补全分支的闸门 isAttrMissing 也把它排除了 → 补全不跑。实测:源 #271 front:2/0 → 粘到帧1 front:null(平台初始状态)。现把「剪贴板来源」也纳入补全条件(与 needReval 的闸门保持一致);平台新建的框剪贴板里没有,仍不碰。v2.9.23 【修 v2.9.22 判据污染导致的「新建框又被写值」】v2.9.22 用「这个 tid 我们见过没有」区分新建/粘贴,但 rememberObjs() 每轮都在记当前帧对象,于是帧内新建的框下一轮就被记成「见过」→ 闸门失效 → 持续校验又开始写值(用户实测:新建框又给值了,粘贴还是没带属性)。现改用平台剪贴板判据:跨帧粘贴 WZ()→HC(...,源tid) 用的是源对象的 tracking_id,剪贴板里必然有这个 id;平台新建框的号是全新分配的、剪贴板里绝不会有。该判据不受「我们记过谁」影响,稳定干净(带 400ms 缓存避免 fiber 遍历开销)。v2.9.22 【修「跨帧粘贴属性带不过来」】平台跨帧粘贴 = WZ()→HC(...,源tid),tracking_id **沿用源帧的号**,meta 先被 MS() 清空 cameras、再被 xm() 重算 bbox,结果与「平台新建的框」字段完全一样(有 sub_class、有 bbox、可见视角 tc=null),v2.9.21 的「不碰新框」闸门因此把粘贴也放过去了 → 属性不再补全。现新增判据:**该 tracking_id 在 _seenObjs 里出现过 ⇒ 跨帧粘贴 ⇒ 照旧补全/重判**;平台新建的号是全新分配的、必然没见过 ⇒ 仍然不碰。另:补全的源对象过滤加严(空壳不当源,避免借到 null)。v2.9.21 【用户要求:新建框属性保持平台初始,插件一律不碰】平台新建框时给的是「看得见的视角留 null(待填)、看不见的给 0」,但两条自动路径会去改写它:① completePastedAttrs 里「新增对象一律重判」;② sweepCameras 持续校验扫全部对象。实测第 0 帧新建的 #262:left 保持 null(平台原样),rear 却被从 0 改成 2。现新增 isFreshPlatformBox() 判据(有未填 null 且平台已重投影过 ⇒ 平台新框),上述两条路径一律跳过它;用户填完的框(无 null)与跨帧粘贴/L键复制的框(cameras 全空)不受影响,粘贴自动补全与持续校验照旧。v2.9.20 【新建框属性被乱贴·修复】两个 bug 同源:① isAttrMissing 只看 truncation 是否为 null,而平台新建的框「可见视角的 truncation 本来就留 null」(语义=待用户填)→ 每个新框都被判「属性缺失」→ 触发补全分支,从「同帧尺寸最相近的完整框」整条借 cameras → 新框属性变成别人框的属性(实测第 0 帧 4 个新框后视截断全被贴成 2,而它们后视的「后方角点数」分别是 0/2/4/8,与几何无关)。判据修正:存在任一视角已有 bbox ⇒ 平台已重投影过 ⇒ 属正常待填,不算缺失。② 截断兜底把 null 也当成「漏标」填成 2(客户工具是严格 === 0,null 走 checkNulls 报「未填」)→ 收窄为只改明确的 0,与客户工具逐字一致。③ 新建对象 cameras 默认值由 0 改为 null(对齐平台"待填"语义,不可见视角由重判按 acVal(null,false)=0 自动补)。v2.9.19 【两个致命 bug 修复·活体取证】① 「复制帧 / 建框后没有 3D 框、左侧对象列表点不动,必须切帧再切回来」—— 根因是建 shape 用的 `scene.engine` 实测恒为 undefined(engine 挂在另一个 zustand holder 上,只有 fiber 遍历能拿到);于是 engine.addAnnotation() 从来没被调用过,对象只进了 object_list、场景里没有 shape,切帧触发平台 Dx() 全量重建才补上。两条建框路径改用 findEngine()。② 「复制/新建出来的框,截断凭空变成 2」—— 根因是截断兜底判据漏了可见性前提,把「物体跑到相机后方、该相机完全拍不到它」(bbox=null)的视角也强填成 2,制造假数据。客户工具 truncation_error_check 第一件事就是 `if (cam.bbox === null) continue`(完全不可见的视角整条跳过),现已对齐。③ 新建对象的 cameras 补全 4 路默认结构(原来缺失会让平台保存前的 ek() 直接 TypeError,属性面板也报「属性不完整」)。v2.9.18 【写入守卫·兼容平台新增的作业状态锁定】平台 2026-09 起把「该帧质检已完成」和「角色=属性作业员」做成写入层硬门槛:replaceCurrentObjects / patchObjectCamera 会**静默丢弃**写入(只弹提示,函数无返回值)。后果是「看着改了其实没改」,建框/粘贴更会留下**孤儿框**(框建出来了、object_list 里没这个对象)。现全部写入点加**前置守卫**(用平台自己的编辑器状态 getEditingStage 判定,与平台写入守卫实测完全等价,同步且精确),写入之后只做**延迟告警**(findStores 是渲染快照,同步校验会误判失败、把正常建框也掐掉,故绝不阻断主流程);锁定帧上的两个后台 watcher 静默跳过(顺带消掉平台每 1.5s 的只读提示刷屏)。新增诊断 adoFit.writeGuard()。v2.9.17 【灰点真根因·确证】顶点颜色的唯一来源是 shape.interfaceId,不是 shape.meta —— 平台 AnnotationColorService.resolve 走 getInterfaceConfig(interfaceId).color;而 interfaceId = Ud(meta.category),Ud 用 Ni.definitions 校验,未注册一律退成 OBJECT(#94a3b8 灰)。过去 v2.9.13~v2.9.16 全在修 meta,方向错了。现建框/粘贴两条路径都:① 写入数据时 category 一次到位(不留 null 窗口);② shape 出现后显式对齐 interfaceId(update 是浅合并,只传 {meta} 不会改 interfaceId);③ 幂等修复历史遗留灰框。新增诊断 adoFit.diagInterfaceColors() / adoFit.repairInterfaces()。v2.9.13 【真正修好前视残留 2D 框】v2.9.11/v2.9.12 只改 truncation 都没用,根因从 bundle 反编译出来了:平台画 2D 框的判据 `dd()` 只看 `is_hidden_forcibly / is_decoupled_bounding_box / bbox !== null`,**truncation 根本不参与**。跨帧粘贴时 decoupled=true 会被原样继承,所以框永远画。现完整复刻平台 R 键的 `Px()`:重算 bbox + 清 decoupled + 清 forcible + 按 ac() 修 tc/oc,再补一条平台没做的质检兜底(真有角点在相机后方 → 截断必须非 0)。三者缺一不可,写入走 patchObjectCamera(R 键同通道)+ annotationStore.update(同步 shape.meta)。v2.9.12 正确识别写入权限白名单是逗号表达式(无 ?role= 时全字段放行),修掉前一版「字段永远写不进去」的误判。v2.9.11 【关键】重判改为每轮持续校验:用户是「先粘贴 → 再拖到车后」,只在粘贴那一刻判一次等于漏掉了拖动这一步,前视残留 2D 框永远不清。现每 400ms 扫全帧,带 3 秒冷却避免与用户手填打架。v2.9.10 加后台心跳(adoFit.watchdog.pasteTick / exemptTick),一眼确认 watcher 活没活;并抽出 boot() 保证两个分支都启动。v2.9.9 修「后台 watcher 没启动」——这是 v2.9.7/v2.9.8 连续两次“改完还是不行”的真正原因:`readyState==="loading"` 分支只绑了 buildUI,startPasteWatcher / startExemptWatcher 全没跑,面板照常显示但后台是死的,粘贴后自动重判永不触发。另修孤儿 shape 复活已删对象(清空本帧后 poller 会把对象捞回来),只捞从未见过的 ID。v2.9.8 把「本轮新增」与「属性缺失」两个闸门拆开(平台原生 Ctrl+C/V 粘出来的对象属性完整,isAttrMissing 返回 false 会被旧逻辑排除)。v2.9.7 粘贴后按新位姿重算摄像头属性。v2.9.6 修帧号显示:「质检本帧」和「清空全帧确认」漏了 0-based→1-based 转换(明明在第 10 帧却显示帧 9)。v2.9.5 修同帧粘贴。v2.9.4 真选中 + 跨帧补全 + 最小化。v2.9.3 补全后刷新选中 + 跨帧三层兜底 + 面板可滚动。v2.9.2 粘贴后自动选中 + 面板可调大小。v2.9.1 粘贴开关 + 隐藏实验项。v2.9 粘贴自动补全。v2.8.1 尺寸异常批量勾选。v2.8 适配尺寸异常。v2.7.3 预填不重建弹窗。v2.7.2 点数字不重建 + 说明中文化。v2.7.1 纯复制上帧 + 面板固定尺寸 + 循环 0~4。v2.7 面板分组重排 + 隐藏全贴合·撤销·一键新增 + 修属性被清空 + 复制保留属性。v2.6.4 帧号 1-based。v2.6.3 纯复制下帧。v2.6.2 复制按钮并列。v2.6.1 面板最小化。v2.6 修近邻物体重叠。v2.5.1 ID 去重合并。v2.5 支持从下一帧复制。v2.4.1 属性快填对齐黄框。v2.4 属性快填。v2.3 朝向对比度阈值放宽。v2.2 判据包围盒改分位数。v2.1 位移上限 2m + 多起点细扫。v2.0 修误拒 + 配准加 yaw。v1.9.1 点云配准。v1.9 智能复制。v1.8 文件服务 API。v1.7 统计框数。v1.6 余量放远端。v1.5 排除自车 + 清空全帧。v1.4 质检。v1.3 质检 + 压线车。v1.2 一键新增 + 改属性。v1.1 壳体贴合朝向判据。
111下载
4 天前
#ALCH…#3D标注#点云处理+2
公开
A
24 小时 +2
将 ALCHERA ADO 3D Cuboid 标注平台界面(韩文 + 英文)实时翻译为中文。术语依据《PJT64 Cuboid_Guide》官方中文版与标注行业规范。v1.3.0 覆盖平台新增的「作业者信息 / 作业状态」整套功能(作业者身份按钮与弹窗、对象·属性·质检三行状态、作业完成 Shift+Space、取消质检完成、退回该帧与其原因输入),以及帧级「上下限例外」、只读标记、ID 保持粘贴、文件接收进度;并修复两条因前导空格而永不命中的片段规则、以及进度文案被通用规则抢先吃掉导致的半截翻译。
187下载
5 天前
#翻译工具#界面本地…#标注平台+1
公开
BB脚本-每帧单次点击v3.1
24 小时 +1
v3.0 生产版:清理调试日志,逻辑同v2.7(删除isSelected误判跳过、点击后确认+补点兜底、白名单排除未分组)。每帧仅点一次。
115下载
5 天前
#data…#自动点击#标注平台
公开
- 1-10 / 共 10 个脚本
- 1