pipeline-agent
1a4d664b5a
revert: get_by_id改回原版分段查找——.是框架设计的控件路由分隔符,后缀兜底是错误修法;UI侧改用裸id
2026-08-30 13:55:35 +08:00
pipeline-agent
b7b85e063f
fix: get_by_id层级id查找——精确匹配+后缀兜底+CSS.escape,修复urlwidget replace target静默miss(世界/场景/实体等创建导入点击无反应根因)
2026-08-30 13:04:07 +08:00
47b08371aa
feat: MdWidget/MarkdownViewer外链新窗口打开(非同源链接不再被拦截成站内跳转)
2026-08-29 15:00:35 +08:00
9f05e56d93
chore: bricks.js 缓存版本号 20260825a→20260829a(label 兼容修复强制刷新)
2026-08-29 09:02:38 +08:00
093b849bf1
fix(Text): 兼容 label 写法——LLM 生成 .ui 常用 label,此前静默渲染空文本致界面空白
2026-08-29 09:01:52 +08:00
4cf2c1a57e
feat(AgentInput): 模型下拉自动注入 session_id——多tab按会话解析项目模型,各产线UI无需逐个配置
2026-08-28 12:39:26 +08:00
5227a4d491
fix(AgentIO): 模型下拉尊重服务端 selected 标记,不再每次重建回退首项
...
- UiCode.build_options: 未显式指定 value 时,扫描数据项 selected:true 标记作为初始选中
(此前每次重建控件都把用户已持久化的选择重置成列表第一项)
- AgentIO 透传 model_params 给 AgentInput(多 tab 会话按 session_id 解析项目模型)
2026-08-28 12:26:02 +08:00
406ed6f17a
feat(scene3d): Scene3D 接入脚本引擎 + 按需注入 three.js + 自写环绕相机
...
- engine.js/inherit.js 以 UMD 双分支引入(node 测试照跑 + 浏览器拼进 bricks.js)
- Scene3D 新增本地逻辑引擎(独立世界):描述符 properties/events 喂 SceneRuntime,
点击→tap 注入、每帧 step 推进、transform/visible 回填 three.js
- three.min.js 按需注入(非 3D 页面不背 608KB)
- 自写环绕相机:单指旋转/双指缩放/双指平移(three.js r148+ 移除 UMD OrbitControls)
- 新增 API:set_entity_transform / set_paused / reset_runtime
- 已验证:门铃示例(定时+条件+点击+moveTo+属性变化)、相机旋转全链路
2026-08-27 15:41:51 +08:00
d945e414d7
feat(scene3d): Scene3D widget — bricks3d 最小闭环(后端声明式场景描述符→three.js 本地渲染→entity_tapped 事件回传)
...
- scene3d.js: Scene3D widget(VBox 子类),支持 box/sphere/cylinder/model 实体
内联 scene 或 scene_url 两种描述符来源;Raycaster 拾取→dispatch entity_tapped
活动对象(scene/camera/renderer/mesh)只存实例私有字段,防 JSON.stringify 循环引用
s3_dispose() 释放 WebGL 资源;set_entity_color/set_entity_visible 公共 API
- build.sh: scene3d.js 加入 SOURCES
- 3parties/three.min.js: r149 UMD 全局版(608KB,npmmirror 下载)
- examples/scene3d_demo.html: 演示页(4 实体场景 + scene_ready/entity_tapped binds)
验证(CDP 实测):场景就绪事件✅ 点击拾取✅ entity_tapped→binds→状态栏更新✅
球点击变色 #f59e0b→#ef4444 全链路通过;干净重载 0 JS 异常
2026-08-27 11:31:10 +08:00
8a92b95990
fix(css): .scrollpanel 选择器缺逗号导致 VScrollPanel 无 width/height/overflow 样式(高度塌陷)
2026-08-25 15:05:21 +08:00
635bd76386
feat(header.tmpl): 应用级 js/css 与 bricks 主文件加 ?v=assets_ver() 缓存版本号(服务端未注册则退化为原行为)
2026-08-25 14:36:16 +08:00
7e0d5a1701
fix(bricks): on_parent 等事件 params 为 widget 对象时不再撞循环 JSON
...
- buildEventHandler: event.params 经 bricks.event_params_data 过滤,widget/DOM/Event 不当数据用
- apply_data: 改用 bricks.safe_json_stringify,循环引用时降级序列化而不抛异常
- bump bricks.js 缓存版本 20260825a
2026-08-25 13:56:20 +08:00
91b3212f31
chore: bump bricks.js 缓存版本号 20260820b(登录不刷新页面 login_source/refresh)
2026-08-20 14:44:09 +08:00
f2f9893bac
fix(bricks): 非用户主动登录(401自动弹窗)成功后不刷新页面
...
- withLoginInfo 弹登录窗带 login_source=auto 标记被动登录
- Message 类读 refresh=false 设 _login_no_reload,跳过 dispatch user_logined
- 用户主动点击登录仍正常刷新
2026-08-20 14:41:18 +08:00
3c8eb4bb3d
fix(tree): 展开箭头和节点图标加 flexShrink:0,防止长label挤压到0宽
2026-08-19 20:31:20 +08:00
2c0f01451b
chore: bump bricks.js 缓存版本号 20260818a(AgentInput padding)
2026-08-18 18:46:16 +08:00
625b6441bf
chore: bump bricks.js 缓存版本号 20260815g
2026-08-18 18:43:44 +08:00
e66837cb0d
fix(tree): Tree 图标改为 /bricks/imgs/ 绝对路径,绕过 bricks.path 计算 bug(currentScriptPath 返回 / 导致图标 404)
2026-08-18 18:43:20 +08:00
4bdf040aaa
fix(tree): 节点内容渲染从 schedule_once 异步改为同步,消除展开图标时序问题
2026-08-18 18:27:24 +08:00
c98a8b6eeb
fix(tree): folder icon now switches to open-folder on expand (typo + this.icon_url bug)
2026-08-15 20:35:06 +08:00
b09ef14301
chore: remove debug logs (CTN/SETURL), keep token race fix; bump cache ver
2026-08-15 20:07:44 +08:00
efbd5f5839
debug: log set_url null/stale/render; bump cache ver
2026-08-15 19:49:26 +08:00
aae2150dad
fix: AgentIO上传文件改用FormData(JSON.stringify会丢失File对象内容)
2026-08-15 19:15:19 +08:00
97ad189fb5
debug: add change_node_type is_leaf logging; bump cache ver
2026-08-15 19:00:20 +08:00
2254297be3
fix: cache-busting for bricks.js/css (?v= in header.tmpl)
2026-08-15 17:16:02 +08:00
ee50245895
fix(Svg): cancel stale fetch in set_url so leaf nodes hide arrow (race condition)
2026-08-15 11:53:27 +08:00
7746595739
fix(tree): change_node_type 死代码导致叶子节点仍显示展开箭头
...
return 提前返回使 set_url(null) 成为死代码,叶子节点(is_leaf=true)的展开箭头本应隐藏却仍显示。
修复:叶子分支直接 set_url(null) 隐藏箭头,非叶子才 set_state+bind 展开。
2026-08-15 01:42:36 +08:00
p
cbfe532050
fix: resizebox z-index above xterm/Wterm content
2026-08-15 01:42:36 +08:00
p
d1995ff118
fix: PopupWindow resize — remove stale e.target check in resizing()
2026-08-15 01:42:36 +08:00
p
9e23fbccb9
fix: ResourceBrowser strip tools before clone_descriptor (avoid circular ref from buildBind event_widget)
2026-08-15 01:42:36 +08:00
p
71dae6ecfe
fix: ResourceBrowser tree_width method collides with option name (rename to get_tree_width)
2026-08-15 01:42:36 +08:00
8b4b9390a8
Revert "feat: AgentIO abort previous request on new input"
...
This reverts commit 5fb7796df1d0b416ae978ecd95be076a037d30a7.
2026-08-11 14:48:58 +08:00
5fb7796df1
feat: AgentIO abort previous request on new input
2026-08-11 14:00:42 +08:00
f9322531d0
feat: UiCode support multiple select attribute
2026-08-10 16:56:36 +08:00
ded5de54ed
cleanup: remove Conform widget handling, revert to conversational confirm
2026-08-09 21:57:59 +08:00
1fd689ca62
fix: AgentIO.sys_post() + global ref — reliable Conform confirm handler
2026-08-09 21:46:06 +08:00
bf6b14f81e
fix: Conform confirm creates AgentOutput and processes streaming response
2026-08-09 20:19:44 +08:00
22feb99a13
AgentOut: handle Conform widget confirmed event → POST _system_action
2026-08-09 20:00:01 +08:00
9a6e7e1a75
AgentOut: handle bricks widget descriptor JSON (widgettype) in streamed response
2026-08-09 17:01:34 +08:00
8b4897ea14
AgentIO: use AgentInput instead of TextFiles for model selector support
...
- Add agent_input.js to bricks build
- AgentIO constructor passes model_dataurl, model_cwidth, placeholder to AgentInput
- Keep dispatch('inputed') event pattern
2026-08-08 23:42:14 +08:00
e2086397fd
bugfix
2026-08-08 22:47:14 +08:00
f2766a76dd
bugfix
2026-08-08 22:45:24 +08:00
c0cda2931a
fix(textfiles): clear_widgets before add_widget to prevent stale file entries
2026-08-03 10:45:34 +08:00
c726b95714
feat(DimensionFilter): dark/light theme via CSS variables and dimension-filter class
2026-07-31 11:55:39 +08:00
1034b53341
fix(DimensionFilter): use native CSS flexbox for proper height fill
2026-07-31 11:38:09 +08:00
57575d90f0
fix(DimensionFilter): proper flex layout - fixed search+horizontal bar, filler content area with VScrollPanel display
...
- SearchBar + horizontal bar: flexShrink:0 for fixed height
- Content area: flexGrow:1 to fill remaining space
- Vertical sidebar: fixed 160px width, flexShrink:0
- Display: VScrollPanel with id + width:100% height:100%
2026-07-30 18:27:24 +08:00
09a07904fc
fix(DimensionFilter): configurable param names + 'all' skip + init refresh_display
...
- h_param_name/v_param_name/keyword_param_name options for URL param mapping
- 'all' values filtered out of params (treat as no filter)
- refresh_display() called after initial data load
2026-07-30 16:49:08 +08:00
9f4ca625c6
fix: add .dimension-btn-active CSS class for DimensionFilter active state
2026-07-30 15:58:51 +08:00
850d44ddb5
feat: add DimensionFilter widget with h_data_url, v_measure_url, show_data_url support
...
New Bricks widget that provides:
- Search input bar with configurable placeholder
- Horizontally scrollable dimension buttons with left/right arrows
- Vertically scrollable measure buttons on the left side
- Display area on the right side loading show_data_url with params
- Single-selection for both horizontal and vertical dimensions
- '全部' (All) option default selected for both axes
- filter_changed event on every selection/search change
- Registered via bricks.Factory.register('DimensionFilter', ...)
2026-07-30 15:52:36 +08:00
bc3c4525fd
fix(Tree): suppress deselect event dispatch when switching nodes
...
Previously node_click_handle dispatched node_selected(false) for old node
before dispatching node_selected(true) for new node, causing apps to briefly
show old content. Now only visually deselects old node, dispatches only for
new selection.
2026-07-27 18:35:08 +08:00