返回

文章详情

HTML是一种原生图像格式,听我说

Hacker News2026年6月11日 10:38

生成媒体的未来停止生成像素。生成HMML(超媒体标记语言),这是一种用于图像的声明性标记语言。还有JS。HMML是HTML,但不是UTF-8。未来一代媒体的抢先预览(#rezervation)一个真实的网站 · 一个.hmmm · … 从一个文件解码整个网站… ↑ 一个真实的食品配送页面 - 在一个.hmmm中的标记、图像和SVG动画,… 比同一页面的base64小。看看行间的小人。他说:“我是一幅图像。”仔细看:那是一个HTML布局中的数十幅图像 - 大家都称之为“带有图像的HTML”。HMML将标记、图像和所有内容折叠成一个单一的二进制文件。在这一点上,整个东西简直变成了一幅图像。2.5 KB读取器 ~830 MB/s解码比base64小25% 0依赖性可组合性,而不是像素下一个模型生成的不是图像。它是一个文档。图像将所有内容压扁成一个冻结的光栅。HMML保持各个部分 - 向量、文本、光栅、3D、运动 - 可组合和可编辑,以节点的粒度创建,而不是1024网格的猜测。01 可组合,而不是扁平化照片、图标、图表、3D场景 - 一个图像将它们压缩成一个光栅。HMML保持每个元素:分层、可寻址、可重新组合。02 细粒度原语在元素、变换、关键帧的粒度上进行创建和编辑 - 更改一个节点,而不是整个渲染。差异化、版本化、重新混合。03 可编辑,而不是冻结在事实发生之后重新样式、重新本地化、动画化。生成的输出保持源 - 不是你只能重新生成的截图。04 原生于模型模型已经写出HTML、CSS和SVG。HMML只是将该输出与原始媒体密封成一个可移植的合同 - 一个 ~2 KB 的读取器可以在任何地方打开它。模型会否进化到直接发出这个?也许。也许不。但是“图像”已经是一个过载的词 - 照片、图标、图表、场景、动画,所有这些都压缩成一个冻结的光栅。HMML将其解耦,并为其使用案例赢得其合理性。或者也许像素一直都很好。让我们看看。那么/现在你不构建场景。你挂载它。今天你手动连接布局、样式、状态和一堆平面AI图像的资产。使用HMML,模型将整个场景作为一个文件发送 - 你的应用只需获取它,解码,并将其挂载到一个div中。所有复杂性都下载到.hmmm中。今天 - 你手动组装每个部分 <div class= "product" > <img src= "ai/hero-1.png" > <img src= "ai/hero-2.png" > // AI的全部工作 <div class= "copy" > <h2> 你手动写这个 </h2> <p> ...和这个。还有替代文本。 </p> <button onclick= "addToCart()" > 购买 </button> </div> </div> <style> .product{ display:grid; gap:24px } /* +40行 */ </style> <script src= "layout.js" ></script> <script> hydrate(); wireCarousel(); track() </script> <!-- + /assets: 14个文件,+状态,+一个构建步骤 --> 下一个 - 获取 · 解码 · 挂载场景 = 100% AI <div id= "scene" ></div> // 挂载div <script type= "module" > import { unpack } from "@eddocu/hmml" const bytes = await fetch( "scene.hmml" ).then(r => r.arrayBuffer()) const doc = await unpack ( new Uint8Array(bytes)) // 解码场景.innerHTML = doc. toHTML () // 挂载 </script> // 一个文件 = 布局 + 媒体 + 运动 + 逻辑你可以制作的图像你可以组合。以2D或3D排列图像,将它们分层,动画化 - 每个部分保持可编辑、可迭代和可重新组合为新的视觉效果。下面的场景只是一个例子:一个漂浮的图像和SVG的云,从单个.hmmm实时解码。移动你的指针。一个.hmmm · … · 一个实时场景每一个都是一个单独的 .hmmm 。向量、光栅、3D和文本可以自我重写 - 现在解码,无需网络,无需依赖性。合同位和字节和一个合同。一个PNG风格的签名,然后自描述的Chunk。标记保持文本;图像保持原始。未知块被跳过 - 它在不破坏的情况下增长。完整规范 → 89 'H' 'M' 'M' 'L' 0D 0A 1A 0A · major · minor · codec MARK标记 - HTML / CSS / SVG / JS,可压缩文本RSRC 资源 - id + mime + 原始字节(无base64)META JSON元数据ENDF结束标记 · 标记指向资源,使用hmml:<id> 来使用它两个调用。// ENCODE - pack(html) → 一个 .hmml(你存储或发送的Uint8Array)// · 将每个数据:图像从HTML中提取到原始字节(无base64)// · 压缩HTML/CSS/JS并将其框架化为一个二进制块const bytes = await pack (html) // DECODE - unpack(bytes) → 文档回到,任何浏览器运行的地方// · 从blob中读取标记 + 原始图像// · toHTML() 将它们重新缝合成可挂载的HTML const doc = await unpack (bytes) el.innerHTML = doc. toHTML () // (或者doc.createObjectUrls()用于blob://URLs) 定义图像,/ˈɪm.ɪdʒ/ 名词一个.hmmm · … · 一个词典条目

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡