Skip to content

设置

统一设置 schema 包含 40+ 个可配置属性,并应用于所有部署目标。

源码: src/lib/settings.ts

概览

所有可配置项都集中定义在 settings.ts 中,包括类型、说明、最小/最大值和默认值。Web 应用、VSCode 扩展、桌面应用和 Jupyter widget 共用同一套 schema。

按类别划分的设置

原子显示

设置类型默认值说明
atom_radiusnumber0.4原子球半径(A)
sphere_segmentsnumber16球体质量(越大越平滑)
color_modestring"element"着色方式:element、coordination、wyckoff、custom
color_scalestring"Jmol"元素着色所用色标
show_image_atomsbooleantrue显示 PBC 镜像原子

化学键显示

设置类型默认值说明
show_bondsbooleantrue显示化学键
bond_thicknessnumber0.15键圆柱体半径
bonding_strategystring"distance"策略:distance、electronegativity、VESTA

标签

设置类型默认值说明
show_site_labelsbooleanfalse显示原子标签
show_indicesbooleanfalse显示原子索引号
label_colorstring"white"标签文字颜色
label_sizenumber14标签字体大小(px)
label_offsetnumber[][0, 0]标签位置偏移

相机

设置类型默认值说明
camera_projectionstring"perspective"投影:perspective、orthographic
camera_fovnumber50视场角(度)
zoom_minnumber1最小缩放距离
zoom_maxnumber1000最大缩放距离
rotation_dampingnumber0.2旋转平滑系数
auto_rotatebooleanfalse自动旋转模式

晶格 / 晶胞

设置类型默认值说明
show_cellbooleantrue显示晶胞线框
show_cell_vectorsbooleantrue显示晶格矢量箭头
cell_opacitynumber1.0晶胞边透明度

光照

设置类型默认值说明
ambient_lightnumber0.5环境光强度
directional_lightnumber0.8方向光强度
depth_cueingnumber0雾化效果强度(0 表示关闭)

控制

设置类型默认值说明
rotation_speednumber1.0鼠标旋转灵敏度
zoom_speednumber1.0滚轮缩放灵敏度
pan_speednumber1.0中键平移灵敏度

轨迹

设置类型默认值说明
trajectory_fpsnumber10播放速度(帧/秒)
trajectory_auto_playbooleanfalse加载后自动播放
trajectory_display_modestring"structure"布局模式

对称性

设置类型默认值说明
symprecnumber0.01对称性容差(A)
symmetry_algorithmstring"moyo"后端:moyo、spglib

原子操作

设置类型默认值说明
keyboard_step_sizenumber0.1方向键移动距离(A)
frozen_atom_indicatorstring"ring"视觉样式:ring、crosshatch、dimmed

平台上下文

设置可以限定到特定部署上下文:

上下文说明
web浏览器 Web 应用
editorVSCode 扩展
notebookJupyter / Marimo 小组件
all所有平台(默认)

设置 Schema

每个设置按下面的结构定义:

typescript
{
  key: string           // Setting identifier
  type: "number" | "string" | "boolean"
  default: any          // Default value
  description: string   // Human-readable description
  min?: number          // Minimum (for numbers)
  max?: number          // Maximum (for numbers)
  options?: string[]    // Valid values (for enums)
  context?: string[]    // Platform contexts
}

持久化

  • Web app - 设置存储在 localStorage
  • Desktop app - 设置通过 Tauri IPC 持久化,重启后保留
  • VSCode - 设置位于 VSCode 工作区/用户配置
  • Jupyter - 设置作为 widget props 传入

基于 AGPL-3.0-or-later 许可证发布。