Skip to content

[Proposal] 独立研究 3DGS 摄影模拟:大画幅光学、相机/镜头/画幅与滤镜体系 #62

Open

Description

@Shuang-su

2026-10-05 当前状态:研究继续,限定 ACG 入口已产品化

MF-62 的本地摄影成果已按用户批准的独立 Promotion 范围,通过 MF-106 接入 ACG 单文件 SOG/PLY 资源的 /director 页面。实际发布、源提交、公开照片/视频和验证范围以 MF-106 完成交付及 发布记录 为准。

这次公开包使用自有界面样式、系统字体和可核验许可依赖,未发布原参考站 CSS、特殊 SVG、字体或设备资产;也未发布 Studio 切换、项目库或在线服务。历史实验与来源档案保持原状。

本 Proposal 保持 Open。 严格强前景、发丝/透明遮挡、扫描残影、物理镜头与胶片研究、完整逐状态动画一致性仍未完成;ACG 路由、照片与视频输出通过不替代这些验收。下方各日期的“未推送/未部署/未决定”描述保留为当时记录,不代表当前限定公开入口状态。

2026-09-09 阶段状态(历史)

Open / Proposed — 独立研究报告已完成;已授权的本地 Director 摄影实验正在逐状态修正,完整 ui.camera 复刻与严格强虚化画质仍未通过。

2026-09-09 更新:用户已批准独立 Director、Viewer 升级候选与既有 Editor 候选复用;本地摄影流程优先,账号、云同步和在线 AI 保留明确入口。当前继续对照 ui.camera 的实际 DOM、CSS、数值、图标、hover 和动画修正。唯一 Spec 为 docs/design/mf-62-camera/spec.md;现行 Plan 为 Codex 任务中已批准的“Director 逐状态复刻修正”。

本地修正 checkpoint:d62c8eaffb312123e878ec8f905b61879c117614(尚未推送)。逐项核验记录为 docs/design/mf-62-camera/state-fidelity.md;本次实际结果另见下方交付评论。未下载或运行新的 Edge 验证;未合并、推送、部署或提升正式产品版本。

本 Issue 保留原始研究、三个用户指定来源、后续实验目标和已有候选历史。下面原研究部分的“仅研究/不实施/未运行”描述对应 2026-09-08 的研究交付,不覆盖随后明确批准的 Director 实验。 正式产品接入和发布仍未决定,不关闭 Proposal,不指定负责人、里程碑或日期;后续验收保持未勾选。

背景与指定来源

2.1 ui.camera:摄影式操作与持续取景

ui.camera 将界面图片/视频作为摄影对象。2026-09-08 的公开演示界面中,实际看到 PHOTO/VIDEO、三轴旋转、Focus、Blur、Zoom、Perspective、背景、边框、阴影和 Capture PNG 入口;展开画幅控件可见 16:9、4:3、1:1、4:5、9:16。模糊面板以带刻度的长条控制配合 ƒ 数值呈现,点击对焦模式后显示选取焦点的提示。ui.camera

值得研究的交互是:取景占据中心,摄影参数集中在画面附近,调整时持续观察构图与清晰范围;用少量直接控件进入,再展开精细调节。该演示展示的是界面媒体的摄影式制作,不能据此认定它提供真实三维捕获、完整镜头库或经标定的光学模型。ƒ 标识属于观察到的界面表达,其数值和实际孔径、毫米焦距之间的对应关系未核实。

本次只观察演示内容和控件状态;未上传用户素材,未验证账号、项目保存、图片或视频输出,也未取得该网站完整工程或可复用许可。

2.2 Citroën BX:扫描后的广告摄影

Jörg Kahlhöfer 的汽车案例明确说明:他在汉堡用四台 DJI Osmo Action 6 安装在竖杆上的采集装置扫描汽车,采集约三分钟;随后在 Cinema 4D 内用 Octane Render 实时查看高斯场景,追求九十年代汽车广告的视觉风格,包括蓝色背景和版面元素。作者汽车原帖

该案例支持“扫描完成后继续选择机位和制作广告视觉”的方向。三分钟是作者报告的采集时间,不是重建或渲染耗时;没有证据证明这一装置与墓园人物案例相同。海报文字、标志及背景属于成片设计层,不能当作镜头光学效果。

2.3 墓园人物:大画幅摄影体验与即时成片判断

作者另一篇原帖描述朋友 Sascha 坐在阳光下的墓园,使用高斯扫描捕获场景,再通过 Octane AOV 实时合成器加入胶片颗粒、halation 和 4×5 胶片画框,在选择机位及参数时看到接近最终的外观。作者墓园原帖

这为“取景与最终 look 联动”提供了一手案例。原文未公开有效成像面尺寸、镜头处方、光圈/焦距组合、倾角或移轴标定,也没有硬件、分辨率、采样数和收敛耗时。“接近实时”保留为作者体验表述;人物保持不动约三十秒指采集过程,不能解释成重建或渲染时间。帖子评论中对旋转焦外的提问也不是作者公布的实现方法。

两篇 LinkedIn 来源均已读到作者正文;本轮没有对嵌入视频做逐帧观察或性能测量。页面仅提供相对时间,分别显示约 1mo 和 2w,不根据活动编号反推并冒充作者公布的绝对日期。

2.4 Octane 的可证实技术支撑

OTOY 官方文档说明,高斯对象可从 PLY/SPZ 导入,支持相机景深和光线追踪镜头效果;高斯光线追踪比光栅化慢。文档还列出体积、接收阴影、Render Layers 等限制,因此不把案例解释为所有物理交互都已解决。Gaussian Splat 官方说明

AOV 需要拆开理解:Render AOV 是渲染数据分量,Output AOV 是内部后期合成。后者可通过图层、遮罩和节点预览多个外观,但只能处理已经渲染出的数据;需要深度等信息时,必须先有对应输出。它支持创作流程,不会自动补齐缺失几何或光学信息。OTOY Output AOV 指南

目标

让创作者在扫描完成后重新寻找机位、调整构图与景深,选择相机、镜头、成像画幅及滤镜/胶片组合,并在创作过程中预览接近最终成片的结果。

研究应回答:如何建立可解释的摄影参数;现有高斯表示能支持到什么精度;相机/镜头/滤镜库应该记录什么;哪些技术可作为近似、光学或胶片基准;还需要哪些实验才能决定未来实现。

包含范围:摄影体系研究

下表是研究建议,不是已批准的公共类型或存储格式。

层次 应描述的对象 用户如何理解和操作 必须保留的边界
三维捕获 场景、尺度、坐标、有效覆盖、颜色编码、已捕获清晰度 在扫描覆盖范围内重新寻找机位 缺失视角、浮点、采集模糊、过曝不能靠“换镜头”保证恢复
相机 位姿、成像面、对焦方式、曝光、白平衡、相机预设 移动/旋转、点选焦点、调整焦距和摄影参数 相机机身预设应说明实际改变了哪些成像属性
镜头 焦距、孔径、像场、光圈形状、成像缺陷、处方/测量来源 从通用镜头起步,选择可解释或风格化镜头 物理近似、实测复现和艺术模拟分开标注
滤镜与感光材料 光学滤镜、传感器/胶片、相纸、扫描、创意调色 可独立启停与比较,组合成摄影预设 每个效果说明适用颜色空间、物理含义和输入要求
构图与输出 画幅比例、裁切、安全框、像素尺寸、边框、色彩输出 选择最终构图和导出规格 裁切、分辨率、装饰边框不改变已经形成的光学景深

推荐的交互结构是:默认提供“取景、焦距、对焦、光圈、画幅、胶片/滤镜”;高级面板再展示物理单位、镜头细节、曝光耦合、采样与输出选项。保留原始画面和最终效果的快速切换,避免颗粒和柔光掩盖扫描瑕疵。这是产品研究建议,没有实施。

具体研究点:

  • 相机与画幅: 场景尺度、位姿、焦距、视角、点击/手动对焦、孔径、曝光和白平衡;全画幅、中画幅、4×5 及自定义有效成像尺寸。明确物理画幅、输出比例、裁切、分辨率、装饰画框的区别。
  • 镜头库: 通用理想镜头、具有来源的复合镜头/测量档案、风格化镜头;覆盖像场、光圈形状、焦外、畸变、暗角、色差、眩光,以及倾角与移轴的研究地图。镜头和品牌条目注明实测、物理近似或艺术模拟,不以名称代替模型。
  • 滤镜与胶片库: 区分光学滤镜、感光材料/相纸/扫描、创意调色和输出装饰;研究扩散柔光、颗粒、halation、Bloom、曲线、LUT、色温和色彩响应。普通逐像素 LUT 不能完整保存空间颗粒和 halation。
  • 预览与成片: 研究快速交互、渐进累积、高质量输出,原始/最终效果切换,摄影预设复现、颜色管理及输出一致性;不预先承诺 FPS。
  • 数据条件: 已有高斯的尺度、视角覆盖、遮挡、颜色编码和采集质量决定后续精度;更复杂的渲染不自动恢复缺失信息。

报告重点解释四组区别:4:5 比例与 4×5 大画幅、焦距与移动机位、光圈与普通模糊强度、胶片 halation 与通用 Bloom。

方案与取舍

下表是从文档和源码得到的适用性判断;成本没有通过同机实测量化。

路线 主要机制 对本需求的价值 需要验证的主要问题
屏幕空间景深 使用颜色与深度,进行离焦后处理 易于组合现成后期,可作为较快的预览基线 单一深度如何表达半透明高斯;前景边缘漏色、遮挡后背景缺失、发丝与枝叶
Splat 离焦近似 根据离焦距离扩大高斯的投影足迹并补偿透明度 直接作用于现有 3DGS,适合研究交互体验 模糊半径限制、排序、遮挡、焦外形状及是否守住亮度
多孔径采样累积 从不同孔径位置采样并积累成像 值得研究的质量与成本折中方向 投影与焦平面一致性、采样分布、每个采样视图的排序和遮挡、时间收敛;本次没有选定现成实现
高斯光线追踪/复合镜头 光线与场景/镜片交互后积分成像 符合优先逼近光学、接受较慢输出的取向 高斯表示如何参与追踪;镜头资料、颜色能量、GPU 依赖和收敛成本

前两条分别有现成后处理和 Spark 的直接证据;Octane 证明高斯光线追踪与镜头效果存在可用技术路径;PBRT 证明复合镜头模型可以被明确参数化。多孔径采样是本报告提出的候选研究路线,PBRT 与现有 SOG/高斯数据的连接也尚未打通。 现行后处理 DOF、Spark 源码、OTOY 高斯文档、PBRT 镜头模型

后续可研究“移动时快速预览、停下后逐步收敛、拍摄时高质量输出”的工作方式,但不能在未实验前承诺这些层级保持完全相同的效果。若使用不同模型,必须明确显示差异并比较输出。

七个开源/受限源码候选

全部项目于 2026-09-08 核查。下列短 SHA 仅用于阅读,完整提交与永久链接见附录。默认分支快照和最新 Release 是不同事实;未将默认分支所有能力都归入该 Release,也未将最近推送日期解释为新版本发布日期。

项目 固定源码/已发布版本 用途、输入与接入成本 许可与研究结论
PBRT-v4 dc50b77c79fc;latest release 接口返回 404 C++ 光学基准,支持复合镜头、孔径和物理画幅;GPU 路径涉及 CUDA/OptiX。未发现标准 3DGS 原生导入;其 PLY 能力不能当作高斯支持 Apache-2.0;优先研究光学模型,暂不作为高斯运行时选择
Spark 722255799e26;v2.1.0,2026-05-18 Three.js 高斯渲染器,已有可控离焦示例;可用于现有高斯内容的交互基线。换成 PlayCanvas 需要独立适配 MIT;优先研究高斯景深近似
spektrafilm 3bb2c2d2801f;v0.3.3,2026-06-06 Python 参考实现,接受 RAW/准备好的线性图像;负片、印相、扫描;全分辨率输出较慢 代码 GPLv3;档案/LUT 专用文件写 CC BY-SA 4.0,README 有旧措辞;优先研究模型,资产引入待明确
PlayCanvas Engine 94790799e974;重点核查 v2.22.0,2026-09-04 CameraFrame 后期和原生高斯场景深度;最贴近未来 Metaflow 适配,但需引擎版本、设备与相机条件匹配 MIT;作为未来兼容对照,本轮不升级
pmndrs/postprocessing 703a17523c8d;v6.39.4,2026-07-27 Three.js 后处理组合,DOF、Bloom、LUT、Noise 等;需要适用的颜色/深度输入,不是 PlayCanvas 插件 Zlib,部分来源另有 MIT 说明;研究效果组织和快速基线
Lensfun a5e2caeb6b64;v0.3.4,2023-07-12 镜头/相机校正数据库;适合研究标识、机身兼容、焦距和光圈相关条目。不能作为完整镜片处方或焦外库 库/文档 LGPLv3,应用 GPLv3,数据库 CC BY-SA 3.0;研究档案组织,有限复用
DoF-Gaussian a33dda66b482;latest release 接口返回 404 CVPR 2025 作者实现,涉及 PyTorch、CUDA、训练与相机数据;不是任意预训练 SOG 的即插即用插件 非商业研究/评估限制;单列为受限源码及论文参照,不作默认产品依赖

功能与输入依据:PBRT README、Spark API、spektrafilm README、CameraFrame、postprocessing、Lensfun、DoF-Gaussian 论文和作者实现。各项目许可证永久链接与维护记录见附录。

关键纠正与限制

Spark 的景深是可解释的近似。 当前 shader 使用对焦距离和孔径角估计离焦量,增加投影协方差,再以行列式比调整透明度。它并未在这段路径中逐光线遍历真实复合镜头。报告因此把它列为交互基线,不宣称品牌镜头光学已经得到复现。固定源码

PlayCanvas 的旧文档与新版本有差异。 旧的渲染器说明仍提示高斯不写深度;v2.22.0 已包含高斯写 scene depth 的变化。固定版本源码提供能力判断,并对 CameraFrame 多重采样、非完整清除等配置限制新路径。深度仍是透明贡献相关的合成信息,不能等同于完整遮挡层或孔径采样信息。渲染器文档、版本说明、深度实现 PR、固定版本相机流程

旧 RealisticBokehEffect 已弃用。 不能仅因源码中存在 focalLength/fStop 参数,就将该项目列为现成物理摄影系统;当前 DepthOfFieldEffect 的控制方式需要单独解释。旧效果源码、现行效果源码

spektrafilm 的代码采用 GPLv3;专用资产许可文件采用 CC BY-SA 4.0,并把额外诉求与许可条款分开。README 同时保留旧的自定义许可措辞。本轮记录不一致,不引入代码、档案或 LUT,也不自行替作者消除这一差异。专用资产许可、README

优先参照 PBRT-v4 的光学、Spark 的高斯景深近似、spektrafilm 的胶片过程;三者分别回答不同问题,并非已选定的一体化技术栈。PBRT 与标准 3DGS 的连接、多孔径采样累积及完整品牌镜头资料仍需独立研究。本轮不升级 Metaflow 引擎、不指定产品运行时。

排除范围

  • 不建立独立实验原型或完整摄影工具,不接入 Studio/Viewer。
  • 不修改产品代码、公共 API/schema、路由、原始模型、资源索引、依赖、版本或 Ledger。
  • 不下载大型模型,不转换或上传用户扫描资产,不购置或安装商业渲染工具。
  • 不宣称完整品牌镜头/胶片库已经取得,不承诺精确大画幅标定或近实时性能。
  • 不执行渲染实验、产品构建、产品测试、PR、部署或发布。

验收标准

本次研究报告与需求登记:

  • 三个用户指定链接全部记录,注明作者/发布方、可见日期、访问日期、支持结论与证据边界。
  • 七个候选记录固定提交/版本、输入与适配边界、许可及维护证据;受限源码与可采用依赖分开。
  • 报告覆盖相机、镜头、物理画幅、滤镜/胶片、预览与输出,说明建议路线和未解决问题。
  • 给出未来实验矩阵;未执行的图像、性能与产品验证如实标记。

后续研究或实现方向(均未完成,且不在本轮授权范围):

  • 明确场景尺度、有效成像尺寸、焦距、孔径、对焦与曝光的可解释关系。
  • 用受控场景验证高斯景深近似、多孔径采样及高质量光学路线的画质差异。
  • 确定可使用且有来源的镜头、相机、胶片与滤镜档案,以及各自的精度声明。
  • 验证预览与高质量成片的构图、颜色、颗粒和摄影设置一致性。
  • 依据实验再决定是否制作独立工具、采用何种运行时,以及是否接入 Metaflow。

未来实验矩阵(本轮全部未执行)

共同控制:记录引擎/版本、GPU、分辨率、颜色空间、场景尺度、模型版本、点数/LOD、采样预算与随机种子。除被测变量外保持状态一致;对“同机位”与“同主体构图”实验分别定义条件,不能在移动机位后仍称为同机位对照。预览与最终图的质量和耗时单独记录,不先设置虚构的 FPS 目标。

编号 场景/变量 未来需要检查什么 关键限制
E01 已知尺度的斜尺与前中后三层物体;变化对焦距离 焦平面位置、清晰区间、前后离焦趋势,理论值与渲染对应 未标定尺度的真实扫描不能用于绝对米制结论
E02 固定机位与成像面;变化焦距,再单独移动机位 视角、主体大小与前后景关系,区分变焦、位移和裁切 同构图比较需要另外标注相机位移
E03 相同机位/焦距;变化成像面与输出比例 物理画幅的投影变化和纯裁切的区别 有效成像尺寸必须明确,不能只记“4×5”名称
E04 高亮小点、前后焦点;变化孔径和光圈形状 焦外轮廓、边缘猫眼、亮度与能量、半径截断 普通 Bloom 会改变外观,先关闭再单独加入
E05 人物发丝、树枝、围栏等前景遮挡 背景漏色、遮挡后信息、排序跳动、前景膨胀 比较相同扫描及明确的几何基准,不能混为同一类真值
E06 已知平面与建筑竖线;分别测试 tilt/shift 焦平面变化和偏轴构图是否各自正确 投影偏移不能代替倾角光学
E07 准备好的线性高亮边缘、色块与灰阶 胶片响应、halation、Bloom 的差异;避免重复 tone mapping 扫描输入过曝或未知颜色编码时保留限制
E08 多个输出分辨率及静帧/运动序列 颗粒尺寸、亮度依赖、随机种子与时间稳定性 颗粒不能随视口像素数任意改变观感
E09 同一摄影设置的交互、累积与最终输出 原始/最终 look 切换、色彩与构图一致性、取消恢复 允许预览近似,但应量化和说明差异
E10 干净样本与有浮点/缺面/采集模糊的样本 艺术效果是否掩盖错误;诊断视图能否暴露问题 不以“更像胶片”为由宣称扫描质量提高
E11 WebGL2/WebGPU 及高质量离线路线 首次有效预览、交互延迟、收敛耗时、内存和输出时间 引擎和设备支持先核实;缺设备项标未测

本矩阵的作用是为后续实验提供问题和控制条件;本报告没有填写误差、速度或质量排名,也没有把任何一项标为通过。

风险、依赖与回退

  • 证据与真实性: 作者作品证明工作流,不提供同设备性能基准或完整镜头标定;本轮读原文,未逐帧分析视频。
  • 渲染与输入: 屏幕空间深度、splat 足迹近似与光线追踪存在不同遮挡和能量边界;未知尺度、采集模糊、过曝及缺失视角需要显式保留。
  • 资料与许可: Lensfun 校正档案不能替代镜片处方;DoF-Gaussian 受限;spektrafilm 代码与资产说明分别核查。没有引入任何第三方运行时或模型。
  • 版本与兼容: PlayCanvas 2.22.0 新能力不代表 Metaflow 当前支持,也不代表所有设备和相机配置都可用。远端 Viewer manifest 当前锁定 2.21.3;本地工作区与远端有分歧,本次未同步或修改。Viewer manifest
  • 范围与回退: 本轮只有本地研究工件和本 Proposal,没有生产变更。若方向调整,通过更新/暂停 Proposal 表达,无产品回滚动作。

Spec / Plan、工件与相关任务

按用户已批准的“独立研究 3DGS 摄影模拟:大画幅光学、相机、镜头与滤镜体系,并登记 Proposal Issue”计划执行。当前没有产品实现 Spec、公共接口冻结或 Experiment Promotion 决定。

中文 Markdown 报告:.codex-work/downloads/photography-system-research-20260908/report.md。该路径是被 Git 忽略的本地研究工件,不是公共下载链接;本 Issue 已保留完整需求、主要结论、选型比较、实验矩阵及公开来源。完整 40 位源码提交、来源日期和许可永久链接见本地报告附录。

完成交付

2026-09-08:完成中文独立研究报告,记录 34 项来源、7 个固定仓库快照和 11 组未来实验。报告引用无未解析项,源稿与交付稿一致。32 个来源通过 HTTP/GitHub API 链接检查;两篇 OTOY Help 页面在普通 HTTP 检查中返回 403,但同日已通过网页阅读工具取得正文,保留访问方式差异。

未运行:渲染实验、原始模型检查、产品构建、产品测试、真机验证、导出和性能测量。本次未改变 Git 跟踪文件,无代码 Commit、PR、部署或发布。报告完成不代表摄影功能完成;本 Proposal 保持开放与 Proposed,未来验收全部未勾选。

2026-09-09 Director 实验执行与本地候选交付

原独立研究及来源继续保留。用户现已明确授权独立 Director 摄影实验,采用 ui.camera 的中央取景框、摄影控制条和视频时间轴;景深/虚化是第一验收重点,接受较慢预览及逐帧离线输出。

状态:功能候选可运行;严格焦外质量未全部通过,保持 design 实验。 不是正式产品发布,不关闭本 Proposal,不把后续产品验收勾选为完成。

范围及交付

  • 独立 metaflow-camera-lab/(React / TypeScript / Vite);唯一 Spec 为 docs/design/mf-62-camera/spec.md,实施 Plan 为用户批准的本次 Director 计划。
  • 本地/现有索引直链单文件 SOG/PLY;多素材多镜头;ZIP 工程保存原始字节、摄影状态、镜头与转场,重开校验版本/尺寸/SHA-256。
  • PHOTO/VIDEO、旋转/平移/机位/视角/滚转、点击/手动对焦、场景焦点锁定、清晰范围/虚化/前景开关、原始对照;16:9、9:16、4:3、4:5、1:1;背景/边框/投影合成。
  • 时间轴镜头编排、关键帧、线性/缓动/三次 Bézier、Cut/Fade/Push/Zoom;同一时钟求值。PNG/JPEG,H.264/MP4、VP9/WebM,720p/1080p/4K 和 24/30/60 fps 设备预检,确定性逐帧渲染、进度、取消、成功封装后保存。
  • Viewer 1.31.1 / PlayCanvas 2.22.1 候选(Upstream Sync Proposal: viewer v1.31.1 #55);Editor 2.32.5 既有候选复用与集成验证(Upstream Sync Proposal: editor v2.32.5 #56 / [Proposal] 在 Metaflow Editor 中渲染并导出包含 Viewer 粒子开场的视频 #57),不混入两套引擎。
  • 已生成可重开的人物/演播室工程、人物原图/景深对照、3.6 秒 1080p30 双镜头焦点变化与 Fade 视频。本地 artifacts 和日志由 Codex 交付,不把本地路径伪装为公共下载链接。

已测结果

Chrome 151 与 Edge 152 各 12/12 浏览器流程通过;Director 12 个 Node 测试、类型与构建通过;Viewer 86 个候选测试、类型/lint/构建/publint 及 WebGPU/WebGL 加载捕获通过;Editor 干净安装/构建/lint/locales、12 个 Node 测试和 21 个实际浏览器用例通过(大型工程使用既有约 442 MiB roundtrip,原大型源文件不在现场)。Safari 18.5 实际景深拾取、1080p30 H.264 输出和播放通过;不称 Safari 全矩阵通过。

已知深度 z=2/0/-2 的不透明 Gaussian 棋盘对应焦区正确;关闭景深仍可拾取,空白不改焦点。重复正常/延迟输出原始帧 hash 相同。固定稳定 CPU 排序,等待排序完成,修正新版引擎已归一化 DOF 半径导致的重复缩放。没有切换 Spark,也没有自动降低模型点数。

未通过与明确边界

  • 严格强虚化遮挡质量未通过全部要求:人物示例主体清晰、背景离焦可用;演播室强前景虚化在细杆/半透明区域仍有碎片与漏色。保留失败图和参数,不以温和预设替代该项通过。后续在同机位/模型/预算下研究深度归一化、边界处理或多孔径累积,继续作为产品化前阻塞项。
  • 193 MB 高谷仓 SOG 的部分 WebP 纹理解码失败;上游曾忽略子纹理失败导致空白“成功”。新增拦截/清理与损坏 SOG 恢复测试,原模型未修改。原先仅断言模型已加载的覆盖不足已纠正,画质样例改用实际可渲染的 SZMG6L。
  • 真实移动设备、大型多 LOD 流式、Dayun 全量碰撞、长片 4K 内存上限、Safari 全导出组合与真实 GPU 崩溃无缝恢复未验证。GPU 中断时保留工程并提示保存重开。
  • 流式 Director、LCC/LCC2、完整物理镜头/胶片库、Editor 3.0、账号/云/AI/音轨/字幕均在首版外;场景距离未标真实米制,4:5 比例不是 4×5 光学。

界面与来源

实际学习了 ui.camera 的照片/视频/面板/时间轴及明暗、窄屏状态,按用户指令复用公开 CSS/字体/刻度和对应图标;自实现 Gaussian、工程、时间轴与输出。没有核验到 ui.camera 官方开源仓库/整体许可证,不能称其开源,也未引入其追踪或后端。来源与资产哈希记录在 source-notice.md / visual-assets.json;公开产品化前仍需处理相应复用授权。

两个用户指定作品继续作为摄影动机与研究来源:Jörg Kahlhöfer Citroën BX、Jörg Kahlhöfer 墓园大画幅。其接近实时/4×5/AOV 效果不当作本实验性能或物理标定结论。

文档:docs/design/mf-62-camera/validation.md、metaflow-camera-lab/design-qa.md;关联 #58 Studio、#61 Luma 及 #57 输出。未来正式接入/发布/严格画质验收保持未完成。

本地分支 codex/mf-62-director,从既有 Editor 候选 89a5e4e1dec540d96e5a6fc8cc09c312c1f0036d 隔离建立。

  • Viewer / 内部摄影会话 checkpoint:863c3ac525d9b398473ed7c1257e224942733458。
  • Director / Spec / 来源 / 验证 checkpoint:baa35f224b64a276ba8892e1cbea001118d9ec57。
  • 均为本地 checkpoint,尚未 push,不提供无法访问的远端 commit/artifact 下载链接。
  • 未合并、部署、切换正式入口、修改原模型或提升正式产品版本;本轮不构成 release。

Activity

  1. added
    enhancementNew feature or request
    component/designDesign lab or promoted design work
    type/proposalProduct or technical proposal
    risk/T2Feature or product behavior
    on Sep 8, 2026
  2. Shuang-su commented on Sep 9, 2026

    @Shuang-su
    OwnerAuthor

    Director 本地摄影界面与工作流追补(2026-09-09)

    根据用户“完整复刻”的后续标注,补齐顶部组件、拍摄入口、旋转环、Operator 展开的 Compose / 兴趣点,以及各类 hover。用户确认账号、云同步和在线 AI 本轮先保留明确入口。

    本地 checkpoint:13c017c3,分支 codex/mf-62-director;尚未推送、合并、部署或提升正式版本。

    实际变化:

    • 按 ui.camera 的项目/Add media/Library、中央入口、Showcase 和右侧工具组重排;照片取景框在 1280×720 对齐原站稳定 x176/y92/928×522。
    • 三轴环直接拖动、Shift 5°、点击归零、键盘微调;一段拖动一次撤销。ƒ/视角/机位使用工具条内联刻度。
    • Operator 点击展开 Compose + Set interest point;Compose 生成可撤销的本地确定性构图,三维兴趣点控制构图中心。没有把在线 AI 占位界面当作服务实现。
    • 黄色快门直接 PNG/JPEG;右键或菜单选择格式/尺寸。Library 保存成功生成的真实成片,可预览、再次下载并在刷新后恢复。
    • 本地 Projects 保存/新建/切换 ZIP;外部 ZIP 获得独立本地身份,避免保存时覆盖另一个工程;原始模型字节保留。
    • 视频起止机位分别渲染缩略图;卡片、播放头与时长拖动共用时间比例和滚动区域。
    • hover / focus-visible 独立浮层及高亮,覆盖顶部、轴环、摄影工具、快门、兴趣点、机位、转场。修复窄屏工具条裁切、SVG 原生拖拽中断旋钮、错误提示关闭时误关导出面板。

    验证:固定代码后 Chrome 14/14、Edge 14/14 浏览器回归通过;Node 20.19.0 下类型检查、12/12 Node tests 与构建通过。随后本地工程身份隔离修正的 3 项定向浏览器流程在 Chrome/Edge 均通过,类型/构建再次通过。没有将这一轮记为新的 15 项全量运行。

    对照:重新采集原站动画结束后的 PHOTO/VIDEO;生成同一输入内的并排整页与顶部/底部局部对照,以及真实人物、967/1010px、390px、深色、Compose、hover 截图。说明位于本地候选的 metaflow-camera-lab/design-qa.md 与 docs/design/mf-62-camera/validation.md;证据仍为本地产物,不把工作区路径作为公开下载链接。

    状态:保持 Open / 实验候选。严格强前景虚化中的半透明/细杆伪影仍沿用此前未通过结论;本轮未重新执行 Safari、Viewer/Editor 全量验证及长时性能测试,相关源码与版本未修改。账号/云同步/在线 AI 未接服务,镜头库与物理大画幅模型仍按原研究另行推进。原研究和三个用户指定来源继续保留:ui.camera、Citroën BX、墓园大画幅。

  3. Shuang-su commented on Sep 9, 2026

    @Shuang-su
    OwnerAuthor

    Director 逐状态修正 checkpoint(2026-09-09)

    本地摄影功能可操作;完整复刻仍未通过。 本次按用户连续标注重新读取 ui.camera 的 DOM、计算样式、公开 CSS、SVG、字体及数值/事件/动画脚本;保留 Metaflow 名称和高斯场景,账号、云和在线 AI 维持明确入口范围。

    本地分支 codex/mf-62-director,实现与验证记录 checkpoint d62c8eaffb312123e878ec8f905b61879c117614。未推送,不能通过远端 commit 链接下载。唯一 Spec 和现行 Plan 关系已更新;逐项证据清单为 docs/design/mf-62-camera/state-fidelity.md。

    已修正

    • 摄影条:Blur 0–100 / step 1、ƒ 16.0–ƒ 1.4、41刻度及320ms反馈;AF/MF直接切换、提示/拾取;Zoom原站数值及桌面/紧凑读数;Perspective −100–100;XYZ ±360°、0.35°/px、0.1°精度、拖动阈值、Shift5°与30刻度/红零点/有向圆弧。
    • 原站布局与状态:顶部项目/Library/工具嵌套、Operator/Compose/兴趣点图标与展开,Backdrop 240×364色盘、HEX/HSV/预设/图片、内联边框;来源弹性、缩放、模糊、透明度和独立退出,清除通用样式/提示的覆盖。
    • 649×970用户新标注:第二排恢复 Operator + 350px摄影条整体居中;不再撑满整行。紧凑默认读数为 0.7×;Fill 是独立窄屏取景框状态,明确比例和输出比例保留。五种尺寸主要控件/明暗主题计算样式与位置对照。
    • Library 空库使用来源抽屉、402px空状态、手柄与关闭按钮;加入下拉关闭、Escape和焦点返回;649/1010两主题对照。非空库完整流程尚未对齐,未宣称这一部分全部完成。
    • v2工程保存/读取v1:保留模型原始字节、摄影参数/时长;新增原站控制值、边框/Tab、图片背景、Fill与首尾转场内部数据。新旧/不同缩放标定的关键帧连续求值。原工程文件不覆盖。
    • 修复实际渲染问题:热更新会话重建后恢复模型字节与相机;过期异步帧不覆盖新状态;异步点击拾取保存事件位置;竖屏画布比例;透明图片背景采用RGBA HDR避免黑底;连续俯仰跨极点保持相机方向。

    当前验证

    • Director 类型、15/15 Node测试、生产构建通过(仍有大bundle提示,未部署);Viewer修改文件格式/ESLint与类型检查通过。
    • 浏览器为已有 Chrome151及应用内浏览器。初次23项回归18通过/5失败,日志保留;修正后定向批次为7/7、五视口/Fill/恢复8/8、Library/649/本地流程4/4、最后相机/输出3/3。是独立批次,不能相加成一次全量通过。
    • 当前五种短视频重新生成、浏览器播放及完整ffmpeg解码通过:横/竖1080p30 H.264;720p24 VP9;4K24 H.264;720p60 H.264。分别12/12/10/10/24帧,约0.4秒;解码退出码均0。多镜头/四转场/重复慢渲染采样/取消与重试也实际检查。未把历史SSIM指标当本轮重测。
    • 同状态截图、计算样式、动画过程中帧和rAF记录、日志位于被忽略的本地目录 .codex-work/downloads/director-evidence/state-parity-20260909/;comparison.html 默认显示649px对照。这是本地证据,不是公共下载链接。

    保持未完成

    • 非空 Library 的筛选/收藏/多选/预览切换、项目/素材/Showcase内部状态;时间轴完整动画、循环转场预览及首尾转场完整编辑界面;完整Compose算法、所有hover/反向打断/触摸/声音听感。
    • 严格强前景虚化的细杆、半透明遮挡碎片/漏色仍失败;界面对齐不能覆盖画质问题。
    • 当前未运行Edge/Safari、真实移动设备、Editor集成、Viewer全量回归或长时间性能。没有下载Edge。
    • 原main的分歧与未跟踪内容保持原状;本轮无push/PR/merge/deploy/正式版本变更。旧研究报告、三个指定来源及MF-55/56既有记录保留。

    保持 Open / Proposed,不勾选完整复刻或正式产品验收。

  4. Shuang-su commented on Sep 12, 2026

    @Shuang-su
    OwnerAuthor

    2026-09-13 本地候选:连续景深与逐状态修正

    本轮已执行代码修改和渲染实验,功能回归通过,完整 ui.camera 复刻与严格强遮挡画质尚未通过。保持 Open / Proposed。当前仍是独立 design 实验;没有推送、合并、部署、产品版本提升或在线服务接入。

    本地 checkpoint

    • 2f1f6bfd — 连续 Gaussian 景深、清晰拾取、有限孔径诊断、独立 Spark 对照、v3 工程兼容与测试。
    • c621da36 — 项目/素材面板、窄屏抽屉、真实 Library、兴趣选区、首尾转场及摄影流程回归。

    两项提交位于本地 codex/mf-62-director,尚未推送,以上 SHA 不作为 GitHub 已可访问代码的声明。唯一 Spec docs/design/mf-62-camera/spec.md 与当前报告 continuous-optics.md、逐状态记录 state-fidelity.md 同步更新;本地证据目录不是公共下载链接。

    实际实现与研究结论

    保持 PlayCanvas 2.22.1,在摄影会话材质的 unified raster 投影阶段实现 GLSL/WGSL 连续离焦:按逆深度计算半径,扩大二维协方差,按行列式面积比补偿透明度。没有修改 node_modules、全局 ShaderChunks 或公开 Viewer 参数。新路径关闭 CameraFrame 景深,不再依赖模型包围盒决定固定清晰带;清晰拾取使用独立几何覆盖。孔径标定随工程保存,调焦不重新标定,预览与输出共用模型。主控件仍沿用原站 ƒ/AF/MF/Zoom 表达。

    独立入口实际运行 Spark 0.1.10 与 2.1.0,使用同一份 24,341 点 PLY、相机、场景孔径、960×540 和明确的 LoD/排序设置。固定源码分别为 792d6d193db8b79ed4d1f32ef65cca9ec93f0896、f22236f95fdd8078f0c12e3aab479523d401daf6;保留 MIT 许可。两版连续 DOF 核心关系相同,版本号不证明算法改变;原生 kernel/AA/打包/颜色并非逐像素等价。本轮未完成两版所有 SOG 变体的互通验收。

    旧版 shader、2.1 shader、官方参数为一手来源。

    连续斜面、密集深度层、细杆、半透明条、高亮点及真实人物/室内 SOG 均已捕获新旧对照。另做 32/64/128 孔径位置的确定性累积参照。旧固定清晰带在连续斜面中消失;强前景覆盖与高亮焦外相对 128 样本参照仍有明显差异,保持失败。 单次 Gaussian 扩散不能恢复每个孔径位置的不同可见性;有限采样且从 8-bit 成片累积也不是完整光线追踪真值。

    保存写 v3,真实 v1/v2 ZIP 继续读取,打开不自动套用新景深。项目菜单 Upgrade depth of field 升级所有镜头/关键帧并支持撤销;原模型字节、时长保留,保存独立 ZIP。已生成可重开的多镜头示例工程。

    UI 增量包含:Projects/Add media 原站结构、窄屏抽屉;Library 真实收藏/筛选/多选/预览返回/下载/系统分享能力反馈/删除;首尾转场、Push 四方向、Zoom in/out 与真实循环合成;兴趣拖框/取消/清晰拾取。Compose 已不再循环四个固定机位,但目前仍是围绕三维兴趣点的本地构图适配,不能宣称原站算法完整复刻。

    ui.camera 本轮读取的四个构建文件 hash 与归档一致。两个原始案例继续保留为来源:Citroën BX、墓园大画幅案例。它们不构成本轮浏览器光学标定或性能证明。

    实际验证

    • Director 类型/构建、Viewer 三个摄影文件格式/ESLint/类型通过;构建仍有较大 chunk 提示。
    • Node 18/18;浏览器回归 36/36。窄屏抽屉最终修改后额外 8/8 回归通过;新项目/素材面板原站对照 3/3(1010/649/390、两主题、可见字体/padding/圆角/阴影)。这些不代表全部视觉状态/动画通过。
    • WebGPU/WebGL2 重复捕获、Blur=0 与关闭 DOF 最大像素差均为 0;三点清晰拾取与旧解释到小数 4 位一致。
    • 三场景 720p/1080p/4K 缩至相同尺寸后 SSIM 0.989738–0.999729;照片与对应解码帧 SSIM 0.980356–0.989901,含编码/色度损失。
    • 本轮五种 Chrome 短视频组合及 720p30、3秒、90帧连续对焦视频均完整 ffmpeg 解码成功;取消与重复导出有实际回归。
    • 本机 Apple M1 Pro / macOS,已安装 Chrome 151 与应用内浏览器。单次渲染、排序等待和读回:人物720p/1080p/4K约96/100/267ms,室内约204/263/693ms;不是稳定FPS或普遍性能承诺。

    未通过及未验证

    • 强前景/半透明/高亮焦外严格画质仍未通过。
    • 完整逐状态复刻、Library 全部形变、Compose 原站算法、全部时间轴状态、动画反向/打断和真实声音听感尚未穷尽。
    • Safari、真实移动设备、Editor 集成、Viewer 流式及全量回归、长时间性能本轮未重新验证。
    • 没有下载或运行 Edge;历史 Edge 文件不计入本轮结果。
    • 初轮失败、shader 初始化失败及面板差异的诊断日志保留;修复后重新验证,不把早期失败改写成通过。

    回退保留旧工程解释与关闭景深的原始预览;工程升级可撤销,源模型/ZIP 不回写。完成与发布复选项保持未勾选。

  5. Shuang-su commented on Sep 13, 2026

    @Shuang-su
    OwnerAuthor

    本轮本地候选交付:完整输入反馈与 128 孔径渐进成片(2026-09-13)

    本地 checkpoint:6292a8f1479cb214b9f113b79f69162d7a9faf8a,分支 codex/mf-62-director。尚未推送,因此 GitHub 上暂不能浏览该提交。 未合并、部署、提升正式版本或下载 Edge。此 Issue 保持 Open,完整复刻与严格画质验收未勾选。

    实际实现:

    • AF 点击有效场景后拾取并转 MF,MF 可重选;重复点击重启对焦标记,空白/取消/过期请求不回写。恢复来源的 1850ms 标记与 Blur 拖动红色离焦参考,辅助参考不进入成片。
    • 双指、触控板 pinch、Cmd+Scroll 与 Zoom 共值;普通滚轮独立移动机位,紧凑断点保留倍率。补齐快捷键与实际取景留边的点击换算。
    • 快速预览和背景/装饰/转场使用 GPU 合成;单执行任务加最新待执行状态,避免持续操作整段无更新。
    • 静止 120ms 后进行固定 128 孔径位置的线性浮点 GPU 累积,在 4/8/16/32/64/128 样本显示结果。每样本关闭高斯扩散,采用孔径位移和焦平面投影补偿;新输入取消旧累积。
    • 照片、视频 N/fps 与暂停成片使用同一累积模型,转场两侧分别完成 128 样本。修复 WebGPU UV 上下叠影和半透明颜色编码前的预乘问题。
    • 新保存 v4;校准 v3 转换并提示成片解释变化,v1/v2/无校准工程拒绝编辑并提示重新导入模型;原文件及模型字节不修改。

    验证:

    • Director 单元 19/19,Viewer candidate 86/86;两个组件构建、TypeScript、摄影模块 ESLint、diff 空白检查通过。构建保留大包体积提示。
    • WebGL2/WebGPU 方向、线性半透明颜色测试通过;最终输入及连续 5 秒调度测试 3/3。
    • 25 次输入期间连续显示新帧;本次最后输入首个快速渲染结束约 26.9ms,最终准备帧约 308.8ms,128 收敛约 4.03s。JS/RAF 观察不代表 GPU scanout 延迟。
    • Apple M1 Pro、PlayCanvas 2.22.1、960×540:分层/人物 128 样本约 3.2s、室内约 11.8s。
    • 720p/1080p/4K H.264 24fps 单帧均完整解码,静帧/视频 SSIM 约 0.9980/0.9985/0.9989。
    • 1080p30 焦点转移和转场片段 27 帧、0.900s,30 次场景累积;含 4K 取消和 720p 重复输出测试约 100.3s。完整解码,第 13 帧与同状态静帧 SSIM 0.995705。
    • 浏览器最初 46 项整组 37 通过/9 失败,修复后定向 24/25,剩余定位修复后 fidelity 3/3;后增颜色 2/2 与最终输入 3/3。没有在最终代码重新跑单次全量 49/49,不将分批结果称作全量一次通过。

    未通过/未运行:

    • Compose、Library 非空子状态、全部反向/打断动画和声音听感未穷尽;完整 ui.camera 复刻仍未通过。
    • 强前景遮挡、头发、透明条、高亮点需要继续局部画质判定;128 样本不消除扫描缺陷、有限采样和高斯排序误差。全图 SSIM 不是严格光学验收。
    • 随机 alpha 接入探针产生空白画面,属于接入失败,未采用,不能得出该算法不可用的结论。
    • Spark 固定对照沿用已归档独立入口,未伪装成本轮 128 孔径同一次测量。原站与 Spark 属于不同参照维度。
    • Safari、Edge、真实移动 GPU 及 Editor 本轮构建/回归未运行;未穷尽分辨率、帧率、转场组合。

    工件:唯一 Spec docs/design/mf-62-camera/spec.md;实际记录 aperture128.md;状态记录 state-fidelity.md。本地证据 .codex-work/downloads/director-evidence/aperture128/ 包含对照图库、27 帧视频、逐事件 JSON、日志与可重开的 example-v4.director.zip。这些是本地路径,不是公共下载链接。原研究正文与三项用户来源全部保留。

    来源:ui.camera、Spark 0.1.10、Spark 2.1.0、SuperSplat Editor。

  6. Shuang-su commented on Sep 13, 2026

    @Shuang-su
    OwnerAuthor

    上轮实测图片与视频附件:128 孔径渐进成片

    对应本地 checkpoint 6292a8f1。以下附件是上一轮真实生成的结果,补充到此前文字交付;不是本轮教程或视频界面复刻的验收证据。

    人物:快速预览与最终成片

    快速高斯扩散预览:

    人物快速预览

    GPU 线性浮点 128 孔径成片:

    人物128孔径成片

    分析:两图展示同场景的交互近似与停止后的成片。快速路径扩大单个高斯投影;128 孔径路径逐个孔径位置重新渲染并累积,能够表达随孔径位置变化的可见性,因此两者的轮廓与焦外不应当被宣称逐像素相同。960×540 人物样本本机约 3.2 秒。与旧 CPU 8-bit 128 累积参照全图 SSIM 约 0.9912;该指标不能代替头发、透明边缘的局部验收,也不是与真实镜头真值的比较。

    深度层、细杆与高亮点

    分层128孔径

    分析:受控场景用于检查连续离焦、前景覆盖和高亮点有限采样,补足三块测试板只能证明前中后清晰度不同的不足。128 样本仍是有限采样;细杆、半透明区域及高亮焦外的严格局部误差继续保持未通过,不用全图看起来平滑替代验收。

    室内遮挡

    室内128孔径

    分析:960×540 室内场景本机约 11.8 秒,明显慢于人物/分层场景。扫描缺失和透明高斯排序误差不会因增加孔径采样自动消失。这是当前 Apple M1 Pro / PlayCanvas 2.22.1 的结果,不是跨设备性能保证。

    1080p30 焦点变化与转场视频

    focus-transition-1080p30.mp4

    分析:实际 27 帧、0.900 秒,按 N/fps 求值;转场两侧分别完成 128 样本,共 30 次场景累积。已完整解码,第 13 帧与同状态静帧 SSIM 0.995705。测试组包含 4K 取消与 720p 重复输出,整组约 100.3 秒,不能把它写成该 0.9 秒视频的单独编码耗时。此短片证明同一输出链路能处理焦点转移/转场,不证明长时间轴、所有转场组合或视频模式界面已经完整复刻。

    后续正在单独补齐参考站教程系统及视频模式逐状态流程。完整 ui.camera 复刻与严格强遮挡画质保持未勾选;原研究、来源和此前失败记录保留。

  7. Shuang-su commented on Sep 13, 2026

    @Shuang-su
    OwnerAuthor

    完整景深对照附件:人物、连续斜面、强前景与三类动态变化

    本地诊断 checkpoint:88abe6d9(未推送)。本评论补充用户要求的可直接查看附件,原研究、上轮结果和失败记录保留。“原片”在这里是同机位关闭新增景深的高斯渲染,不是采集相机的原始照片;原采集照片未提供。

    六个子图分别是什么

    以下每张对照表包含六个 960×540 原尺寸子图,只在图外增加标题,没有用后期模糊加工比较对象。按从左到右、从上到下读取:

    1. Sharp:原模型关闭新增景深,保留扫描本身的模糊、缺面和拖影。
    2. Legacy:为控制机位/参数,在独立诊断会话中重建修改前 CameraFrame 算法(来源本地 91c96d7c50001650e88864937b62240d2b016414),使用原 focusRange、线性离焦和高质量 5 rings / 7 points。没有把旧错误工程兼容加回产品。
    3. Spark 2.1.0:同文件、相机投影、焦点与场景单位孔径;LoD=false,minAlpha=1/65535,focalAdjustment=2。独立 Three.js 入口。
    4. Director fast:当前连续高斯协方差扩散+透明度补偿。
    5. GPU float:固定 128 孔径位置,线性 RGBA16F 均值缓冲,最后一次解预乘/编码。
    6. CPU float:直接读取同一批线性 RGBA16F 样本,解码 IEEE half,再用 Float64 求和;最后一次解预乘/编码。不是每样本 8-bit 读回,也不是独立 CPU 光线追踪器。

    人物:原片、旧问题、Spark 与 GPU/CPU

    人物六路对照,点击查看原尺寸

    **分析:**旧方案在人物脚下的地面/背景之间形成明显轮廓线,天花板高亮出现环状条纹。Spark 与孔径累积在这张对照中消除了固定清晰带式的折界,但两者焦外核并不相同。原片里的缺面、行人拖影和局部拉伸是扫描已有问题,没有被“新景深”修复。人物 SOG 实际 1,347,720 点,没有为了比较降低点数。

    同时保留下面这张历史修改前实际捕获文件。它与上面的同状态算法重建分开记录,不能把历史相机/颜色状态假装成这次完全匹配的实验:

    历史修改前人物 CameraFrame 实际捕获

    连续深度斜面:检查焦内到焦外的连续性

    连续深度斜面六路对照

    **分析:**24,341 点斜面覆盖连续深度,补足三块测试板只能证明“前中后不同”。旧路径依赖固定清晰范围,范围外达到最大模糊;Spark 和当前快速路径按逆深度连续扩大高斯投影。128 孔径路径逐位置重新渲染可见性,焦外形状与单次高斯核有区别。不能把“看起来更平滑”直接写成真实镜头光学已校准。

    强前景、透明条与高亮点

    强前景六路对照

    **分析:**17,709 点受控场景中,旧细杆保留过锐红线,前景扩散与后景不协调;128 孔径下红杆形成连续覆盖,能反映孔径位置改变带来的遮挡变化。强遮挡、半透明条和高亮焦外仍受有限采样、排序及高斯表示限制;没有独立几何或真实镜头 ground truth,严格局部画质仍未勾选通过。

    GPU 浮点与 CPU 浮点的数值比较

    本机 Apple M1 Pro / 已安装 Chrome / PlayCanvas 2.22.1 WebGPU,960×540,128 样本。误差为最终 RGBA 字节的平均绝对差,范围 0–255,包含背景和 alpha:

    场景 平均绝对差 最大差 同时采集 GPU/CPU 的耗时
    连续斜面 0.5163 4 5.50 秒
    强前景 0.1549 3 5.42 秒
    人物 0.9634 4 9.25 秒

    半浮点 GPU 多次均值舍入与 CPU Float64 求和不同,所以不是逐像素相等。耗时包含每样本排序、渲染、浮点读回和最终编码;不是纯 GPU 预览速度,也不是跨设备承诺。全图误差小不能替代头发/细杆 ROI 验收。

    本轮还纠正了 Spark 对照入口重复转换 CSS 背景颜色的问题,以上 Spark 图片和全部 108 帧已经重渲染。Spark 与 PlayCanvas 的颜色变换、打包、过滤和 AA 内核仍不是逐像素相同;仅 GPU/CPU 数值对照共享实际样本。

    连续调焦视频

    左上旧方案、右上 Spark、左下 GPU128、右下 CPU128。焦点从场景距离 5.5 连续到 9.5,机位和孔径不变:

    continuous-focus-comparison.mp4

    切换焦点视频

    焦点按 5.5 / 7.5 / 9.5 三段切换,刻意保留参数跳变,用于检查明确切换的响应;不把它冒称平滑拉焦:

    switch-focus-comparison.mp4

    切换光圈视频

    UI Blur 0 / 50 / 100,对应 ƒ16.0 / ƒ8.7 / ƒ1.4;焦点和机位固定。主界面读数仍是摄影操作约定,不代表实测镜头标定:

    switch-aperture-comparison.mp4

    三段均为 36 帧、24 fps、1.5 秒、H.264,四格各 640×360,加标题后 1280×800;已完整 ffmpeg 解码。共 108 组参数、每组 GPU/CPU 共用 128 样本。GPU+CPU+旧方案采集合计约 359 秒,不含 Spark 和封装。**24 fps 是播放帧率,不是实时渲染速度。**这组三种动态比较使用连续斜面,人物/强前景在本评论为静态比较,不冒称所有场景动态矩阵都已完成。

    原尺寸文件、逐帧参数和校验

    下载完整证据包(约 19.7 MiB)

    ZIP 含单独原尺寸照片、六路对照表、历史捕获、三段 MP4、离线可打开图库、相机/孔径/点数、逐帧时间与参数、误差、完整解码结果和 SHA-256 清单;不含原始 SOG/PLY。可以检查每条路径的原始生成文件,而非只能看评论缩略图。

    来源:Spark 2.1.0 shader、Spark 参数、ui.camera。原站教程和视频界面作为独立维度验证,另行回填本轮 UI checkpoint;本评论不把这些景深图片当作完整界面复刻通过。保持 Open / Proposed,未推送、合并、部署、提升正式版本或下载 Edge。

  8. Shuang-su commented on Sep 13, 2026

    @Shuang-su
    OwnerAuthor

    教程与视频时间轴:本地实现、操作录像和验证

    本地 checkpoint:e1d49140(教程/视频)与 88abe6d9(浮点对照)。位于 codex/mf-62-director,工作树已核对干净。**未推送,因此以上 SHA 不是可在 GitHub 下载的远端提交。**没有合并、部署、提升正式版本或下载 Edge。

    教程已接入实际摄影操作

    首次进入 VIDEO 显示引导;底部 Show tutorial 可重开,Close tutorial / Escape 可退出。流程为:设置 START → 选择 END → 调整 END → PLAY → Operator → Compose → 兴趣点/选区 → 再次 Compose。步骤随真实操作推进,播放时暂时隐藏指引,完成后记忆。

    加入目标高亮、遮罩、点击光标、文字弹入和控件反馈。下面是浏览器实际操作录像,包含教程、机位添加、缓动编辑与转场;不是用静态图拼出的演示:

    tutorial-and-video.mp4

    视频模式的实际变化

    • 用来源式工具栏/轨道替换旧的大镜头卡片;显示起点、终点及中间关键帧的实际高斯缩略图。
    • 添加/替换本地素材;新建、复制、删除、重排镜头;拖动或键盘调整时长;播放头、首尾跳转、播放/暂停。
    • 中间机位、六种缓动预设、可拖动 Bézier 控制点及数值输入,实际驱动工程中的相机/焦点参数。
    • Cut / Fade / Push / Zoom 及首尾转场编辑,复用真实画面循环预览与既有逐帧编码器。
    • 所有关键帧缩略图按小批次生成,避免每生成一张就等待一次主预览 128 样本收敛。

    缓动面板和实际机位时间轴:

    视频缓动与机位编辑

    649×970 窄屏视频布局:

    窄屏视频时间轴

    修复回归实际发现的问题

    1. 相邻镜头的转场按钮被时长把手挡住。重新读取原站转场层级(z-index 18),修复后双镜头四转场及工程往返定向测试通过。
    2. “替换素材”导入新文件时误增镜头。现在保留镜头身份、时长、关键帧时间,初始化新素材取景;撤销恢复原素材。源模型字节不修改。
    3. 旧缩略图任务只覆盖首尾,中间机位长期显示占位;改为覆盖全部关键帧并批量生成。

    验证范围与仍未通过的部分

    • Director TypeScript、22/22 Node tests、构建通过;Viewer 摄影改动的 TypeScript / 定向 ESLint 通过。构建仍有较大引擎 bundle 提示。
    • 最新 UI 批次 5/5:本地摄影/Library/工程身份三项,完整教程与视频编辑两项;覆盖 1280、1010、967、649、390 宽度截图。此前恢复/教程批次 7/7、双镜头四转场/原始字节往返 1/1 分开记录,不相加冒称一次全量通过。
    • 新景深三组照片、三段四路视频、原尺寸与逐帧数据已在 完整对照附件评论 中提供;重新读取评论并验证所有图片/视频加载。
    • **完整逐状态复刻仍未通过。**原站二维图片 Crop 与本地高斯 Frame 重取景有语义差别;Frame 入口不计为原站 Crop 一致。原站全部鼠标路径、两主题所有状态、动画途中/反向/打断、声音听感尚未穷尽。
    • Compose 为本地三维兴趣点构图适配,不是原站在线 AI。账号/云/在线 AI 继续保持明确入口范围。
    • 严格强遮挡/高亮/半透明画质仍独立验收;不因教程或视频功能通过而勾选。未重跑 Safari、Edge、真实移动 GPU、Editor、Viewer 全量流式或长片 4K。

    唯一 Spec 已更新;实际记录为 docs/design/mf-62-camera/tutorial-video-evidence.md,状态明细继续在 state-fidelity.md。原研究、三个用户来源及历史记录保留,Issue 保持 Open / Proposed。

  9. Shuang-su commented on Sep 13, 2026

    @Shuang-su
    OwnerAuthor

    2026-09-14 修正:保留 Frame、多兴趣点与采样收敛

    本地 checkpoint:e8896f1a(未推送),分支 codex/mf-62-director。未合并、部署、提升版本或下载 Edge。

    最新范围与实际修正

    • 保留 Frame 入口和颜色功能,只移除内部 Rounding / Border / Tab。 用户明确纠正了此前“移除整个 Frame”的理解。Shadows 排除。
    • Close tutorial / 教程完成后不再出现 Show tutorial。
    • 镜头保存多个场景坐标兴趣点;有效拾取后继续选择,空白不追加。Compose 照片依次使用点,视频生成经过各点的关键帧;工程往返保留原模型字节和点数据。
    • 修正 Fill 下选区与实际画布的坐标换算。649px 视频布局实测时间轴侵入取景框 16px,修正后定向检查通过。
    • 用户截图中的模型水平截断在当前干净页面尚未复现;不能因布局修复便将此项结案。

    Spark 与 Director fast 的具体差异

    Director 是把方法接入 PlayCanvas 2.22.1 的移植,以复用现有加载、拾取和输出,不是直接运行 Spark。读取 Spark 2.1.0 shader 后发现:在此前对照的 focalAdjustment=2 投影尺度下,Director 离焦半径系数 .25 对应 Spark .5,新增协方差相差四倍。快速路径本轮改为 Spark 对照的核宽。

    这不能简单等同于物理正确性:均匀圆孔径半径 R 的单轴标准差为 R/2,旧近似与圆盘二阶矩有关;Spark 高斯扩散使用不同核宽解释。PlayCanvas 的 normExp 尾部重映射、特征值下限、裁切与 Spark 仍不同。修改后完整 Spark 图像对照、快速/最终切换观感尚未验收。

    128 / 256 / 512 / 1024 实测附件

    每行从左到右为 128、256、512、1024;三行依次为连续深度斜面、强前景、人物。均为实际 GPU 渲染,单格 480×270,只在图外加标题。

    三场景孔径采样对照

    Chrome / WebGPU,线性源样本、优先 RGBA32F 累积。表格为累计秒数 / ROI RGB 平均绝对差(0–255),以同序列 1024 作为有限参照;ROI 为任一通道偏离背景灰 48 超过 8 的像素。不是物理真值,也不是纯 GPU 算力或跨设备性能承诺。

    场景 128 256 512 1024
    连续斜面 3.22s / 0.3951 6.43s / 0.2488 12.85s / 0.0640 25.67s / 0
    强前景 3.22s / 0.5037 6.43s / 0.2536 12.83s / 0.1327 25.63s / 0
    人物 3.23s / 0.1518 6.44s / 0.0811 12.86s / 0.0247 25.68s / 0

    采用可追加的 Halton(2,3) 圆盘序列。预览先完成 128,再最多追加 3 秒、上限 512,新输入取消。它是时间预算策略,尚不是画面误差驱动的自动停止器。照片和视频仍固定 128;追加预览与固定导出不承诺逐像素相等。建议 128 作基础、256 作进一步改善、512 作静止精修,1024 留给重点诊断;本轮 480×270 结果不能外推为 1080p/4K。

    紧凑视频布局

    649px 视频布局,教程关闭后无 Show

    验证与遗留

    • 修改后 6/6 定向浏览器回归通过:WebGPU/WebGL 128 累积/取消/恢复、紧凑布局、多点和 Frame、教程/时间轴两项;22/22 Node tests、Director 类型/构建、Viewer 类型通过。
    • 三场景 1024 收敛实验通过;160×90 → 480×270 切换后渐进显示与最终读回的平均差为 0。该实验不能替代原截断现场定位。
    • 原站当前 Frame 新增 MacBook / iPhone / Pro Display XDR,MacBook 还有 Lid / Brightness / Padding;新设备模式尚未实现。恢复入口不是新版 Frame 完整复刻。
    • 完整视觉/动画、原水平截断、严格头发/强遮挡、高采样视频和本轮 1080p/4K 导出仍未通过或未运行。原研究、历史图片/视频和失败记录继续保留。

    唯一 Spec 与 state-fidelity.md 已更新;详细本地记录为 docs/design/mf-62-camera/convergence-feedback.md。保持 Open / Proposed,完整验收不勾选。

  10. Shuang-su commented on Sep 13, 2026

    @Shuang-su
    OwnerAuthor

    MF-62 · Spark 高斯扩散与有限孔径累积的区别

    2026-09-14。核对基线:Director e8896f1a;Spark 2.1.0 固定提交 f22236f95fdd8078f0c12e3aab479523d401daf6;PlayCanvas 2.22.1。本文区分源码推导、理论模型和已有实测,不能视为严格画质通过。

    为什么移植算法,而非直接装入 Spark

    Director 当前加载、拾取、相机、排序和捕获属于 PlayCanvas 渲染会话。Spark 是基于 Three.js 的独立渲染器,它的着色器不能原样作为 PlayCanvas 材质使用。当前快速路径移植的是同一种核心方法:按每个高斯的相机空间深度扩大二维协方差,并补偿透明度;不是另造一个屏幕模糊器。但“同一种方法”不等于“逐像素等价”。保留 PlayCanvas 是此前实施边界,不是已经证明它画质优于 Spark。若完整对照持续显示 Spark 更优,应该据证据重新评估,而不能用现有架构替画质辩护。

    一手来源:Spark 2.1.0 顶点着色器、Spark 渲染器参数、PlayCanvas 2.22.1。

    两条路径实际计算什么

    设像素焦距 F = 图像宽度 × 投影矩阵横向系数 / 2,场景单位孔径直径 D,正向深度 z,对焦距离 s。薄透镜式离焦圆半径为 R = F D |1/z − 1/s| / 2。这里 D 来自场景标定;界面 ƒ 文案不证明扫描场景具有毫米级物理标定。

    高斯扩散: 对原投影协方差 C 增加 σ²I,得到 C′。透明度乘 sqrt(det(C) / det(C′))。这是把单个二维高斯与另一个高斯卷积的形式;连续改变深度会连续改变宽度。补偿保持的是孤立、未截断高斯的积分,不保证许多点经 alpha-over 合成后的遮挡、颜色和亮度完全守恒。实际实现还有抗锯齿下限、截断和阈值。

    孔径累积: 在圆孔径上选择多个相机位置,每次使用偏轴投影会聚到同一焦平面,重新渲染,然后在线性颜色空间取平均。它把孔径引起的视差及每个位置可见的内容纳入平均,能更好表现前景边缘后面露出的背景。当前仍是高斯光栅化场景的有限孔径积分,并非复合镜头光线追踪。

    核的形状和宽度:不能只看“更糊”

    均匀圆盘核在半径 R 内密度恒定,外面为零;高斯核中心最亮、向外指数衰减。圆盘核每个轴的方差是 R²/4,因此二阶矩匹配的高斯应取 σ = R/2。这样的匹配只保证宽度的一个统计量相同,不能让高亮焦外形状、边缘和频率响应相同。

    当前独立 Spark 对照将 apertureAngle 设置为 2 atan(D/(2s))。代入 Spark 的 focusRadius 公式,得到新增高斯标准差 σ = R(忽略抗锯齿下限及裁切)。它的单轴方差是均匀圆盘的四倍。因此同一 D 下,Spark 快速预览可能比最终圆孔径图像更柔,但不能据此称其孔径更真实。

    Director 上轮将内部协方差系数从 0.25 改为 0.5,是为了接近此 Spark 参数映射。PlayCanvas 的 focal 变量为 2F,且协方差还经过它自己的投影角点尺度;换算到实际屏幕后,旧值对应约 σ=R/2,新值约 σ=R。不能把旧值简单称为物理错误,或把新值称为已校准光学。 此处描述忽略了尾部重映射的理想高斯等效宽度,最终仍需脉冲图像测量。

    快速预览 σ=R 与最终圆盘 R 在切换时可能出现收窄、变清晰的观感。解决办法应是明确并验证两种核之间的标定选择,例如以二阶矩匹配为起点,再比较高亮点和人物边缘;不能靠界面淡入遮住系统性的核宽变化。当前快速/最终切换一致性保持未通过。

    为什么同公式仍可能输给 Spark

    环节 已确认的差异或验证要求
    抗锯齿 Spark 对离焦方差与最小模糊量取上限;Director 保留 PlayCanvas 的协方差对角线 +0.3,再增加离焦量。接近焦平面时不完全相同。
    高斯尾部 PlayCanvas 当前片元路径将有限支持区内的指数核重新映射到边缘为零;不能把它当作无限高斯。Spark 的标准差支持、像素半径限制也必须与之对齐。
    特征值与裁切 特征值下限、最大投影半径、中心或覆盖范围裁切会改变很小或很大的 splat。
    透明度 面积补偿会降低峰值;alpha 阈值能使焦外点消失。降低阈值仍不消除排序和多层合成误差。
    遮挡 一次扩大高斯仍沿用单一视点的可见性近似。前景头发/细杆可能覆盖错误或漏色;增加同一视点的模糊不能重建被遮挡的信息。
    颜色 色彩空间、背景合成、预乘透明度、色调映射不同,会让一张图“看起来更自然”,即使离焦公式相同。

    必须用同一模型字节、尺度、相机投影、焦点、孔径、点数量、分辨率、背景和颜色变换进行完整图像及局部 ROI 比较。Spark 2 的版本号本身不证明景深核心已变化;此前对比 0.1.10 / 2.0.0 / 2.1.0 的这部分核心公式相同。

    GPU 浮点、CPU 浮点不是两套光学

    当前 GPU 累积优先 RGBA32F 均值缓冲,源渲染通常 RGBA16F;不支持时检查实际能力并报告。CPU 诊断对照读取相同线性浮点 GPU 样本,使用 Float64 求和,最后只做一次输出变换。它是数值精度参照,不是 CPU 光线追踪器。旧的逐样本 8-bit 读回累积属于历史路径,不应标成 CPU 浮点真值。

    RGBA32F 能降低反复更新均值的量化误差,但不能修复源样本已有的 RGBA16F 误差、扫描缺陷或遮挡模型错误。当前32F与CPU64的完整同样本重测仍待补齐;旧16F均值对比不能替代它。

    128 是否最好,是否应继续采样

    128 是既定最低成片目标,不是质量上限。相同孔径下增加样本主要降低积分误差、稀疏重影和采样条纹;不会增大真实孔径,也不会自动产生镜头像差、衍射、猫眼焦外或更正确的扫描几何。

    当前使用前缀一致的 Halton(2,3) 圆盘序列,可继续累积而不重开。停止操作后先完成128;空闲预览最多512,128之后另给3秒预算;内部可测试至4096。照片/视频目前仍固定128,因而高采样暂停预览与导出尚不能声称逐像素一致。交互一旦改变相机或成片参数,旧样本失效。

    已有480×270 WebGPU测量:128约3.2秒、256约6.4秒、512约12.8秒、1024约25.6秒。每样本等待和排序调度明显影响耗时,不能当作纯GPU吞吐量,也不能外推到4K。以同序列1024为比较参照,ROI平均RGB字节误差如下(0–255尺度):

    场景 128 256 512
    连续深度斜面 0.3951 0.2488 0.0640
    强前景/细杆 0.5037 0.2536 0.1327
    人物 0.1518 0.0811 0.0247

    1024只是同方法比较参照,非物理真值;这些平均误差可能掩盖局部缺陷。合理策略是最低样本数+时间预算+局部收敛判据,而非无限闲置采样。256/512是下一步重点评估档位;1024用于困难焦外检查和诊断。没有证据支持一个对所有模型、孔径和分辨率都最优的固定数。

    仍未通过的验收

    • 新快速路径与固定Spark完整图像、尾部和高亮点对齐。
    • 快速核与最终孔径核切换不会造成明显宽度跳变。
    • 人物头发、强前景、透明区域的严格遮挡画质。
    • 当前RGBA32F均值与CPU Float64同样本对照。
    • 高采样暂停预览、照片与视频一致性及4K实测。
    • 基于局部收敛的停止判据,而非仅样本数/时间预算。

    此前图片、视频和测量见六路对照评论及128–1024收敛评论。本条专门说明算法和证据边界,不将理论推导记为新增渲染实验通过。

  11. Shuang-su commented on Sep 13, 2026

    @Shuang-su
    OwnerAuthor

    2026-09-14 阶段修正 · 录制尺寸解释与兴趣区域

    本地 checkpoint:487c06da,分支 codex/mf-62-director。未推送、合并、部署或提升版本。

    更正尺寸解释: 新来源HD按钮title为2560×1440、2K为2048×1080、4K为3840×2160,但这些是长短边上限。编码调用tX(aspect,maxWidth,maxHeight)按画幅等比适配并取偶数;16:9实际配置分别为2560×1440、1920×1080、3840×2160。已核对DOM和编码调用链,未下载参考站视频验证。不能把2K提示当作实际16:9输出。

    本地新增内联QUALITY/FPS菜单,连接导出设置和来源弹性高亮;兴趣区域改为点击45%区域、拖动最小2.5%以及确认编号反馈;删除filmstrip相机图标占位,选中时显示编号。

    验证:类型、22项Node、构建通过;录制菜单浏览器测试通过(2K/16:9与HD尺寸、60fps同步);窄屏防遮挡与多个兴趣点2项回归通过。初测highlight层拦截点击已修复重测;未运行新增高分辨率编码、完整动画对照和严格光学画质测试。

    仍未完成: Frame的MacBook/iPhone/Pro Display XDR真实设备成片;兴趣区进入时相机回正/恢复、已有区域编辑及完整动画;filmstrip全部视觉状态;严格遮挡和高采样输出一致性。Frame保留,只有ROUNDING/BORDER/TAB及Shadows排除。本阶段不能视为“完整复刻通过”。

    新来源增量独立归档并记录于docs/design/mf-62-camera/reference-20260914-delta.md,未覆盖旧来源。算法与证据边界见单独的Spark/孔径分析评论。

  12. Shuang-su commented on Sep 13, 2026

    @Shuang-su
    OwnerAuthor

    Device Frame 与兴趣区域:2026-09-14 本地增量

    本阶段本地 checkpoint:d627a620,分支 codex/mf-62-director,工作树干净。提交未推送,不作为远端可下载代码链接。完整 ui.camera 复刻仍未通过;下列功能检查不替代外观、动画、光学及发布验收。

    实现与来源

    • 保留 Frame,新增 MacBook、iPhone、Pro Display XDR 实际 glTF 设备渲染,屏幕接收当前高斯摄影图像;未恢复 ROUNDING、BORDER、TAB 或 Shadows。
    • Frame 内联选项、参数标题与滑杆切换采用已归档来源结构。Lid、Height、Brightness、Padding 驱动实际图像,不是仅修改标签。参数释放返回标题状态。
    • 三个模型来自 ui.camera 当前设备资源;URL、原始字节数、SHA-256、内嵌署名记录于 metaflow-camera-lab/scripts/device-assets.json。二进制存放在忽略的本地证据目录,通过 node scripts/fetch-device-assets.mjs 校验取得;构建包含这些本地实验资源。MacBook/iPhone 未取得明确再分发许可,不能据此推定产品可发布;XDR 内嵌 CG Asura / CC-BY-4.0 来源保持登记。
    • 独立 PlayCanvas 实例合成设备,明确绑定动态 Entity 的 Application,避免异步加载后绑定到高斯实例。正确保留 glTF 根旋转、匹配 MacBook 节点、为 XDR 添加屏幕面并接入铰链节点。
    • 离屏设备画布按输出像素尺寸分配;设备切换时重新分配屏幕纹理尺寸。通过屏幕三角形求交和 UV 反算将屏幕内点击映射回高斯图像,边框/留白不作为焦点。
    • 兴趣区域与三维兴趣点共同存入镜头;重新打开选择模式后恢复编号区域。点击编号可重新指定该区域。异步拾取成功后在同一次状态更新中写入点和区域;旧工程已有点但缺少二维框的条目保留 null,不伪造区域。v4 ZIP 保留上述数据、设备参数及原模型字节。

    本轮检查

    检查 结果与范围
    TypeScript npm run type:check 通过
    单元测试 npm test 22/22;含多素材 ZIP、设备参数、区域/null 槽及模型字节往返
    构建 npm run build 通过;依然有 bundle 大小警告,无发布
    定向浏览器 修正后 5/5,19.6s;Chrome 现有环境,sep14-device-interest-final/
    三设备屏幕 640×480 红绿源图分别实际显示;屏幕内部红区点击返回原图红侧 UV
    四类参数 Lid / Height / Brightness / Padding 改变像素;恢复原值后像素差为 0
    高斯 Frame UI 选 MacBook,实际高斯图像进入设备,等待 128 样本标记,切回 Frame 成功
    兴趣区域 连续选两点,关闭/重开恢复两区域,再 Compose;紧凑视频不覆盖取景框,教程关闭无 Show
    累积回归 本轮 prefix aperture convergence 测试通过;其后的整批因错误的复数定位词中断,不能记为整批通过;修正定位后另跑上述 5/5
    应用内浏览器 实际看到 WEBGPU 可用、MacBook 高斯画面及参数面板;不是仅测试截图

    失败证据保留:XDR 动态屏幕绑定到错误 App;离屏 canvas 默认尺寸;XDR 骨骼名丢失圆点;设备切换后纹理尺寸不重建。首次逐参数测试 Height/Padding 均为零差,修正后的像素差分别为 1,285,777 / 3,000,903(320×240 全通道绝对差之和),恢复均为零。该指标只证明控件确实作用且可还原,不表示和原站的像素一致。

    本地证据根:.codex-work/downloads/director-evidence/。主要目录 sep14-device-interest-final/、sep14-device-parameters-resize/;早期失败目录保留。

    未通过与后续

    • 设备相机目前为固定机位包裹高斯成片;源站设备整体取景、材质、环境反射、屏幕裁切及相机动画尚未逐状态对齐。不能把三个设备能显示作为 Frame 完整复刻。
    • 设备外壳尚未参加 128 孔径积分;当前仅内部高斯画面使用既有孔径模型。设备空间光学不与原站等价。
    • 兴趣区域进入/退出时原站的相机展平、恢复和 Compose 完整动画仍未通过;区域数据恢复不等于动画一致。
    • 抗锯齿屏幕边界、所有面板断点、Frame 照片/解码视频逐像素对照、设备切换取消/销毁极端竞态、全部时间轴状态仍需验证。
    • 严格强前景/半透明光学、Spark 完整对齐、提高采样后的输出/时序一致性继续独立保留;本轮没有新的 4K 成片或全量视频导出验收。
    • 不推送、合并、部署、提升版本或下载 Edge。真实 Safari/移动设备、本轮 Editor/Viewer 全量回归未运行。

    实际高斯 MacBook Frame 截图

    高斯场景进入 MacBook 设备屏幕

    画面证明实际设备与高斯图像已连接。机身照明、屏幕留白与设备整体取景仍与参考站有差异;此图不能作为材质、光学或动画一致的证据。原有六路景深图片与视频附件和独立 Spark/孔径分析继续保留,未被本次 UI 结果覆盖。

  13. 4 remaining items

  14. Shuang-su commented on Sep 26, 2026

    @Shuang-su
    OwnerAuthor

    MF-62:统一圆孔径交互与摄影高精度候选 — 本轮实际结果

    已实现,继续保持独立实验状态。 当前 Director 2.22.1 默认入口、v4 工程与上游原生对照保持可用;未推送、合并、部署或提升正式版本。候选固定 SuperSplat 3.4.2 / PC 2.22.4 / splat-transform 3.6.4,使用既有 Chrome 151、Apple M1 Pro 16GB、WebGPU,未下载浏览器。

    本地 checkpoint:099eab70(统一孔径、FP32缓存、稳定排序、恢复和输出)。补充记录提交:7c756004。

    1. 本次行为发生了什么变化

    • 操作中与成片统一使用完整圆孔径。一个正在执行的4样本批次加一个最新状态;连续输入不再无限取消导致整段无画面。
    • 静止120ms后,同一状态继续到8/16/32/64/128/256/512。没有缩孔径、少点、降低分辨率,也不会混入不同焦点/相机/光圈的样本。Ready只表示最新状态达到所选目标。
    • 候选默认关闭Fast高斯扩散和随机Alpha。Fast只保留历史诊断;随机Alpha仍在上游原生清晰对照中,不产生景深。
    • 摄影缓存的投影中心、二维轴、RGBA以及顶点/片元颜色透明度保持FP32;场景与积分使用RGBA32F。静态加载半精度/SH/SOG压缩仍存在,不是全链路无损。本轮也不把旧2.22.1浮点颜色附件称为全程无量化。

    2. 查明并修复的具体问题

    透明度量化: 低于1/255的投影透明度在原打包缓存中会消失;专用层叠测试中,原先缺失的一整带细节在alpha-only及完整FP32模式下重新可见。提高其他投影数据精度的收益更细微,不能归功于版本号。

    低透明度、细杆、亮点、近同深度重叠:三档精度

    相同深度键的排序: 原子输出次序改变后,约1.96万–2.16万斜面条目改序,跨深度键变化为0。仍复用上游GPU radix sorter,先固定entry ID,再按原20位深度键稳定排序;没有自己写另一个排序器。修复后四场景三精度各10次清晰图、四场景各10次128成片,重复像素差均为0。只证明这些固定场景在本机的重复性,不证明20位深度键等于真实物理遮挡。

    拾取读取: 场景改成32位后,旧读取仍按half-float解码,导致空白误中近裁面;已成套修复Float32/Uint16解码及空白/重复点击回归。

    输出空帧: 首轮发现4K只剩背景、iPhone屏幕为空。原因是共享合成器跨await读取临时浏览器swapchain。改用完成线性积分后的自有快照重新输出,旧失败数据保留,不列为通过。普通候选预览仍直接GPU呈现;共享Frame合成在完成积分后沿用一次8位快照边界,不是每个孔径样本8位累积。

    3. 同一孔径由4到512逐步收敛

    4/8样本会有明显离散重影;停止后逐步减小。焦平面和孔径大小不变,因此没有Fast核换成圆孔径核造成的虚化突然收紧。更多样本不能修复扫描残影或所有排序/透明遮挡误差。

    强前景:4、8、16、32、128、512阶段

    以下每组分别标明:旧Director512(前轮历史图)、新后端原打包128、高精度512、历史Fast、GPU128、同源CPU128。不同采样数不能作为同预算性能比较;旧图模型哈希及机位固定,本轮没有重跑旧Director和Spark性能。

    人物:

    人物六路对照

    连续深度斜面:

    斜面六路对照

    强前景:

    强前景六路对照

    室内:

    室内六路对照

    同源GPU积分与CPU Float64求和,四场景各渐进阶段最大线性误差不超过3.58e-6。CPU使用相同GPU渲染样本,只验证累加数值,不作为独立真实光学参照。

    4. 实际响应与代价

    960×540,每场景连续5秒复合环绕/平移/缩放/焦点/光圈,5轮。下表为完整FP32;显示计时是GPU批次完成代理,不是硬件input-to-photon。

    场景 5秒内画面更新次数(5轮) 首次更新 中位/p95 最终输入呈现 中位/p95 停后128收敛 中位/p95
    斜面 264 / 259 / 257 / 274 / 266 17 / 20ms 27 / 37ms 729 / 742ms
    强前景 277 / 285 / 281 / 270 / 273 15 / 17ms 24 / 31ms 626 / 654ms
    人物 55 / 56 / 53 / 56 / 53 94 / 102ms 139 / 156ms 2.79 / 2.83s
    室内 28 / 27 / 26 / 26 / 27 184 / 191ms 194 / 230ms 4.27 / 4.35s

    没有输入饿死,最终摄影参数与最后输入一致。人物约11次/秒、室内约5次/秒,重场景仍不算流畅实时。 独立完整累积耗时(三次中位/p95,p95近似最大值):

    场景 128 256 512 新增高精度缓存
    斜面 0.52 / 0.57s 1.08 / 1.09s 1.99 / 2.18s 1.1MiB
    强前景 0.51 / 0.57s 1.01 / 1.03s 1.99 / 2.03s 0.8MiB
    人物 2.76 / 2.83s 5.79 / 6.01s 11.56 / 12.25s 61.7MiB
    室内 7.54 / 7.62s 14.69 / 15.18s 30.24 / 30.63s 169.6MiB

    另一次同批次三精度对照,完整精度相对原打包的128渲染:人物约增加8%,室内约增加15%。缓存为新增48字节/点,不是应用峰值显存。没有有效逐GPU投影/排序/绘制timestamp,CPU提交时间不能替代GPU阶段耗时。

    5. 中文实际过程录像

    录像依次操作调焦、光圈、旋转,停止后等待512;不加速等待过程,不作为上表性能计时来源。

    强前景,20.08秒:

    clipboard.mp4

    人物,52.80秒:

    clipboard.mp4

    室内,110.20秒:

    clipboard.mp4

    6. Frame、照片、动态输出和恢复

    四种Frame各128样本1080p照片/短视频;普通Frame三档4K,共7条H.264视频,均24fps、0.25秒、6个不同帧,完整解码。按N/fps改变相机、焦点、光圈、设备参数,包含Fade转场。照片与编码前同状态首帧RGBA均差0;压缩后的全帧RGB平均误差约2.01–2.11/255,另保存主体及边缘检查带误差。

    实际动态第4帧:四种Frame

    iPhone的上下空白是现有contain屏幕规则,非空帧;设备外壳没有参与孔径积分。4K128/256/512全部6帧导出总耗时约11.27/19.55/39.40秒,来自小型强前景场景,不能推广到人物/室内。

    本轮通过:诊断类型检查、9项单元、构建、固定源码哈希;四场景三档孔径/重复/同源CPU矩阵;连续输入;浮点清晰拾取;能力不足显式失败;模型切换、后台恢复、PNG/视频取消后重试;斜面三档浏览器最终GPU画布与PNG逐像素一致。构建仍有既有WASM/Node外置和体积警告。

    动态原片(各0.25秒,6帧;帧数很短,主要用于验证真实逐帧输出及解码):

    MacBook 1080p / 128:

    clipboard.mp4

    普通Frame 4K / 512:

    clipboard.mp4

    7. 保持未通过/未运行

    • 严格强前景、头发/细杆/透明层的物理遮挡质量、扫描残影、跨后端完整像素一致;增加采样和重复稳定不能自动通过这些项目。
    • 重场景流畅实时、设备外壳统一光学;长视频、所有转场、其他浏览器和GPU、原站全部UI动画未重验。
    • 未做完整Editor迁移、Studio接入、默认后端切换、推送或部署。本机完整证据保存在独立实验目录;本评论中的图片/视频使用GitHub正式附件,不以本地路径冒充公共下载。
  15. Shuang-su commented on Sep 30, 2026

    @Shuang-su
    OwnerAuthor

    2026-09-30 Studio/Director 融合候选:本地结果

    已建立独立可运行入口:Studio 左上 Logo 旁可以切换 Studio/Director,共用一个 SuperSplat 3.4.2 场景与 GPU 设备。固定 PlayCanvas 2.22.4、splat-transform 3.6.4、上游提交 f76e67633f21b298846c29eceab48ae20579fb4e。实现 checkpoint b67e8dc5,Spec/验证记录 checkpoint dd3fb14d,分支 codex/mf-62-studio-director;均仅在本地,尚未推送,不能当作远端可下载提交。

    跨模式只交接相机世界位置与看向目标点;从 Studio 进入 Director 时把目标点设为 MF 对焦点。两边各自保留 FOV、滚转、画幅、投影和摄影设置;切换不改保存镜头。当前场景的多个直接导入 PLY/SOG 模型共用已上传资源,按场景身份恢复摄影会话。Studio 工程与 Director ZIP 继续分别保存,未引入公共格式。

    本机 Chrome/WebGPU 的实测:

    验证 结果
    机位和资源 测试板 20 次往返,位置各轴误差 <1e-6、目标点及保存镜头不变;浏览器观测到仅一次 requestDevice。双模型同场景导入两次,返回原场景后恢复其 Director 参数与镜头。
    独立设置与输入 Studio 73° FOV/正交和 Director 31° FOV、23°滚转、4:5、孔径/设备 Frame 往返保留;首次拖动、撤销、导出取消后解锁通过。六个视口下模式入口无溢出。
    基础清晰图 修复 Studio 设置导入对上游 edit.add 的错误调用后,同白底/50° FOV/无景深/960×540 清晰图的 RGB 平均通道差约 0.000024/255,最大 1/255。
    实景 人物约 20.3 MB、室内约 54.5 MB SOG 均完成 Studio→Director→Studio;首次 128 样本分别约 2.8 秒、5.6 秒(各单次,不作普遍性能保证)。
    照片/动态输出 普通 Frame、MacBook、iPhone、Pro Display XDR × 128/256/512 各完成 1080p 照片及 9 帧/30 fps 动态 MP4;普通 Frame 再完成三档 4K,共 15 条全部完整解码,逐片 9 帧图像各不相同。照片与解码首帧整图 RGB 平均差约 2.07–2.14/255,中心/边缘另有统计。小测试板 4K/512 的 9 帧耗时约 108 秒。
    工程/构建 本地工程缩略图改读共享 GPU 预览,实际 842×474 非空图;Director v4 原模型字节和哈希往返保留。Workbench 和 Director 类型检查、Workbench 构建/生产预览、3/3 与 23/23 单元均通过。

    仍未通过: 强前景、发丝、透明层及高亮点的严格光学遮挡;人物素材清晰原图已有的扫描残影需与实现误差分离;设备外壳还未进入逐孔径积分。融合版没有重跑旧路径/Spark/同源 CPU 浮点的完整矩阵,也未完成 Studio 标记/动画中段、全部转场、长片、原站逐帧动画、Safari/移动 GPU/Edge 验证。Frame 动态输出通过不代表整体设备光学通过。上述验收保持开放。

    唯一 Spec 已更新:docs/design/mf-62-camera/spec.md;详细结果与可运行说明:docs/design/mf-62-camera/workbench.md、metaflow-camera-lab/workbench/README.md。中文图片/视频/JSON 证据包保留在本地 .codex-work/downloads/fusion-evidence/;此次未能通过 GitHub 浏览器附件通路上传新图片/视频,故本评论不把本地路径伪装成公共附件链接。 旧 Director 入口、正式版本和线上产品未改;Issue 继续 Open。

  16. Shuang-su commented on Sep 30, 2026

    @Shuang-su
    OwnerAuthor

    Studio/Director 融合候选补充验证(2026-09-30,仍为本地实验)

    在 codex/mf-62-studio-director 增加本地 checkpoint 0385c8a1,修复了一个真实导航回归:Studio 相机缓动尚未结束时进入已有 Director 会话,快速返回可能使用上次会话留下的已显示帧,退回旧机位。现在每次进入时清除该过期状态;新帧完成前返回使用当前工作机位。模式之间仍只交接 相机位置与看向目标点;进入 Director 将目标点设为 MF 景深焦点,不改 FOV、滚转、画幅、投影或孔径标定。

    新增 Chrome/WebGPU 浏览器定向测试通过:Studio 实际鼠标环绕、右键平移、Fly 前进,Studio→Director→Studio 往返、返回后的第一次小幅拖动、相机缓动途中切换;Studio 带相机的标记经实际「定位标记」按钮恢复机位,再进入 Director 后目标点和景深焦点与标记目标点一致。既有 20 次往返、双模型会话恢复及四种 Frame 定向回归复跑通过。修改后的 TypeScript、单元测试、生产构建和生产包模型导入/双向切换也通过;构建仍有既有上游依赖外置与 bundle 体积警告。

    强前景测试固定原 PLY SHA-256 85dabf84794671050706a28cce57f92e3c126fdd32c3e05e88ad2d7f2ad7bab6、姿态、960×540 和深灰背景,取得清晰及 4/128/512 孔径图。4 样本的离散重影到 512 样本明显收敛,但红色前景细杆仍有宽半透明扩散,严格物理遮挡未通过。与此前独立 3.4.2 候选的同背景图对照,清晰图 RGB MAE 约 0.35/255、512 图约 1.03/255;少量高对比边缘差异仍很大,不能据平均值宣称逐像素等价。融合版的 Spark/旧 2.22.1/CPU 全矩阵、发丝和透明层因果分解,以及设备外壳逐孔径积分仍未完成;采样收敛不能替代这些验收。

    源码与中文说明位于本地 docs/design/mf-62-camera/workbench.md;小型导航 JSON、四张强前景 PNG 和旧候选差异 JSON 位于项目本地 .codex-work/downloads/fusion-evidence/。本次未取得 GitHub 公共附件链接,本地路径不是公开下载地址。Issue 保持 Open,未勾选严格画质或正式产品验收;无推送、合并、部署或版本提升。

  17. Shuang-su commented on Sep 30, 2026

    @Shuang-su
    OwnerAuthor

    Studio/Director 融合收尾:实际交付与验收结果(2026-10-01)

    融合候选可独立启动,场景身份与范围问题已修复,重场景交互有实测改善。严格摄影画质与全部参考动画仍未通过,保持 design 实验及 Open 状态。 本轮沿用获准的“场景正确性、独立运行与摄影画质”Plan,没有发布、推送或合并。

    固定 PlayCanvas 2.22.4、SuperSplat 3.4.2(f76e67633f21b298846c29eceab48ae20579fb4e)、splat-transform 3.6.4。跨模式仍仅交接 position/target;Director 入场将 target 设为 MF 焦点,FOV、滚转、孔径、Frame 等各自保留。设备继续包装已经完成孔径积分的高斯画面,外壳不参加逐孔径积分。

    本地 checkpoint 与实际变更

    均在隔离分支 codex/mf-62-studio-director,未推送,以下 SHA 不能当作可访问的 GitHub commit 链接:

    • 69ed39fb:文档身份、实例组成、场景修订与素材哈希分离;新工程导入同一文件不恢复旧摄影会话。当前可见世界范围跟随移动/缩放/隐藏,10倍缩放不复用旧半径。工程加载失败回滚;同文档撤销恢复实例可恢复摄影会话。
    • 189ab738:只读素材服务直接供融合版 dev/preview 使用;catalog、测试素材、模型引用、三个设备GLB不依赖5179。独立准备固定来源和真实依赖安装;路径逃逸/符号链接/设备哈希检查。
    • 870e0fdd:标准sRGB边界、浮点纹理/Shader所有权、共享GPU观察者释放与任务串行;Frame/图片背景在Ready后修改会重新合成。恢复Studio叠加、中央清晰拾取、实际机位缩略图、PHOTO工作相机Compose及时间轴键盘取消。
    • 78c1511f:独立薄透镜参照、旧路径/Spark/圆孔径矩阵、200组性能、22条真实动态输出、设备映射/GPU中断/工程恢复,以及中文证据与失败记录。

    可重读素材字节缓存预算 256 MiB,保护正在使用、正在导出及不能重读的数据;最多两个闲置挂载界面,其余保存不含GPU对象的轻量快照。闲置会话立即释放帧缓冲。预算不等于整个进程RAM或GPU显存上限。

    验收映射

    分组 本轮实际结果 不能据此宣称的结论
    类型/构建/单元 两侧类型通过;融合构建、实际生产文件选择器导入通过;Workbench14/14、Director23/23 不是线上发布
    场景/交接 同文件新文档、实例恢复、10倍缩放、失败解码回滚、闲置恢复;Orbit/Fly/标记/缓动中交接及20次往返,误差≤1e-6 不是全部流式来源已支持
    独立运行 5179未运行;生产入口模型导入和两模式切换;资源/三个GLB成功 模型来源仍为只读本地引用
    工程/故障 Studio v2与Director v4示例实际保存重开,源模型字节哈希不变;实际销毁GPU后输出停止、工程仍可保存 永久GPU丢失需要重开页面/设备并打开两侧工程,不是原位自动重建
    功能/UI 12组浏览器流程通过;实际多兴趣点、展平/恢复、Compose中途/取消/撤销、机位/长度/Easing/四转场、教程关闭;六视口×两主题×PHOTO/VIDEO共24截图 原站全部视觉和逐帧动画一致性未全量通过
    颜色/重复 Studio/Director同配置清晰图max1/255;四场景各10次128重复max0 数值重复不等于物理遮挡准确
    预览/照片 四Frame、图片背景、同842×474/128,直接GPU预览缓冲与PNG差0 不包括CSS重采样或有损视频压缩
    输出 22条逐帧视频全部完整解码、尺寸/帧数/时长正确,每条所有帧互异 严格编码前一致性只有21/22通过;XDR首次失败见下文

    普通Frame、MacBook、iPhone、Pro Display XDR均保留;ROUNDING/BORDER/TAB与Shadows继续排除。顶部布局未重新设计;没有新增公共工程格式、Viewer参数或资源索引字段。

    性能:修改前冻结构建 → 本轮最终冻结构建

    本机 Apple M1 Pro / 16 GiB / Chrome151.0.7922.138 / WebGPU。四场景×环绕/平移/缩放/调焦/光圈×每项五秒×五轮,前后各100组,顺序运行。交互仍为4个完整圆孔径样本;停下120ms后收敛到选定128/256/512。本矩阵最终目标为128,没有减点、降分辨率、缩孔径或改回Fast。

    场景 五秒内显示更新次数中位数 前→后 输入批次完成 median/p95 前→后(ms) 最后输入呈现 median/p95 前→后(ms) 128收敛 median/p95 前→后(s)
    连续斜面 122→120 22.3/33.6→18.4/27.9 23.3/34.1→16.4/24.8 0.491/0.632→0.487/0.555
    强前景 121→119 19.7/31.0→17.4/25.3 17.0/26.0→18.2/23.6 0.478/0.540→0.486/0.516
    室内 20→31 260.5/339.4→180.9/213.3 339.4/451.1→247.5/328.3 7.612/9.007→5.235/5.564
    人物 69→77 94.1/125.6→85.2/106.2 105.9/158.9→86.4/131.4 2.373/2.938→2.131/2.182

    200组持续操作都有新画面,最后状态全部达到128。 重场景收益更明显,小场景更新次数基本持平;强前景最后输入中位数略增加。室内约6次/秒、人物约15次/秒的新孔径预览,仍不能称为高帧率实时。

    此“前→后”是本轮调度/颜色修正前后,不是仅升级引擎版本的因果比较。延迟是请求到显示批次完成的代理,不是硬件输入到屏幕发光测量。真实WebGPU时间查询已记录;GPU帧跨度与CPU/墙钟包围时间分列,未给重叠/未命名pass伪造独立GPU阶段耗时。p95采用排序floor(n×q)索引,封顶末项。

    光学对照:原片、旧方法、Spark、圆孔径与CPU

    四场景固定960×540、模型字节、相机/焦点/孔径、背景和色彩,分别输出清晰原片、隔离重建的旧2.22.1 CameraFrame、Spark2.1.0清晰/扩散、历史Fast、4/8/16/32/64/128/256/512圆孔径与同源CPU512。重建旧图不冒充修改前现场截图;早期带编辑叠加的诊断图单独保留。

    连续斜面:旧屏幕空间景深可能因深度/清晰带/采样产生折界;新的圆孔径模型连续变化,4样本的离散重影随采样收敛。这里没有重新切回高斯扩散。
    连续深度斜面中文对照

    强前景/透明条:圆孔径累积中的前景细杆为宽而淡的覆盖;Spark扩散更平滑,但红细杆也更易消失。它们采用不同焦外核与遮挡近似,不能只凭更柔或更强判断物理正确。
    强前景中文对照

    人物与室内:人物清晰原片已有背景残影,源缺陷与渲染引入问题分列;960×540当前人物较小,局部放大不能替代所有发丝的物理验收。
    人物中文对照
    人物局部
    室内中文对照

    增加了独立薄透镜射线/平面/透明遮挡参照,不复用高斯排序、绘制或累积。局部80×12在1024→4096样本时,斜面线性MAE0.001055、前景0.000334。理想细杆也产生宽而淡的离焦覆盖,说明这种外观不一定是漏色;材料和几何并未与扫描资产完全标定,仍不能作为扫描逐像素真值。
    独立光线追踪的前景覆盖

    四场景×128/256/512:GPU Float32累积与相同GPU样本的CPU Float64求和,编码最大差均≤1/255;512线性max约1.37e-6~4.50e-6。CPU是累积数值参照,不是第二个独立物理渲染器。

    受控单因素消融:packed→alpha仅改透明度缓存;alpha→FP32同时改变中心/轴/颜色/场景目标,不能全归因于透明度。相对FP32,packed/alpha在该前景场景最大差1/255;不稳定排序/2px小点阈值在本例未改变图。不能据此证明一般同深度或亚像素问题已消失;摄影路径仍用稳定排序/0px。

    真实动态输出附件

    四Frame×三档1920×1080照片和1秒/30fps视频12条;三档3840×2160 9帧/0.3秒3条;三档1080×1920竖幅1秒3条;Cut/Fade/Push/Zoom 960×540各1秒4条。共22条,含真实相机/焦点/光圈/设备参数变化,按N/30求值并完成相应采样后才编码。

    以下为四Frame的1080p/128代表片段:
    普通Frame

    off-1920x1080-128.mp4

    MacBook

    desktop-1920x1080-128.mp4

    iPhone

    mobile-1920x1080-128.mp4

    Pro Display XDR

    display-1920x1080-128.mp4

    普通Frame 4K/512,实际9帧

    off-3840x2160-512.mp4

    小测试模型:普通Frame1080p/30帧128/256/512总耗时约40.8/70.8/140.0秒;4K/9帧约35.3/78.1/140.4秒。包含渲染/合成/编码,不外推人物长片。解码RGB压缩MAE约2.02~2.43/255,主体/边缘、p99/max另列,不能用整图均值掩盖局部错误。

    严格失败:XDR/1080p/128首次照片与编码前帧max3/255,超过1/255目标。 局部重复诊断有219个RGBA通道不同,位于支架/线缆;相机和基础网格矩阵相同,根因尚未完成因果确认。其余21条原始对照≤1/255,XDR256/512本轮差0,但不能替代失败的128项目。
    XDR支架与线缆局部失败

    交互录像、GPU故障与工程

    最新冻结构建的实际兴趣区域/Compose/时间轴/教程/六视口录像:

    page@a77686e66896ccbbadaa79af09c6b2cc.webm

    实际GPU中断测试使用一次性测试页面销毁设备:渲染停止、Ready标签清除、工程仍可保存v4。永久丢失后需重建页面/设备并重新打开两个工程;本轮未实现原位自动重建。
    GPU中断后的工程保存状态

    Studio JSON与Director ZIP示例均已重开,程序生成模型SHA-256为3c7bcc004cdb87d90e9289acf5f600c8d52064aa2a4b379b5544c0874f425dd6;2个关键帧保留相机/焦点/光圈变化。原人物/室内模型只读,没有复制进公共证据包。

    仍未通过 / 未运行

    • 严格真实人物轮廓、全部发丝/透明层/高亮点与强遮挡物理验收;独立理想参照只支持趋势判断。
    • XDR首次128原始成片的≤1/255重复性。
    • 原站全部状态及逐帧动画一致性。本轮实现/功能/视觉/动画结果分列,功能录像不代替原站对照。
    • Safari、Edge、移动GPU实测;没有下载Edge。
    • 全部真实流式来源的摄影接入。
    • 设备外壳逐孔径积分按本轮明确边界排除,未把包装模式称为统一设备摄影。

    完整中文记录为本地docs/design/mf-62-camera/fusion-finish-20261001.md,唯一Spec与逐状态表已更新。证据包约157MiB,保存必要图/参数/22视频,没有落盘整套浮点孔径样本。上述附件已通过GitHub可见上传界面取得真实URL;本地路径没有充当公共链接。关联 #58;后续失败项保持开放。

  18. Shuang-su commented on Oct 2, 2026

    @Shuang-su
    OwnerAuthor

    本轮总规划承接(2026-10-03)

    本任务纳入 #100 与产品和研发总览。归属:Director/产品;快照:实施中/实验/P0。优先级仅表示先后,成熟度只对应本条目已核验范围。

    D62;部分采用 S58 共用工作台,保留独立工程;光学/画质仍待完成

    本地 D62:codex/mf-62-studio-director@9365a0a3;docs/design/mf-62-camera/spec.md 为 Spec,阶段工作台计划与验证分别见 workbench.md、validation.md、fusion-finish-20261001.md。严格画质仍有 XDR 等缺口,不以可解码或工作台可用替代摄影验收。

    本次仅整理规划关系,没有重跑产品测试,也未改动原授权、负责人、Issue 开闭或产品发布状态。总路线图与完整关系表位于 codex/metaflow-product-planning 的 ROADMAP.md、docs/planning/product-system.md、docs/planning/portfolio-baseline.md,初始为本地工件尚未推送;完成提交和验证统一回填 #100。

  19. Shuang-su commented on Oct 3, 2026

    @Shuang-su
    OwnerAuthor

    2026-10-04:修复融合 Director 画面被压成中央窄条

    本地 checkpoint:209cd56c,分支 codex/mf-62-studio-director。未推送、合并、部署或提升正式产品版本;Issue 保持 Open。关联 MF-58。

    用户现场与根因

    在最新上线的缇宝 SOG+环境 PLY、844×958 视口、DPR 2 下,Director 的摄影目标为 960×540,但共享 GPU canvas 被隐藏 Studio 的 ResizeObserver 写成 1048×1916。CSS 取景区域仍约 798×448,因而画面呈中央竖条。另有摄影路径将物理像素传给再次乘 DPR 的 resizeCanvas,GPU 投影器采用 backbuffer 尺寸而相机使用离屏尺寸。Ready128 只说明采样完成,不能证明画面尺寸正确。原模型没有修改。

    实现

    • Director 期间不应用 Studio 的待处理视口尺寸;返回 Studio 时显式恢复当前容器像素尺寸。
    • 摄影 GPU 投影器与相机统一使用离屏目标尺寸,不再受到导航 pixelScale 或显示 canvas 的影响。
    • 共享会话只管理离屏目标;可见合成器独占展示 canvas。照片、缩略图与设备屏幕的合成不向该 canvas 呈现。
    • 独立候选使用 setResolution 设置物理像素,避免重复 DPR 缩放。固定上游归档通过构建补丁适配,未原位修改。

    本轮实际验证

    • Workbench TypeScript、构建、18 项单元检查通过;新增4项覆盖延迟视口写入、离屏投影尺寸、Studio 恢复和补丁漂移。保留既有大包体/上游模块外置警告。
    • 应用内浏览器 WebGPU / DPR 2,测试板20次完整往返:位置最大误差0、目标点不变,模型导入计数始终1;Director canvas/相机目标/投影器均为960×540。
    • 缇宝恢复报错现场机位,128和512采样后人物比例正常,未再出现中央窄条。
    • 128采样照片960×540、540×960、1920×1080完成,三次离屏任务均未改变可见canvas的960×540尺寸。单次墙钟约2.32、1.91、5.23秒,不作为通用性能承诺。
    • 390×844缩放保持图像比例;窄屏 Fill 的留白/构图语义未列为完整视觉通过。未记录渲染错误。

    证据与边界

    本地证据目录标识:fusion-canvas-20261004,包含报错截图和参数、20次往返JSON、修复截图、横竖PNG及输出尺寸记录。本评论没有上传新附件,该目录不是公共下载链接。唯一本地 Spec 与 workbench 验证记录已更新。5202和5203均提供修复后的构建,当前缇宝页面保留在5203。

    本轮没有重跑完整视频、四设备 Frame、4K或严格遮挡矩阵;照片尺寸检查不替代逐像素一致性,既有光学/视觉失败项保持未通过。

  20. Shuang-su commented on Oct 4, 2026

    @Shuang-su
    OwnerAuthor

    MF-62 摄影成果的限定公开接入已由 MF-106 承接:ACG Director 实验版。

    已上线范围为单资源主体+环境、position/target 交接或 JSON 机位、完整圆孔径渐进取景以及照片/视频时间轴输出;公开 UI 已清除来源授权未核实的参考站资产。实际 5.21.3 部署、照片、动态视频和15分钟观察,以及5.21.0/5.21.1的三档短4K记录集中在 #106,历史版本附件分别保留。

    此处不关闭研究 Proposal,也不勾选严格发丝、半透明/强前景遮挡、扫描残影、物理镜头/胶片及完整动画一致性。应用内浏览器的4K编码失败与已有Chrome成功单列,Safari/Edge没有实测,未下载Edge。

  21. Shuang-su commented on Oct 7, 2026

    @Shuang-su
    OwnerAuthor

    限定线上入口的关联进展:MF-106已发布Viewer5.21.5,修正光圈辅助遮罩交换链闪动、手动焦距红色参考、双行Capture裁切、亮色边框和指定VIDEO/Easing/短胶片命中。正式1080p/128照片、真实1秒动态视频、取消/重试和900.0107秒观察完成,公開图片/中文反馈视频及验收分析在MF-106本轮交付和Release。产品35862e440,正式tag/build586f8bf29,记录PR #125合并66c4291a6。

    这一发布仅是现有ACG Director的兼容反馈修正,不实施本Issue后来重新界定的大画幅/相机/镜头/滤镜独立研究,不修改其Proposal或关闭研究。完整逐帧动画、严格发丝/透明层/强前景物理准确性、扫描残影、本轮完整4K/三档输出及未运行浏览器仍未通过/未验证;不能由路由、GPU/CPU数值一致或采样收敛覆盖。模型/环境/settings/Editor未改,未下载Edge。Issue原生视频附件上传未成功;本轮使用可公开核验的Release资产正文图片和视频链接,不用本地路径冒充附件。

  22. Shuang-su commented on Oct 8, 2026

    @Shuang-su
    OwnerAuthor

    公开Director采用Fast调整反馈:5.21.6实测与光学边界

    按最新用户意见,MF-106线上限定ACG摄影采用“调整时高精度Fast高斯预览/独立红色参考,停止120ms后完整圆孔径4→128/256/512”调度。该修订不把Fast保存成最终缓存或输出;照片/视频仍按完整孔径模型,不重新启用随机Alpha。Fast与圆孔径核不同,操作结束时仍可能发生焦外形态变化,需要单独验收。

    产品PR #126合并为31babb2cf12ebc034d4f8c60ff905e2fd26dff7a,正式tag/build2749f519e367e4c347a60241837502f7544ad898;5.21.6正式部署6ac7ec0fa8239794c0ab5d12于2026-10-08T19:19:50.676Z上线。16轮900.0006秒观察、构建/版本及300项路由/引用检查正常,25项公开附件大小/哈希核对一致。

    指定缇宝主体865623+环境55029点、1770×996/DPR2,五轮各五秒光圈输入:显示延迟中位数140.9ms/p95 281.6ms,含取证开销;没有四场景或旧路径成对基准,不称为独立GPU耗时。三档1080p照片及三档真实4K短动态视频完成;512档4K八帧捕获711.351秒。四转场44帧动态视频取消重试成功。正式128/512照片与同状态本地字节相同;正式1秒1080p30/128视频取消后重试得到30不同帧,完整解码。

    中文光圈Fast反馈 · 中文近远调焦/红色参考 · Operator/多点/Compose/重复点击对焦 · 正式动态视频 · 全部25项公开图片/视频和统计。

    正式近焦Fast红色参考

    正式成片

    十次指定同状态暂停预览与独立捕获8bit最大通道差0;原图返回批次不增。这只证明本状态的重复性/缓存,不证明物理遮挡正确。Fast投影扩大采用圆盘每轴二阶矩R²/4及面积透明度补偿;圆孔径逐样本重新投影/排序/遮挡,关闭单次扩散。扩大高斯无法替代有限孔径的遮挡变化,不能以Fast看起来更锐或孔径样本增多宣称发丝/透明层准确。

    MF-106指定UI、DPR2、取消和输出修正已记录;所有反向/中断动画及听感未穷举。MF-62严格人物发丝、透明层、强前景、尾部/排序和扫描缺陷仍未通过;本轮未重跑人物/室内/Spark/CPU浮点/独立光线追踪完整矩阵,设备Frame及外壳孔径积分不在公开单资源范围。保留MF-62开放状态、历史失败及独立验收,不用此次发布关闭研究。

    唯一产品Spec · 实际验证 · 验收记录PR #128。Issue原生视频附件通路尚未成功,此处使用Release正文嵌图和视频链接。

  23. Shuang-su commented on Oct 9, 2026

    @Shuang-su
    OwnerAuthor

    本轮画质与交互修正:原因、对照与原生附件

    以下是当前本地提交 2ed2ae21280d4115a78dedce2d316994b847379f 的实际结果;5.21.7预览已准备,正式上线状态随后单独回填。完整复刻要求按当前公开ACG范围执行,历史研究范围不混为遗漏。

    本轮以 2026-10-09 实际 ui.camera 来源、公开 ACG 摄影范围和现有 PlayCanvas 2.22.4 / SuperSplat 3.4.2 摄影后端为准。四场景均重新渲染;旧 CameraFrame 图片只作历史说明,不能当作同色彩基线的因果对照。设备 Frame、工程库和在线服务已被公开范围排除,不属于遗漏。

    已定位并修复的实现问题

    1. 远点干扰近处遮挡排序。 原有 20 位深度键把相机裁切区间统一量化。场景中有 10 万单位的远点时,间距 0.003 的前后层会落到同一档,稳定排序只能稳定错误的层次。本轮直接使用正 Float32 深度位模式,复用上游 GPU radix,再按 entry ID 保持同深度稳定性。七点实验只改排序:修复前红层覆盖前绿层,修复后前绿后红顺序正确。十次完全重复渲染没有像素变化。
    2. Fast 松手后焦外尺度改变。 之前按理想无限高斯的方差把圆孔径每轴方差 R²/4 加到投影协方差;实际绘制是裁切且重定基线的高斯,实际二阶矩更小。对固定上游径向公式积分后得到约 0.8387 的系数。本轮把新增协方差除以这个系数,并继续面积透明度补偿。单白点 Fast 每轴方差由 139.31 校准到 165.81,512 孔径约 165.57;等效半径差从 -8.27% 到 +0.07%。没有增大光圈,也不随焦点重新标定。
    3. 点击对焦标记持续时间受拾取延迟影响。 标记生命周期现在从输入时刻计 1850ms;框的中心位置在缩放中保持不变。异步拾取只提交最后有效请求。
    4. 兴趣区域/Compose 的反馈与时序。 选区临时清晰 AF,退出恢复完整 MF 摄影状态;选区不是重新包围盒取景。照片构图按观察到的 220ms 变换曲线运行,视频构图直接开始生成的序列,移除把原站“移动标记”误当作额外 240ms 相机动画的处理。
    5. 时间轴端点、标签及提交。 新机位在当前机位后插入,前后机位保持,时长不变;有超过两机位时也能删除端点。黄色数字标签按当前来源隐藏,保留语义名称。编辑时长关闭弹层前明确提交,Enter 提交,Escape 取消,防止输入卸载不触发 blur 而使下一个操作撤回时长。实际验证外部关闭后 1 秒、撤销 3 秒、Enter 1 秒、取消 .25 秒后仍为 1 秒。
    6. 控件细节与缓存。 Operator 闭合 102.30×42、展开 138.52×42,内外 padding 与实测来源一致;inactive 不保留隐藏可聚焦清除按钮。内联光圈读数为 12px/18px,滑杆 28px,刻度反馈 .32s。非视觉镜头元数据不再令照片缓存失效,焦点、光圈、机位、尺寸、采样和转场仍决定缓存。最终浏览器重复原图/成片来回切换:批次 64→64→64,缓存命中 1→2→3。AF/MF 标签及已换算的控件元数据不再破坏相同光学状态的缓存;实际焦点变化仍失效。

    Fast、Spark 与完整孔径分别在做什么

    Spark 2.1 和 Director Fast 都是一次高斯投影扩散:按深度与焦平面之间的逆深度差扩大二维协方差,再补偿透明度。它们能快速更新,但扩大的高斯仍采用一次排序和高斯尾部,不能替代真实孔径遮挡积分。两套实现的尾部裁切、透明度下限、点组织和 WebGL/WebGPU 基础渲染也不同。只凭 Spark 看起来更糊或更柔和,不能把它判为同参数物理真值。

    Director 的 128/256/512 是从圆孔径不同位置发出平行偏移、离轴会聚的视线;每个位置都重新投影、排序、遮挡和绘制,再在线性 Float32 中累积。它因此能出现薄前景遮挡的一部分视线透出背景,这是离焦覆盖的自然结果。提高采样主要降低有限样本重影和条纹,不改变孔径半径、焦平面或源资产质量。

    本轮 Fast 只在调整或辅助反馈中使用;圆孔径成片仍关闭 Fast 和红色参考。校准的是二阶矩和操作结束前后的尺度,不声称高斯核与圆盘核逐像素相同。

    四场景与独立参照

    场景 点数 GPU512 对同源 CPU Float64 最大线性差
    强前景/半透明条 17,709 1.363e-6
    连续深度斜面 24,341 1.486e-6
    人物 1,347,720 3.722e-6
    室内 3,703,902 4.500e-6

    编码后的 GPU/CPU 最大差均为 1 个 8bit 灰阶。四场景各重复 128 样本渲染十次,40 次均像素完全重复。GPU/CPU 共享投影样本,它只说明累积数值,不证明遮挡一定符合物理现实。

    另有不调用高斯绘制、排序或产品孔径序列的平面薄透镜参照:独立 Cartesian 圆孔径求积,并用圆盘边缘分布的解析积分核对自身收敛。受控细杆离焦半径为 29.22px;128 网格的 12,892 条孔径视线相对解析参照最大线性差 .00637、平均 .000469。解析图消除了求积参照本身的噪声。这里明确的 0.5 表面透明度不能直接套到多层高斯扫描上。

    局部查看要把三类现象分开:

    • 实现错误:近同深度合桶造成前后颠倒,已通过单因素对照修复。
    • 有限模型/采样:Fast 尾部与圆盘不同,128 前景仍有微弱采样条纹;512 会减弱。高斯扫描并不提供真实材料、逐发丝表面或折射参数。
    • 源资产缺陷:人物左侧破碎行人、灯带与地面残影在清晰原片和 Spark 清晰图中已存在;不以更多采样、黑边修补或隐藏区域冒称恢复原数据。

    交互与实际输出

    缇宝主体加环境、1770×996 / DPR2,实际连续五秒调焦 32 次请求、27 次呈现,输入→显示中位 191ms、p95 401ms;光圈 33 次请求、33 次呈现,中位 158ms、p95 359ms。最后值分别在 175ms/180ms 呈现,孔径标定保持。它含浏览器取证开销,是墙钟时间,不是 GPU 时间或四场景性能基准。

    150 帧调焦与 342 帧光圈原始录帧的固定取景区域无整幅黑/白帧;相邻平均亮度最大变化 .00223/.00162。中文过程视频保留真实录帧,剪短长空闲,不生成中间帧,不用它宣称原生帧率。

    通过真实 UI 建立不同起止机位及光圈后输出的一秒视频为 H.264、1920×1080、30fps、30 帧、748273 字节;完整解码。三档照片与短动态 4K 输出的逐帧耗时、完整解码及哈希在 output-matrix.json / media-validation.json 中记录。测试用 API 矩阵复用产品捕获、时间求值和编码器,明确区别于真实 UI 建立的镜头。

    六种视口、明暗主题及 PHOTO/VIDEO 共 24 个本地状态和 24 个当日来源状态分别截图与读取实际几何。浅色窗口 border=0;双行 Capture 不被包裹层裁切;布局无横向溢出。教程关闭后不增加 Show tutorial,按用户要求保持该范围,即使来源某个会话又显示了此入口。

    最终焦点标记逐帧记录持续约 1833.6ms(1850ms 生命周期扣除首帧),中心最大漂移约 0.000061px;Ctrl-wheel pinch 将底部倍率从 1× 同步到 0.5×,相机距离与焦点不变,一次撤销还原。IAB 不提供真实 touch-event 注入;没有把这项当作真机双指证据。时长弹层 Enter/Escape 后焦点回到机位按钮;移动 Operator 展开、亮色菜单操作再跨桌面断点,最终无残留滑杆,Operator 恢复到 102.30×42、opacity=1、pointer-events=auto。

    四镜头Cut/Fade/Push/Zoom另输出23个不同帧、1920×1080、30fps/0.766667秒。捕获取消后重试通过;七个编码前帧与H.264解码帧平均差2.13—2.43灰阶、最大80—114,视频压缩/YUV色度与渲染重复性分开统计。

    中文图片与过程视频

    只改变深度排序的因果对照

    只改变深度排序的因果对照

    Fast尺度校准:高斯与完整圆孔径

    Fast尺度校准:高斯与完整圆孔径

    强前景与半透明条

    强前景与半透明条

    连续深度斜面

    连续深度斜面

    人物:清晰、Spark、Fast和GPU/CPU

    人物:清晰、Spark、Fast和GPU/CPU

    室内:清晰、Spark、Fast和GPU/CPU

    室内:清晰、Spark、Fast和GPU/CPU

    4到512样本:焦外范围相同,条纹随采样收敛

    4到512样本:焦外范围相同,条纹随采样收敛

    连续调焦/切换焦点

    focus-interaction-zh.mp4

    连续调整光圈与释放

    aperture-interaction-zh.mp4

    视频保留实际采样帧、剪短长空闲、没有插帧;不能用编码帧率当作原生交互帧率。图片/视频通过GitHub原生附件通路上传。

  24. Shuang-su commented on Oct 9, 2026

    @Shuang-su
    OwnerAuthor

    关联MF-106公开摄影的设备可用性修正。下列仅记录已上线的兼容行为及新一轮真实输出,不将启动恢复当作材料/发丝/扫描缺失信息已修复。完整MF-106交付:评论6077533228。

    5.21.9已正式上线:较慢设备可继续初始化,设备丢失可保留编辑重建

    低电量模式不应成为摄影访问门槛。页面不检测或因此禁用摄影,改用浏览器默认GPU策略;20秒等待现在只是提示,同一个请求仍可以完成,90秒没有响应才提供明确错误、重试和返回对应Viewer。取消/重试的迟到设备释放;GPU丢失即使发生在闲置成片后也立即暂停,重建保留工作机位、焦点、光圈、镜头关键帧、播放位置、精细度及撤销历史。最终RGBA32F、128/256/512、模型点数及分辨率没有降低。

    用户已关闭当前系统低电量模式;Agent没有修改电源设置或重启浏览器/GPU。真实OS低电量仍未实测,所以不能把当前恢复当作唯一根因已经证明。可控迟到测试只延缓原生请求,不伪造设备或画面。

    正式缇宝Director · 中文分析与26项公开附件 · 产品PR136 · 正式来源PR137

    实际验证 本轮结果
    正式取景 主体/环境实际128/128;1770×996/DPR2。32批次通常110–141ms/批,墙钟单次,不称GPU或完整性能统计
    照片 1920×1080 PNG/128,2,621,583字节,5.808秒;与此前慢候选的同状态照片逐字节相同
    真实动态视频 H.264 1920×1080,30fps,1秒30个不同帧,822,912字节,157.173秒;每帧128,全部解码,首中末人工查看
    输入变化 通过真实UI修改起止yaw −23.8623°→−18.8623°、焦距1.85473→1.18189、光圈控制13.3333→16;保存结束机位,不是重复同一静帧
    迟到与重试 原生创建2设备/释放旧设备1次,128收敛;390×844无横向溢出。此项不是实际OS低电量
    失效与恢复 独立正式测试页真实销毁GPU,立即“画面已暂停”;重建128,完整pose/project JSON与导出前状态相同、time=1保留,Undo改变镜头、Redo恢复原数据
    取消 完成视频后再次启动,在编码能力检查阶段取消;没有新增文件,控制恢复。不冒称新一次中途帧取消测试
    发布 产品70961255,正式tag/build b0ececa;Netlify6ac8a216e683f6d6589d8376于2026-10-09T08:18:15Z发布。8文件/300路由与引用/79主体/51环境及缓存头通过
    观察 08:19:33Z—08:34:33Z(北京时间16:19—16:34),16轮900.006秒;版本、SHA、索引、Director/Viewer/Editor、脚本/WASM无回读错误

    正式页:实际128样本取景

    正式取景128/128

    正式实际成片:1080p、128样本

    正式1080p照片

    设备较慢时:有反馈,原请求仍可完成

    原生迟到请求的慢启动提示

    额外的“释放请求”按钮仅存在于独立本地诊断,公开页没有此按钮。可等待、重试或返回Viewer。

    正式动态视频:相机、焦距与光圈变化

    production-5.21.9-video-1080p-128.mp4

    GPU丢失立即暂停;重建后保持编辑和撤销

    真实设备销毁后立即暂停

    重建设备后保留镜头与当前状态

    GPU销毁只针对Agent自己的测试页面,不改用户Issue页或系统。初次参数诊断两次引号SyntaxError未登记通过,修正后用导出前保存的真实状态核验。前后恢复说明不以终态截图替代数据/撤销检查。

    照片SHA256 810a7b4634b8fbf736656ab7a48a6ad77237fe8d9fd02139bcfff619963dabd5;视频21c645a44d703f6dde307134ab41f3c598bcebd7e77c8af6cdeb65bff75130ef。视频压缩误差、孔径采样误差与设备响应分别处理。公开附件附原始时间、参数、完整framemd5、观察/HTTP报告和哈希索引。

    此前5.21.8/候选的20秒设备超时、一次215秒照片、9.9秒队列通知、另一次独立请求20秒超时都保留。首次生产HEAD核查TLS EOF后,完整有界重试版重跑300项通过且没有重试。没有绕过GPU完成同步,当前恢复后的速度不是版本性能改善倍数。Director44项、Viewer148项、相应类型/构建/E2E、产品与来源精确CI37900845431/37902837466通过,正常合并;此前来源记录CI失败修正文档,断言未放宽。

    5.21.7的四场景Spark/GPU/CPU、排序因果修复、Fast二阶矩校准、三档真实4K及24+24来源状态见前轮中文原生附件和47项公开证据。本轮设备生命周期修正不改成像模型,不用新1080p声明重跑新4K。设备/工程/在线服务已排除,不恢复。

    真实OS低电量、多GPU/驱动、手机原生多指、Safari/Edge及主观声音仍未运行;缺少所需WebGPU/浮点能力时明确提示,不静默降质量。扫描残影、缺面和真实材料/发丝信息不足继续属于MF-62独立边界。原始模型、环境、settings、100资源对象、公共schema和Editor不改,未下载Edge。回退保留5.21.8部署6ac87f543e88e78932eb4e4e。MF-106/MF-62保持Open用于这些明确边界。

    生产验收记录本地checkpoint c3492b644444f2f365ea80f2320d1536e10a1ff6,PR138正常合并为90f32e65e67a9e59adc44d3ba95e8084e77461e0;精确HEADCI37907970065所选docs/governance及summary通过,其他组件skipped。文档合并不改变正式tag/build b0ececaf或已部署产物。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/designDesign lab or promoted design workenhancementNew feature or requestrisk/T2Feature or product behaviortype/proposalProduct or technical proposal

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions