文件格式 (.lum)
Lumi 的原生 .lum 格式是项目目录,不是封闭的单个文件。它为分层插画而设计:深层图层树、大尺寸画布、蒙版、非破坏性效果,以及不必把整幅画再复制一份的检查点。
格式要保住的,正是这一工作结构。项目因而可以忠实重新打开,出了问题可以检查,也可以从最近的检查点恢复——不必把图稿当成一块不透明的数据。
有意拆开存放
.lum 项目是一个文件夹。图层树与图像属性写在可读的 XML 里。每个图层和蒙版各自保留像素缓冲区,按图稿命名,而不是按内部 ID。矢量路径以普通 SVG 存储。较重的滤镜设置放在图像旁的独立文件中。ICC 配置文件只在项目根目录存一份,恢复快照可以引用它们,而不必复制。
这样拆开,格式的其余部分才成立。未更改的图层可以留在磁盘上不动。损坏的缓冲区只让自己失败,不会拖垮整个文件。缺少图层像素时,会变成空图层,但名称、位置和混合设置还在;缺少图层组的合成时,则从子项重建。项目仍然是这幅画如何建成的一张地图。
颜料调色板留在 Lumi 的色彩工具里。项目可以记住图像关联了哪套调色板,但调色板库本身在 .lum 之外。
可编辑状态,而非扁平化
文件保存的是正在画的那幅画。图层仍是图层,图层组仍是图层组,蒙版仍是蒙版,偏移、锁定、混合行为和滤镜堆栈都包括在内。非破坏性滤镜保存为操作和参数,而不是已经固化的像素。纯色图层完全不需要像素文件。
折叠的图层组还会留下自己的合成预览。关闭图层组时,画布上出现的就是这份已保存的合成预览,不必只为了看图而重建子项。仅用于显示的检查模式不进入该缓存:为编辑而显示蒙版或 Alpha,会作为元数据恢复,而不会烧进已保存的图层组。
大文件可以部分留在磁盘上
打开 .lum 不必载入每一个像素。折叠图层组里的内容可以留在磁盘上,同时立刻显示该组已保存的合成预览。展开图层组时,其中的图层、蒙版和嵌套图层组才载入内存。一直关着的图层组负担更轻。
文件还会记下哪些图层组真正在用。当前选择路径上的图层组可以以展开状态重新打开;其他文件夹即使上次会话是打开的,也会按折叠存储。这样,打开深层文件时不会立刻把未使用的分支都载入内存。
因此,编组既是组织方式,也是性能选择。大型背景、归档的实验和未使用的变体可以放在关闭的图层组里,而不占用与正在绘制的图层相同的内存。保存遵循同一规则:仍隐藏的缓冲区按文件复制或跳过,而不会为了再写出去就重新胀回内存。
只写入已更改内容的检查点
文件 → 保存 会更新工作项目。增量保存和自动保存写入恢复树,并且只写入已更改的数据——已更改的图层缓冲区,而不是整幅图像的第二份副本。每个检查点仍带有图层树的完整描述,因此这条轨迹上的任意一点,都可以通过从较旧检查点(必要时从工作文件本身)补齐未更改的像素来打开。
自动保存以同样的方式写到单独的缓存中,因此自动保护不必重写磁盘上的文件。若打开项目时存在比上次完整保存更新的检查点,Lumi 可以提供它们,而不是默默丢弃更新的工作。恢复的图像以不同的名称打开,以免一次快速保存覆盖原件。
用于继续工作的格式
.lum 用来在 Lumi 里把画继续画下去。扁平化或兼容性格式则面向发布、交付和其他应用程序。项目是许多文件组成的目录,要带走时应当归档。
工作文件保持丰富、可编辑。完成或需要分享的图像,靠导出离开这套结构。