Files
o62lte-customising-plan/s5e-pressure-anim/tools/paths.py
T

51 lines
2.2 KiB
Python
Raw Normal View History

2026-10-03 00:01:12 +08:00
"""项目里所有脚本的路径入口 —— 换机器 / 换目录只看这一个文件。
默认布局(都相对项目根):
inputs/target/ 目标固件的分区镜像(要自己放,见 README)
inputs/source/ 素材来源的分区镜像(要自己放)
inputs/fonts/ 可选:MiSans-*.ttf(渲染预览用;不给就从 vela_font.bin 里取)
vendor/ 第三方 LuaDevTemplate-main(里面有 Compiler.exe,要自己放)
.work/ 构建工作区(产物,可删)
dist/ 交付的 .face
docs/ 说明与预览图
环境变量可覆盖:ICON_EDIT_INPUTS / ICON_EDIT_VENDOR / ICON_EDIT_WORK /
ICON_EDIT_DIST / ICON_EDIT_DOCS / ICON_EDIT_FONTS
"""
import os
PROJ = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
def _p(env, default):
return os.environ.get(env) or os.path.join(PROJ, default)
INPUTS = _p('ICON_EDIT_INPUTS', 'inputs')
VENDOR = _p('ICON_EDIT_VENDOR', 'vendor')
WORK = _p('ICON_EDIT_WORK', '.work')
DIST = _p('ICON_EDIT_DIST', 'dist')
DOCS = _p('ICON_EDIT_DOCS', 'docs')
FONTS = os.environ.get('ICON_EDIT_FONTS') or os.path.join(INPUTS, 'fonts')
TEMPLATE = os.path.join(VENDOR, 'LuaDevTemplate-main')
INPUT_TARGET = os.path.join(INPUTS, 'target')
INPUT_SOURCE = os.path.join(INPUTS, 'source')
ASSETS = os.path.join(PROJ, 'assets')
for _d in (WORK, DIST, DOCS, INPUT_TARGET, INPUT_SOURCE):
os.makedirs(_d, exist_ok=True)
# ------------------------------------------------------------------ 本项目的事实
# 目标:Xiaomi Watch S5 eSIM 46mm(p62lte, 480x480, Lua 5.4 宿主)
# 素材来源:Xiaomi Watch S5 41mm(q63, v4.101.020)
TARGET_IMAGE = os.path.join(INPUT_TARGET, 'vela_health.bin') # 要改的分区(卷名就是 health)
SOURCE_IMAGE = os.path.join(INPUT_SOURCE, 'vela_app.bin') # q63 的 100 帧在这里
TARGET_VOLUME = 'health'
DIRP = 'pressure/measure/'
FACE_W = FACE_H = 464 # 槽位是 464x464 I8 + RLE
SRC_W = SRC_H = 480 # q63 的帧是 480x480
SCREEN = 480 # 表盘界面 480x480
WF_ID = '462150102' # 两份盘共用(462 = S5 家族)
DEVICE_TYPE = '462'
PREVIEW = 326 # Compiler.exe 对 462 设备强制 326x326