半导体设计智能化
工程规则与 AI 辅助分析接入设计流程。
PRACTICE · 01官网与后续所有对外页面的唯一来源。颜色、字体、材质、组件与动效都在 ds/simatrix.css 与 ds/simatrix.js 中定义,页面只写结构和 data-sm-* 声明。
透视网格、3D 面板与景深层次,让界面像一个可以走进去的空间。
青色取自 Logo,代表 SiMatrix 与智能体执行;琥珀色代表人类判断。其余全部是中性色。
导航、Tab、底栏和浮动读数使用液态玻璃,内容层保持实体,层级一眼可辨。
运行时在 DOMContentLoaded 时自动执行 SM.init();动态插入的内容调用 SM.init(容器) 重新绑定。所有 .sm-btn 会被自动补上填充层。
数值实时读取自当前主题,点右上角切换即可对照浅色版本。组件只引用 token,不写字面色值。
--sm-font-display Noto Serif SC 用于标题与数据;--sm-font-body Noto Sans SC 用于正文;--sm-font-mono IBM Plex Mono 用于英文标注、编号和代码;--sm-font-brand Michroma 只用于 SIMATRIX 字标,呼应 Logo 的宽体字母。字号全部是流式 clamp,.sm-mega 每页最多两处。
界面反馈用 --sm-dur-1/2,组件过渡用 --sm-dur-3,入场与 3D 切换用 --sm-dur-4。--sm-ease-liquid 带轻微回弹,专用于玻璃镜片和层叠板这类“液体”运动。
.sm-glass 由四层叠成:背景模糊并提高饱和度、顶部内高光与底部暗边、斜向镜面描边、跟随指针移动的高光。加 data-sm-glass 后,高光与描边角度会随鼠标变化。.sm-glass--strong 用于需要更高可读性的浮层,比如底栏和提示。
标准玻璃
用于导航胶囊、分段控件、按钮。
加厚玻璃
用于底栏、提示和内容较多的浮层。
选中态是一块会流动的玻璃镜片:切换时先向目标方向拉长、同时轻微压扁,再回弹收拢到新位置。导航、Tab 和底栏共用 SM.lensTo(lens, target),镜片元素由运行时自动插入。下面的导航条在鼠标悬停时也会跟随。
点击或用 ← → 键切换,观察镜片的拉伸与回弹。
镜片宽度会适配每个标签的长度。
跨越多个标签时,拉伸更明显。
开启“减少动态效果”后直接定位。
沿用 SiMatrix 原有标志:银色 SM 字母交织,青色电路线连接两端。运行时注入去底后的透明图形(深浅主题各一版,存放在 assets/logo-mark*.png),配宽体字标 SIMATRIX 与“共生秩序”。data-sm-logo 默认横排,="lg" 为大号,="mark" 只显示图形。悬停时图形沿 Y 轴翻转。
实体按钮悬停时填充层从左向右铺满;玻璃按钮 .sm-btn--glass.sm-glass 用在动态背景上。data-sm-arrow 追加箭头,data-sm-magnetic 让按钮跟随指针。主按钮每屏最多一个。
标签用于分类和关键词:--accent 标记与人相关的维度,--cool 标记行业和系统。状态点带持续扩散的脉冲。.sm-chip 是放在玻璃上的胶囊标题。
手机端(≤760px)固定在底部的玻璃底栏,取代顶部链接。向下滚动时收窄并隐藏文字,向上滚动时恢复,选中态同样使用流体镜片。图标用 data-icon 指定:home、layers、grid、spark、chat。文档中用 .sm-dock--static 展示。
玻璃分段控件加 3D 面板舞台:切换时离开的面板向一侧旋转后退,新面板从另一侧转入。data-sm-tabs-auto="7000" 开启自动轮播,当前标签下会出现进度线,悬停或聚焦时暂停。同一容器上加 data-sm-stack,等轴测层叠板会跟随切换,点击层叠板也能切换。
Coverflow 式的空间轮播:当前卡片居中并带倒影,两侧卡片转向并后退、逐层变暗。支持鼠标或手指拖动(拖动过程中实时跟手),也支持方向键、点击两侧卡片、玻璃分页器和前后按钮。窄屏下自动减小旋转角度与纵深。
工程规则与 AI 辅助分析接入设计流程。
PRACTICE · 01订单、物料、工序、扫码与报工一体化。
PRACTICE · 02通知、问答、文件与智能体路由。
PRACTICE · 03协作过程全程可追溯。
PRACTICE · 04卡片用于并列的三项能力,默认带 3D 倾斜与景深(见“3D 倾斜”)。data-sm-glyph 用 5×5 点阵画出图形:h 是人,a 是智能体,. 是空位,行之间用 | 分隔;data-sm-glyph-size="lg" 是大号。悬停时点阵依次放大。
搭建调度器、智能体、技能、消息队列、权限边界与自动化运行机制。
浮在动态画面上的玻璃面板,用来显示实时读数或联系方式。首屏面板通过 data-sm-readout-* 与矩阵画布连接,数值会实时更新。
首页和实验室首屏使用的作品展示。它是分段 Tab 的 .sm-tabs--deck 变体:未选中的面板按顺序层叠在后方,切换时最前面的卡片被抛出、再回到队尾。外层的 .sm-deck-tilt 给整组卡片一个斜向视角。

产品截图与示意画面统一放进 .sm-screen:浏览器式顶栏、固定比例的视窗(--sm-ar)、可选的玻璃角标。设备框始终是深色,以保持截图本身的观感。

程序绘制的蓝图式动画,适合装饰性场景;项目展示请使用「产品界面演示」。<canvas data-sm-art="类型">,颜色全部取自主题 token,只在可见时运行。可用类型:pcb、probe、cantilever、erp、mes、wave、calendar、deploy、license、scope、gantt、graph、matrix-test。
项目页的组合:容器 data-sm-filter,筛选条 data-sm-filter-bar 中的按钮带 data-filter,卡片带 data-cat(可多个,空格分隔)。筛选时镜片流向新按钮,卡片以 3D 方式重新入场。卡片加 data-sm-open="#id" 打开玻璃详情页 <dialog class="sm-dialog">;手机上详情从底部升起。
点击查看详情。
点击查看详情。
用发丝线分隔的关键数字,数字配合 data-sm-count 滚动出现。只放项目文档中能核实的数字。
用 1px 间隙拼出发丝线网格,适合 4–6 条同级内容。列数由 --sm-cols 指定,窄屏时自动降为 2 列、1 列。
智能体读取上下文、执行任务、沉淀结果。
安全的系统知道什么时候不能执行。
赋能案例的占位状态。字段结构就是正式案例的模板:行业、赋能范围、交付形态、成效指标。案例发布后,把 .sm-skeleton 换成文字并去掉“待发布”标签即可。
数字使用宋体与等宽数字,放进 data-sm-count 后,进入视口时从 0 滚动到目标值。单位用 <sup>。
用于需要复制的信息,值可以整段选中。复制按钮用 data-sm-copy-target 指向值,或用 data-sm-copy 指定复制文本;剪贴板不可用时,会自动选中文字。
官网暂时不用表单,这个组件为后续收集合作意向预留。输入框聚焦时出现琥珀色描边与外环。
玻璃材质的轻量反馈,从底部中间弹出,2.4 秒后消失;手机端会避开底栏。可以写成 data-sm-toast="文案",也可以调用 SM.toast('文案')。
运行时会复制一份内容,实现无缝循环;鼠标悬停时暂停。速度由 --sm-marquee-dur 控制。
整页只出现一次的大号宋体句子,<em> 部分显示为琥珀色。
于无形处连接万物,
于微小处重塑世界。
项目页里每张卡片都是一段精简但真实的产品界面,自动演示一遍核心流程。它们由三部分组成:.sm-ui 界面组件、data-sm-fit 缩放容器、data-sm-play 演示播放器。所有数据都是占位示例。
固定在 960×600 的画布上设计,像素级可控;放进任何尺寸的容器都由 data-sm-fit 等比缩放。界面始终是深色,和设备框一致。可用的零件:
| 类名 | 用途 |
|---|---|
.sm-ui / --bare | 界面根节点:顶栏 + 侧栏 + 主区;--bare 去掉侧栏 |
__top __brand __crumb __avatar | 顶栏:应用名、面包屑、状态胶囊、头像 |
__side __nav (.is-cur, --dot) | 侧栏导航,当前项高亮;--dot 用 --c 指定状态点颜色 |
__main __cols __grid __panel __h | 主区布局:分栏(--cols)、网格(--g)、面板与面板标题 |
__field (.is-miss) | 表单字段;内部 div 加 .is-on 发光,data-ph 为空值占位 |
__chip (--accent --human --ok --bad, .is-done) | 状态胶囊 |
__btn (--primary, .is-press) | 按钮;.is-press 模拟按下 |
__table __tr (.is-hl) | 表格,列宽用 --tc,首行为表头 |
__msg (--me) __who __input | 对话气泡与输入栏 |
__steps __step (.is-on .is-run) | 流程清单:未开始 / 进行中 / 完成 |
__bar (--human) | 进度条,--to 为目标宽度,加 .is-on 后填充 |
__big __muted __mono __term __toast __glow | 大数字、弱文字、等宽、终端、右下角提示、强调描边 |
在 .sm-ui 上加 data-sm-play="循环毫秒",里面的元素用属性声明在第几毫秒发生什么。只在可见时播放;不可见或开启“减少动态效果”时直接显示最终状态,所以缩略图和截图总是完整的。
| 属性 | 效果 |
|---|---|
data-at="1200" | 第 1.2 秒出现(淡入上浮),或加上下面的类 |
data-cls="is-press" | 不做出现动画,而是在该时刻添加这个类(状态切换) |
data-off="1500" | 在该时刻移除类,用于按下、临时高亮 |
data-type="文字" | 逐字打出这段文字,带光标 |
data-count="40" | 数字滚动到目标值 |
data-do="draw" | SVG 线条描绘,配合 style="--len:路径长度" |
data-do="pop" / fade / out | 弹出 / 仅淡入 / 在该时刻消失 |
<div class="sm-fit" data-sm-fit> 铺满父容器,并把里面 960×600 的 .sm-ui 等比缩放到容器大小(写入 --sm-k)。通常放在 .sm-screen__view 或 .sm-project__visual 里,同一段界面既能做 360px 宽的卡片缩略图,也能做详情页里的大图。
<canvas class="sm-probe3d" data-sm-probe3d>:进入视口时才从 cdnjs 按需加载 three.js,渲染一根程式化的 MEMS 探针。铜种子层、镍本体、金镀层沿厚度方向周期性展开,弹簧做触压动作,铑针尖落在焊盘上。可拖动旋转,松手 2.5 秒后恢复自动旋转;离开视口暂停渲染。
.sm-embed[data-sm-embed] 把站内托管的完整应用(如 etchlab/)用 iframe 嵌入页面。进入视口后开始计时,12 秒内没有加载成功、或被宿主环境拦截时,自动切换为 .sm-embed__fallback 里的静态画面和“在新页面打开”按钮。
所有动效都由 simatrix.js 驱动;开启系统的“减少动态效果”后,全部降级为静止状态。首屏内容总是直接可见,只有首屏以下的元素才会等待渐显。3D 倾斜和磁吸只在使用鼠标的设备上生效。
品牌的核心动效:一片向地平线延伸的网格平面。琥珀色光柱是人类判断节点,青色方块是沿网格移动的智能体,身后的轨迹代表上下文。智能体每到达一个节点,就记为一次“协同事件”:平面上泛起环形波纹,节点之间升起一道弧线。鼠标在平面上移动时,会变成一个临时节点吸引附近的智能体,镜头也会随鼠标轻微平移。画布离开视口时自动暂停。
data-sm-tilt="9":元素朝鼠标方向倾斜,数值是最大角度,同时表面出现一道跟随指针的反光。子元素加 data-sm-depth="40" 会沿 Z 轴浮起相应的像素,倾斜时形成前后错位的立体感。
data-sm-reveal:元素上移、去模糊并淡入。可选值有 fade、scale、left,以及 rise3d(从下方后仰的角度立起)。在父元素上加 data-sm-stagger,子元素会依次出现。
data-sm-split 把标题拆成单字,带透视地依次立起;标点会跟着前一个字一起出现,读屏软件仍然读出完整句子。首屏标题加载后立即播放;值为 view 时,等进入视口再播放。
data-sm-magnetic="0.28",数值是跟随系数。
data-sm-spotlight:一圈跟随鼠标的琥珀色径向光斑,卡片和矩阵格已经内置所需的定位。
data-sm-count="80",可选 data-sm-duration(单位毫秒,默认 1600)。小数位数和目标值保持一致。
data-sm-scramble:英文等宽标签从随机字符逐位还原成原文。进入视口时播放一次,鼠标悬停时再次播放。只用于英文标签。
data-sm-parallax="-0.14":滚动时元素以给定系数位移,负值表示比页面滚得更快,向上离开。加上 data-sm-fade 后会同时淡出。官网首屏文案使用了这个效果,往下滚动就能看到它与透视矩阵之间的层次分离。
官网分为首页、能力、项目、实验室、关于、联系六个页面。页面之间使用跨文档 View Transitions:旧页面向后退入景深并模糊,新页面从前方落位;导航胶囊和底栏保持不动,镜片停在新页面。浏览器不支持时退化为普通跳转。导航链接加 aria-current="page" 即可让镜片定位到当前页。
| 声明 | 作用 | 参数 |
|---|---|---|
.sm-glass / data-sm-glass | 液态玻璃材质 / 指针跟随高光 | .sm-glass--strong |
SM.lensTo(lens, el) | 把流体镜片移到目标元素 | 第三个参数为 true 时直接定位 |
data-sm-logo | 注入 Logo | mark 只显示图形 |
data-sm-arrow | 按钮末尾追加箭头 | — |
data-sm-nav | 导航滚动态、当前章节镜片 | 链接需为 #id |
data-sm-dock | 手机底栏,滚动时收窄 | data-icon |
data-sm-tabs | 分段 Tab + 3D 面板 | data-sm-tabs-auto(毫秒);事件 sm:tab |
data-sm-stack | 等轴测层叠板跟随 Tab | data-sm-plate |
data-sm-carousel | 3D 轮播 | data-sm-prev data-sm-next data-sm-pager data-sm-counter |
data-sm-tilt | 3D 倾斜与反光 | 最大角度;子元素 data-sm-depth |
data-sm-parallax | 滚动视差 | 系数;data-sm-fade |
data-sm-progress | 阅读进度条 | — |
data-sm-theme-toggle | 深浅主题切换 | SM.theme.set('light' | 'dark' | null) |
data-sm-reveal | 进入视口渐显 | fade scale left rise3d |
data-sm-stagger | 子元素依次渐显 | 间隔 --sm-stagger |
data-sm-split | 逐字升起 | view |
data-sm-magnetic | 磁吸跟随 | 系数,默认 0.28 |
data-sm-spotlight | 指针光斑 | — |
data-sm-count | 数字滚动 | data-sm-duration |
data-sm-scramble | 英文标签解码 | data-sm-scramble-host |
data-sm-glyph | 5×5 点阵图形 | data-sm-glyph-size="lg" |
data-sm-marquee | 无缝跑马灯 | --sm-marquee-dur |
data-sm-copy / data-sm-copy-target | 复制,失败时选中文字 | 文本或选择器 |
data-sm-toast | 点击弹出提示 | 文案;或 SM.toast(msg, ms) |
canvas[data-sm-matrix] | 透视矩阵画布 | data-sm-agents data-sm-humans data-sm-span data-sm-horizon data-sm-readout data-sm-readout-agents data-sm-readout-humans |
.sm-tabs--deck | 作品叠卡 | 外层 .sm-deck-tilt |
canvas[data-sm-art] | 项目示意画 | pcb · probe · cantilever · erp · mes · wave · calendar · deploy · license · scope · gantt · graph · matrix-test |
data-sm-filter | 玻璃筛选条 + 卡片筛选 | data-filter / data-cat / data-sm-filter-count |
data-sm-open | 打开玻璃详情页 | dialog.sm-dialog,内部 data-sm-close |
.sm-ui | 960×600 产品界面组件 | 见「界面组件」 |
data-sm-fit | 把 .sm-ui 等比缩放进容器 | 写入 --sm-k;SM.fit(el) |
data-sm-play | 产品演示播放器 | data-at data-cls data-off data-type data-count data-do |
canvas[data-sm-probe3d] | 3D MEMS 探针 | 按需加载 three.js r128 |
data-sm-embed | 站内应用嵌入,失败回退 | .sm-embed__frame / .sm-embed__fallback |
SM.init(scope) | 为动态插入的内容绑定以上全部行为 | 默认 document |