Luckyu_js
|
5d63e3ed2d
|
视频高清处理
|
1 week ago |
Luckyu_js
|
2ac4247e07
|
隐藏擦除功能
|
1 week ago |
Luckyu_js
|
f25f799f2e
|
积分查询处理
|
1 week ago |
Luckyu_js
|
9c070fcfae
|
多选时不会自动播放视频, 模型过滤处理
|
1 week ago |
Luckyu_js
|
5450860ced
|
积分计算修改
|
1 week ago |
Luckyu_js
|
efe4ff4f55
|
删除冗余代码
|
1 week ago |
Luckyu_js
|
6081817081
|
拖拽节点时隐藏生成工作台/高清面板/工具胶囊
拖拽中通过 canvas-node-drag-active 祖先类将 GenerationComposer、
NodeHighDefinitionPanel(含视频高清)及节点动作胶囊 display:none,
松手移除类后自动恢复显示。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
1 week ago |
Luckyu_js
|
53e8a9320e
|
测试文档更新
|
1 week ago |
Luckyu_js
|
83fbf4df1f
|
视频数量回写
|
1 week ago |
Luckyu_js
|
83df077837
|
画布优化处理
|
1 week ago |
Luckyu_js
|
8dc6e8bbf6
|
跳转问题修改
|
1 week ago |
Luckyu_js
|
5e68353094
|
样式调整
|
1 week ago |
Luckyu_js
|
26b15520d8
|
增加放大编辑的功能
|
1 week ago |
Luckyu_js
|
1a7dc7d2e0
|
修改样式
|
1 week ago |
Luckyu_js
|
927aebe399
|
tag 支持拖拽
|
1 week ago |
Luckyu_js
|
828099993e
|
新增画布优化
|
1 week ago |
Luckyu_js
|
096b0ad8be
|
画布追加
|
1 week ago |
Luckyu_js
|
5b1e036868
|
复制组
|
1 week ago |
Luckyu_js
|
3605063695
|
视频使用首帧 的压缩图来展示
|
1 week ago |
Luckyu_js
|
a1bbd34376
|
分页问题处理
|
1 week ago |
Luckyu_js
|
11b617e14a
|
删除冗余代码
|
1 week ago |
Luckyu_js
|
2fd5805085
|
线的处理
|
2 weeks ago |
Luckyu_js
|
54d146908f
|
全部使用图片 带后缀的缩略图, 增加裁剪功能
|
2 weeks ago |
Luckyu_js
|
7d23777abd
|
优化图片 视频工具
|
2 weeks ago |
Luckyu_js
|
5fd4ba6c85
|
删除伪代码
|
2 weeks ago |
Luckyu_js
|
09f7fa2279
|
去字幕
|
2 weeks ago |
Luckyu_js
|
d487b23e3a
|
fix(video-erase): aiModelName 采用模型 code 而非中文显示名
按网关 payload 约定,aiModelName 应等于 aiModelCode。通过 parameters.aiModelName
注入,让 buildPopiTaskBody 优先采用,不再回退到 displayName。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
a4a6856e33
|
fix(video-erase): 统一擦除为编辑态交互,进入时隐藏节点操作条
- 智能擦除改为进入编辑态(videoSmartErase):覆盖'AI一键去字幕'提示工具条,
点击生成才派生 207 节点,不再点击即建
- 视频节点读取 activeNodeTool,进入任一擦除态时隐藏 NodeActionCapsule,
与图片节点裁剪/擦除的互斥一致
- ActiveVideoEditHost 分发智能/框选两种擦除会话
- 新增 MediaVideoSmartEraseToolbar
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
d0a4b5e9ce
|
feat(video-erase): 视频节点新增'智能去字幕'气泡下拉入口
- 生成视频/上传视频节点的操作气泡加入智能去字幕下拉:
- 智能擦除:一键派生 207 节点并生成
- 框选擦除:打开画布级框选宿主,确认后派生 208 节点
- 主按钮默认触发智能擦除
- 新增去字幕/智能擦除/框选擦除三个图标
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
c35affed62
|
feat(video-erase): 新增框选擦除画布级编辑宿主与多框选区 overlay
- MediaVideoEraseOverlay:视频上绘制多个矩形擦除框(新建/移动/缩放/删除),
归一化输出 [0,1] 的 erase_ratio_location
- VideoBoxEraseSession + MediaVideoEraseToolbar:选区确认后派生 208 节点并生成
- ActiveVideoEditHost:仿 ActiveImageEditHost 的 flow 坐标单例宿主,挂载于画布
- nodeToolStore 新增 videoBoxErase 工具类型
- getNodeVideoSource 工具函数
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
5a370137e4
|
feat(video-erase): 新增视频擦除派生节点工厂与 subType 保持逻辑
- videoEraseNodes.ts:内置智能/框选擦除 SelectedModel(aiModelId 109、
aiModelCode volc-mediakit-video-erase-subtitle[-pro])+ 建节点工厂,
框选擦除携带 extraTaskParams.erase_ratio_location
- workflowStore 保持擦除派生节点的 207/208 subType,不被自动选型覆盖
- GenerateVideoNode 跳过擦除派生节点的模型自动选择
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
8c2632ae04
|
feat(video-erase): 新增视频擦除 subtype 全局常量与模型分类
- 新增 POPI_VIDEO_SUBTYPE_ERASE_SUBTITLE=207(智能擦除)
- 新增 POPI_VIDEO_SUBTYPE_ERASE_SUBTITLE_PRO=208(框选擦除,文档误标207)
- popiModelClassification 将 207/208 归类为 video
- derivedVideo.operation 扩展 smartErase/boxErase
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
6607e2e6c8
|
test: 修复节点组件测试的 mock 漂移(阶段二)
补齐产品新增依赖对应的 mock 字段:
- workflowStore mock 补 runningNodeIds(Set):EaseCurveNode / VideoStitchNode
- @xyflow/react mock 补 useNodeId:EaseCurveNode / AudioInputNode / VideoStitchNode
测试失败:385 → 365
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
cf9110eb27
|
test: 清理过时测试债(阶段一)
- 删除测已移除功能的过时测试(旧 fal.ai/replicate 供应商体系,
产品已改为 Popi-only 网关):
- api/generate/route.test.ts(import 已不存在的 clearFalInputMappingCache/
getConnectionParams)
- api/models/route.test.ts、api/models/[modelId]/route.test.ts
- 修复节点组件测试的 modelStore mock 漂移:补充 useSelectedModelSchema
依赖的 detailsById/detailLoadingById/detailErrorById/fetchModelDetail
(GenerateVideoNode/GenerateImageNode/GenerateAudioNode/LLMGenerateNode/
ModelSearchDialog)
测试失败:528 → 385(删除过时 130 + 修复 13)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
eae25593e2
|
Merge branch 'feature/0710' into feature-img
冲突解析:
- GenerationComposer.tsx: 采用 0710 的 helper 抽离(composerDraftHelpers/
composerModelCapability/composerReferenceEdges),保留 feature-img 的
useAppConfigStore/buildPreviewImageUrl 依赖
- composerReferenceEdges.ts: getReferenceImageThumbnailUrl 保留 feature-img
的 buildPreviewImageUrl 缩略图逻辑(而非 0710 的 previewImg 旧逻辑)
- video-to-video 能力枚举经 0710 删除,视频增强(ENHANCE)子类型改用
image-to-video(无行为依赖,HD 检测走 subType;并使其被 composer 的
video 能力过滤正确识别)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
e9db4a7a91
|
视频高清功能
|
2 weeks ago |
Luckyu_js
|
88a9682677
|
图片缩略图优化
|
2 weeks ago |
Luckyu_js
|
82d5eaecee
|
refactor(asset): 资产选择不再调用图片详情接口,缩略图统一走地址拼接
- popiAssetApi 的 resolve* 直接使用列表项已有的真实地址,不再请求
/api/popi/asset/detail、/api/popi/media/detail
- previewImageUrl 统一由 buildPreviewImageUrl 现拼(OSS imageMogr2 参数)
- 删除已无引用的 asset/detail、media/detail 代理路由及测试
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
60e059965d
|
图片预览处理
|
2 weeks ago |
Luckyu_js
|
c774bc0f6d
|
ui修改
|
2 weeks ago |
Luckyu_js
|
27354e9848
|
标注
|
2 weeks ago |
Luckyu_js
|
3f09f2b8f1
|
feat(annotate): 接入编辑工具宿主与节点菜单
- nodeToolStore / ImageEditTool / ImageEditSession / ActiveImageEditHost 注册 annotate
- MediaEditActionDropdown 标签
- GenerateImageNode 与 ImageInputNode 编辑菜单新增"标注"入口、图标与激活判定
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
4a706ed06a
|
feat(annotate): 画布级标注工具(Konva 矢量就地编辑)
- useAnnotationEditor: 组件内矢量状态(reducer + 历史栈),关闭即丢弃
- MediaAnnotationOverlay: 就地 Konva overlay,选择/矩形/圆/箭头/自由/文字,
Transformer 逐条选中/拖动/变换,exportComposite 压平图片+标注到 natural 分辨率
- MediaAnnotationToolbar: 浮动胶囊工具条(颜色/线宽/撤销重做/清空/保存)
- AnnotationEditSession: 组装 + 键盘快捷键 + 保存流程
- createAnnotationNode: 上传合成图后建派生节点连线,不 regenerate(不进行组运行)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2 weeks ago |
Luckyu_js
|
11adf1b972
|
feat(annotate): 派生节点类型与 annotate operation 基础支持
- createDerivedImageNode 支持可选 size
- derivedImage.operation 增加 annotate
- SMART_IMAGE_AUTO_TASK_OPERATIONS 加入 annotate(仅强制图片源、不进执行器)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2 weeks ago |
yun
|
3119f72ad2
|
工具优化
|
2 weeks ago |
yun
|
71217beeff
|
增加后门入口
|
2 weeks ago |
yun
|
c11f877b3e
|
模型增加统一的删除方案
|
2 weeks ago |
yun
|
272e8baccf
|
工具移到最外层
|
2 weeks ago |
yun
|
9eb9de1937
|
feat(canvas): 编辑工具(裁剪/扩图/擦除/多宫格)抽到画布级宿主
新增 ActiveImageEditHost:以屏幕坐标系 fixed 容器锚定目标节点媒体框的
实时矩形,读取全局 nodeToolStore 渲染唯一一份 ImageEditSession,随
画布平移/缩放/节点拖动实时跟随,并在活动节点被删除时清理工具状态。
- nodeImageRegistry:模块级 nodeId→{img, mediaFrame} 注册表,节点用回
调 ref 注册元素供宿主定位。
- nodeToolStore:新增 splitGridSelection 通道,跨子树把多宫格行列选择
从节点入口传给宿主;switchTool/closeTool 自动清理。
- getNodeImageSource:从 NodeGenerationComposer 抽出为共享 util。
- ImageInputNode / GenerateImageNode:不再本地渲染 ImageEditSession,
仅保留入口(switchTool)与全分辨率 src 切换;注册媒体框/图片元素。
- WorkflowCanvas:在 ReactFlow 内挂载宿主。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2 weeks ago |
yun
|
50211e57d8
|
refactor(GenerateImageNode): 统一编辑工具走 ImageEditSession
删除内联的 crop/扩图/多宫格 overlay、草稿 state 与 confirm 逻辑
(handleConfirmCrop/handleConfirmOutpainting/handleConfirmSplitGrid 等),
改为像 ImageInputNode 一样渲染单个 ImageEditSession,复用
useImageDerivedNodeActions。保留 renderedImageSrc 的全分辨率切换
与胶囊入口。为后续把工具抽到画布级宿主铺路。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2 weeks ago |