跳至主要内容
版本历史

更新日志

记录 EDIC 设计系统的每次版本更新,包括新增功能、修复与变更。

v1.10.2

修复

  • audit: 修复审计发现的 3 个问题

v1.10.1

修复

  • release: 发布流程改为 release-please 官方自动 tag 模型
  • release: 发布流程改为 release-please 官方自动 tag 模型
  • release: 响应评审修复 P1/P2/P3(5 条)

文档

  • release: 同步自动 tag 模型 + 修正版本引用

v1.10.0

新增

  • charts: 添加统一 SVG 图表引擎,支持 10 种图表类型
  • charts: 添加统一 SVG 图表引擎,支持 10 种图表类型
  • skill: add references/ directory for R dimension improvement
  • skill: improve TRACE dimensions A/C/E for SkillHub evaluation
  • skill: R2 reliability — patterns, recipes, self-check, bug fixes
  • skill: R2 reliability — patterns, recipes, self-check, bug fixes
  • skill: R2 reliability — patterns, recipes, self-check, bug fixes
  • skill: R2 reliability — patterns, recipes, self-check, bug fixes
  • skill: R2 reliability — patterns, recipes, self-check, bug fixes
  • skill: R2 reliability — PATTERNS, RECIPES, self-check, bug fixes

修复

  • blog: remove inline styles and hardcoded values
  • blog: remove inline styles and hardcoded values to comply with design system
  • charts: aria-label 无标签时用 String(v) 兜底三元表达式
  • css: add missing ds-body-lg utility class, fix blog.html class ref
  • css: add missing ds-body-lg utility class, fix blog.html class ref, closes
  • pages: restore section bottom padding
  • release: post-merge-stamp detect gate 改为 manifest(修复 P1 阻断)
  • release: 修复 post-merge-stamp gate + 同步 AGENTS.md
  • release: 回退 skip-github-release 为 true,恢复手工 tag 发布
  • release: 回退 skip-github-release 为 true,恢复手工 tag 发布
  • release: 回退幽灵发布 + 简化 post-merge-stamp detect 逻辑
  • release: 清理死 outputs + 同步文档为手工 tag 流程
  • skill: correct TOKENS.md version ref; replace 64px with --ds-space-16 in RECIPES.md
  • skill: correct TOKENS.md version ref; replace 64px with --ds-space-16 in RECIPES.md
  • tooltip: add JS interaction + ARIA + role=tooltip, replace inline style with class, remove dead CSS, token padding/z-index/gap (closes )
  • tooltip: add JS interaction + ARIA support (closes )
  • tooltip: add JS interaction + ARIA support (closes )

文档

  • rewrite README — bilingual layout + professional badges

v1.9.1

修复

  • version: 同步 manifest / VERSION 至 1.9.1(版本发布校准)

v1.9.0

新增

  • release: 手工 tag 触发发布策略 + 自动 changelog 页生成

修复

  • release: add post-upload URL guard to prevent orphaned 'untagged-' asset URLs

重构

  • changelog: single-source from CHANGELOG.md + fix Argus review issues

v1.8.1

修复

  • ci: read release version from manifest in validate_release_notes.py
  • release: sync VERSION from tag name before packaging
  • skill: version skill ZIP filename for consistent release naming

文档

  • prompts: clarify Step 2 wording in AI collaboration guide

v1.8.0

新增

  • automation: Phase 1+3 — stamp placeholders + changelog generation system

修复

  • ci: skip version validators on Release PR + add post-merge-stamp failure alert
  • templates: correct version impact table + add fatigue/screenshot warnings

v1.7.0

新增

  • add Layer 2 cross-file validators (cssref, darkmode, verext, hardcode)
  • automation: add release-please automated release pipeline
  • brand rename — CGArtLab Design System → EDIC Design System
  • CC BY 4.0 使用条款全面修订 - 法律合规性审查
  • CGArtLab Design System v1.0
  • changelog: add update log page and fix footer links
  • changelog: add update log page and fix footer links
  • code: add Prism.js syntax highlighting + editorial olive-green theme
  • code: add Prism.js syntax highlighting with editorial olive-green theme
  • css: dark-mode gravitas & glow (v1.5.0) — warm olive undertone layer
  • governance: add engineering governance layer (v1.3.1)
  • hero: sliding word cycle, infinite scroll carousel, unified buttons
  • icons: add icons.svg sprite generator with full dev entrypoint integration
  • icons: generate icons.svg sprite file (100 symbols, XML-valid)
  • implement all 5 open issues
  • mobile-nav: fullscreen overlay menu — rewrite from scratch
  • mobile-nav: rewrite from scratch — fullscreen overlay menu
  • nav: frosted-acrylic glass navbar + mobile drawer (dark-mode aware)
  • nav: frosted-acrylic glass on navbar + mobile drawer (dark-mode aware)
  • opencode: add Argus auto PR review workflow
  • opencode: add Argus GitHub App workflow
  • opencode: add Argus GitHub App workflow
  • opencode: add auto PR review trigger + app token fix
  • overhaul mobile navigation menu
  • overhaul mobile navigation menu
  • toc: unify handbook/docs/terms TOC into .ds-pagenav component
  • tokens: expand tokens.json from ~30% to ~80% coverage — dark mode colors, breakpoints, z-index, duration, easing, shadow, tracking, leading, weight scales (closes , )
  • tools: add icons.svg generator from scripts.js ICONS array
  • tools: add stamp_version.py and dynamic VERSION reading in PDF
  • unify version stamping across all project files
  • v1.1 — multi-page showcase website, brand logo, motion system, AI prompts & Skill
  • v1.1 — 展示网站 + 品牌 Logo + 动效 + AI 提示词/Skill
  • versions: apply stamp_version to all HTML and MD resources
  • versions: introduce stamp_version.py for centralized version sync
  • 合并视觉手册内容到文档页面
  • 完成设计系统v1.0正式版本发布
  • 新增公司官网第二版本页面及关联配置文件
  • 重构主题切换按钮,整合到导航栏并优化移动端体验

修复

  • 下载页面核心资源板块改为两排三列布局
  • replace bare oklch in company.html + styles.css with tokens
  • add changelog.html to stamp targets, scripts.js version placeholder, footer-end div
  • Fix validate_hardcode.py bugs and replace bare oklch in styles.css
  • remove hero background glow, enable LAN serve, add preview workflow docs
  • a11y: add :focus-visible to .ds-toc-item for keyboard navigation (closes )
  • a11y: add forced-colors rule for .ds-gradient-text to fix WHCM visibility (closes )
  • a11y: add main landmark + fix skip-link target across 5 pages (closes )
  • a11y: add prefers-color-scheme: dark CSS fallback for dark-system users before JS loads (closes )
  • a11y: restructure resume.html cards to fix nested anchor/block-level invalid HTML (closes )
  • add meta descriptions to 4 HTML files
  • bump asset cache-busting version 1.1.5 -> 1.2.0
  • bump asset version v1.1.5 -> v1.2.0 (cache-bust the mobile nav)
  • ci: align release.yml checkout action to @v5 matching ci.yml (closes )
  • CI: exclude continue-on-error validators from blocking check + improve pre-commit hook
  • ci: lock playwright version in CI workflow for reproducible builds
  • ci: root cause - replace bash ternary with if/elif exit code handling
  • code: Prism code-block theming + OKLch migration of pre-existing anti-patterns
  • correct CC BY 4.0 adapter-license freedom per Codex review
  • critical-c4: add auto-dismiss functionality to Toast component
  • css: .ds-table-wrap 健壮性 — a11y 焦点环 + overflow-y 显式声明
  • css: add min-width:0/max-width:100% to .ds-compat-item for narrow-viewport overflow fix (closes )
  • css: make .ds-footer-brand span full width at tablet breakpoint (closes )
  • css: remove ::before/::after pseudo-elements from .ds-hero-meta for IE compatibility (closes )
  • css: remove body duplicate transition, page-btn white token, report.html meta (closes , , )
  • css: remove duplicate overflow-wrap from .ds-text-cjk to fix self-override (closes )
  • css: touch-safe hover for .ds-feature-card + responsive .ds-stat-num clamp (closes , )
  • css: unify handbook pagenav spacing, fix responsive overflow and stale versions
  • css: 桌面端浮动 TOC 重设计 + 移动端 TOC 不再遮挡主题切换按钮
  • design-system: replace bare oklch in report.html and resume.html with --ds-* tokens, closes
  • design-system: resolve all verified style inconsistencies and hardcoded values
  • div balance in handbook + add skip-to-content, robots.txt, sitemap, og:image
  • docs: resolve 16 cross-document contradictions for v1.4.3
  • docs: 冒烟测试 fix 触发 release-please
  • footer: replace h3 with semantic p.ds-footer-col-heading
  • footer: update copyright to CGArtLab, add blog link, move sitemap under 关于
  • footer: update copyright to CGArtLab, add blog link, move sitemap under 关于
  • footer: 替换 h3 为语义化 p.ds-footer-col-heading
  • handbook: close 640-1023px TOC dead zone, fix mobile active state, unify base
  • handbook: extract timeline/contact into standalone sections for TOC navigation
  • handbook: extract timeline/contact into standalone sections for TOC navigation
  • handbook: mobile overflow protection for #typography inline-style tables
  • handbook: mobile spacing — cover eyebrow gap 24→16px, pagenav top margin 16px
  • handbook: remove C,G subtitle and add TOC top margin on mobile
  • handbook: remove hidden pagenav from mobile layout — eliminates blank gap
  • html: add scripts.js to blog.html to enable theme/dark mode and all progressive enhancements (closes )
  • html: rename duplicate theme-toggle-btn id to theme-toggle-btn-fixed on floating buttons (closes )
  • icons: add presentation attributes to SVG sprite symbols
  • increase mobile drawer glass opacity to 92-94% + cache-bust CSS/JS
  • index: differentiate CTA button hierarchy - primary/secondary/ghost
  • index: spec compliance — 8 issues across styles.css & index.html (v1.6.2)
  • index: widen CTA container and remove measure constraint to prevent single-character orphan
  • interactions: 5 UI/a11y bugs + 87-test unit suite (v1.5.2)
  • interactions: a11y, copy feedback, memory leaks, and AGENTS.md rewrite
  • interactions: a11y, copy feedback, memory leaks, and AGENTS.md rewrite
  • js: cycleTheme reads data-theme-mode instead of parsing Chinese aria-label (closes )
  • js: TOC IntersectionObserver picks topmost section, adds 16ms debounce to prevent rapid flicker (closes )
  • makefile: use cross-platform clean with -delete for .pyc files
  • misc: bump stale v1.0 version comments to v1.3.1 in styles.css and scripts.js (closes )
  • mnav: let mobile menu links navigate without aborting page load
  • mobile drawer — revert to solid background, remove backdrop-filter
  • mobile nav drawer solid background + document mobile nav spec
  • mobile nav drawer uses frosted glass (blur-xl + 78% opacity)
  • mobile navbar fully opaque + hamburger button with visible border
  • mobile-nav: 3-bar hamburger, slide-in drawer with backdrop dimming
  • mobile-nav: cohesive solid menu + fix backdrop stacking-context bug
  • mobile-nav: cohesive solid menu, fix backdrop stacking over drawer
  • mobile-nav: double rAF delay to override iOS Safari scroll restoration
  • mobile-nav: improve menu interaction and scroll behavior
  • mobile-nav: include trigger button in focus trap
  • mobile-nav: overhaul mobile drawer UI
  • mobile-nav: overhaul mobile drawer UI — overlay blur, divider lines, hover slide, cleaner hamburger
  • mobile-nav: proper scroll locking and version bump to v1.5.1
  • mobile-nav: reconcile PR/ into one coherent best version
  • mobile-nav: reconcile PR/ merge into one coherent best version
  • mobile-nav: remove dialog role from desktop nav, save/restore body overflow styles
  • mobile-nav: remove dialog role from desktop nav, save/restore body overflow styles, add aria-label
  • mobile-nav: replace position:fixed with overflow:hidden approach
  • mobile-nav: resolve Codex review residual issues
  • mobile-nav: restore saved body overflow unconditionally, add align-items:stretch
  • mobile-nav: set scroll position BEFORE removing position:fixed
  • mobile-scroll: add explicit touch-action to TOC disclosure on mobile
  • mobile-scroll: change ds-pagenav-disclosure overflow to visible on mobile
  • mobile-scroll: use overscroll-behavior contain on disclosure and list
  • mobile: release scroll lock reliably; fix sitemap dead link
  • mobile: release scroll lock reliably; fix sitemap dead link
  • opencode: add git identity config
  • opencode: add git identity config for Argus bot
  • opencode: add git identity config, fix CRLF corruption
  • opencode: add git remote with app token for push permissions
  • opencode: add guoxue and fix git push permissions via x-access-token URL
  • opencode: add id-token:write, remove invalid token input, skip synchronize
  • opencode: persist-credentials false + app token remote
  • opencode: persist-credentials false + x-access-token remote
  • opencode: remove persist-credentials false, keep remote override
  • opencode: use credential helper store instead of remote URL token
  • opencode: use token input instead of use_github_token for PR auto-review
  • pagenav: stop scroll-spy from yanking the whole page (issue )
  • pagenav: stop scroll-spy from yanking the whole page (issue )
  • pages: migrate to workflow-based Pages + restore v1.6.0 stamp
  • prepend the trigger to the focusable elements array so Tab
  • prevent Argus self-triggering, add concurrency, upgrade actions
  • release: add include-component-in-tag: false to prevent duplicate tag prefix
  • remove dark overlay when mobile menu opens
  • replace href=# with javascript:void(0) in blog.html nav links (closes )
  • resolve 19 heading hierarchy jumps across 7 HTML files
  • resolve 3 P0 mobile issues, closes
  • restore CNAME for GitHub Pages custom domain (designsystem.cgartlab.com)
  • rewrite mobile nav from working version f52c293
  • styles: add --d animation-delay CSS variable default (0ms) in :root
  • styles: replace ch-unit max-width on hero-lead with min(660px, 100%) for CJK correctness
  • tokens: sync scripts.js letter-spacing and font-stack values with styles.css (closes , )
  • tokens: sync version to 1.3.1 (closes )
  • tools: exclude string literal braces from function depth count in validate_naming.py
  • tools: implement accurate OKLch->sRGB conversion in generate_pdfs.py
  • tools: validate_a11y.py — fix has_h1 dead code and _has_accessible_name text check (closes , )
  • tools: validate_html checks description/title; validate_links checks script src (closes , )
  • tools: validate_tokens.py uses brace-depth scanner for :root blocks to handle nested @media (closes )
  • unify handbook TOC with docs/terms sidebar style and fix mobile nav rollback
  • unify section spacing to 64px across all pages
  • update Reference links to valid edic.cgartlab.com URLs (v1.5.5)
  • validator false positives + responsive mobile overrides + mobile TOC
  • version-sync: address Codex review P1/P2 feedback on PR
  • 修复 system 模式跟随系统变化 + 为 company.html 添加主题按钮
  • 动画结束后移除 stroke 描边,保持与 logo-mark 一致

重构

  • footer: unify footer layout, update copyright, and add site map
  • footer: unify footer layout, update copyright, and add site map
  • js: replace all var with const/let in scripts.js per project coding rules (closes )
  • mobile nav aligned with design system tokens & patterns
  • replace 22 inline onclick handlers with event delegation
  • resume: 重写简历模板与个人信息
  • 重构暗色模式切换功能,统一主题按钮样式和逻辑

文档

  • add CLAUDE.md for Claude Code guidance
  • add CLAUDE.md for Claude Code guidance
  • AGENTS.md: update doc generation time and add notes
  • changelog: add code style specification entry under [Unreleased]
  • changelog: add code style specification entry under [Unreleased]
  • comprehensive v1.5.0 sync — domain, tokens, prompts, SKILL, README rewrite
  • comprehensive v1.5.0 sync — domain, tokens, prompts, SKILL, README rewrite
  • document icons.svg generator in AGENTS and CHANGELOG
  • fix handbook timeline fiction and sync tokens/SKILL/validator
  • fix prompts.html/system-prompt.md accuracy and restore CNAME
  • readme: rewrite — no emoji, concise, accurate v1.5.0
  • sync: align all documentation with v1.5.0 codebase
  • update AGENTS.md date to 2026-06-04
  • update AGENTS.md generation date to 2026-05-29
  • workflow: document stamp_version.py tool and updated release flow
  • 更新 README.md,反映最近的代码变更
  • 添加极度详细的网站开发指南文档
  • 添加极度详细的网站开发指南文档
  • 统一品牌描述,强调面向非设计师用户

样式

  • hero: 重新设计首页 Hero 区域版式
  • 完善中文排版规范与细节优化

v1.6.2 — 2026-06-22

修复(首页设计系统规范合规性)

  • [P0] `ds-stat-num`/`ds-stat-label` 双重 CSS 定义styles.css 中存在两套同名规则,第二套(旧 .ds-stat-grid 体系)覆盖第一套(.ds-stats-grid 体系),导致首页统计数字 display:block 丢失、字号异常、标签样式错误。移除第二套中的重复选择器,旧体系仅保留布局类。
  • [P0] `ds-eyebrow` `letter-spacing` 被 `!important` 强制覆盖:全局 CJK 基线层将 .ds-eyebrow 的字间距 !important 压至 tracking-wider(0.08em),而组件定义规定 tracking-widest(0.12em)。从 !important 规则中移除 .ds-eyebrow,令组件定义正常生效。
  • [P1] Hero 区域语义标签<header class="ds-hero-section"> 改为 <section aria-label="Hero">,避免页面出现两个 banner landmark 混淆屏幕阅读器。
  • [P1] `ds-hero-section` 补充分隔线:加入 border-bottom: 1px solid var(--ds-color-border),融入全站 section 分隔线节奏。
  • [P1] `.ds-step-body` 标题层级统一:三步骤中第 1 步误用 <h3>,其余用 <h4>,且 CSS 只定义 h4 样式;统一改为 <h4>
  • [P1] Footer CC BY 4.0 链接移除 inline stylestyle="color:var(--ds-accent);text-decoration:none" 改为 class ds-text-accent ds-footer-cc(新增 .ds-footer-cc 工具类)。
  • [P2] Hero 主操作层级:Hero 区块 4 个 CTA 按钮全用 ds-btn--secondary;首个按钮「浏览视觉手册」改为 ds-btn--primary,明确核心转化路径。
  • [P2] 卡片内标题语义:Features(8 张)、System TOC(8 张)、Examples(4 张)共 20 处非文档结构性卡片标题从 <h3> 改为 <p class="ds-card-heading">,新增 .ds-card-heading 工具类,视觉不变但不再污染文档大纲。CSS 中 ds-feature-cardds-toc-item 的选择器同时兼容 h3.ds-card-heading

v1.6.1

修复

  • pages: migrate to workflow-based Pages + restore v1.6.0 stamp

v1.6.0

新增

  • add Layer 2 cross-file validators (cssref, darkmode, verext, hardcode)
  • automation: add release-please automated release pipeline
  • brand rename — CGArtLab Design System → EDIC Design System
  • CC BY 4.0 使用条款全面修订 - 法律合规性审查
  • CGArtLab Design System v1.0
  • changelog: add update log page and fix footer links
  • changelog: add update log page and fix footer links
  • code: add Prism.js syntax highlighting + editorial olive-green theme
  • code: add Prism.js syntax highlighting with editorial olive-green theme
  • css: dark-mode gravitas & glow (v1.5.0) — warm olive undertone layer
  • governance: add engineering governance layer (v1.3.1)
  • hero: sliding word cycle, infinite scroll carousel, unified buttons
  • icons: add icons.svg sprite generator with full dev entrypoint integration
  • icons: generate icons.svg sprite file (100 symbols, XML-valid)
  • implement all 5 open issues
  • mobile-nav: fullscreen overlay menu — rewrite from scratch
  • mobile-nav: rewrite from scratch — fullscreen overlay menu
  • nav: frosted-acrylic glass navbar + mobile drawer (dark-mode aware)
  • nav: frosted-acrylic glass on navbar + mobile drawer (dark-mode aware)
  • opencode: add Argus auto PR review workflow
  • opencode: add Argus GitHub App workflow
  • opencode: add Argus GitHub App workflow
  • opencode: add auto PR review trigger + app token fix
  • overhaul mobile navigation menu
  • overhaul mobile navigation menu
  • toc: unify handbook/docs/terms TOC into .ds-pagenav component
  • tokens: expand tokens.json from ~30% to ~80% coverage — dark mode colors, breakpoints, z-index, duration, easing, shadow, tracking, leading, weight scales (closes , )
  • tools: add icons.svg generator from scripts.js ICONS array
  • tools: add stamp_version.py and dynamic VERSION reading in PDF
  • unify version stamping across all project files
  • v1.1 — multi-page showcase website, brand logo, motion system, AI prompts & Skill
  • v1.1 — 展示网站 + 品牌 Logo + 动效 + AI 提示词/Skill
  • versions: apply stamp_version to all HTML and MD resources
  • versions: introduce stamp_version.py for centralized version sync
  • 合并视觉手册内容到文档页面
  • 完成设计系统v1.0正式版本发布
  • 新增公司官网第二版本页面及关联配置文件
  • 重构主题切换按钮,整合到导航栏并优化移动端体验

修复

  • 下载页面核心资源板块改为两排三列布局
  • replace bare oklch in company.html + styles.css with tokens
  • add changelog.html to stamp targets, scripts.js version placeholder, footer-end div
  • Fix validate_hardcode.py bugs and replace bare oklch in styles.css
  • remove hero background glow, enable LAN serve, add preview workflow docs
  • a11y: add :focus-visible to .ds-toc-item for keyboard navigation (closes )
  • a11y: add forced-colors rule for .ds-gradient-text to fix WHCM visibility (closes )
  • a11y: add main landmark + fix skip-link target across 5 pages (closes )
  • a11y: add prefers-color-scheme: dark CSS fallback for dark-system users before JS loads (closes )
  • a11y: restructure resume.html cards to fix nested anchor/block-level invalid HTML (closes )
  • add meta descriptions to 4 HTML files
  • bump asset cache-busting version 1.1.5 -&gt; 1.2.0
  • bump asset version v1.1.5 -&gt; v1.2.0 (cache-bust the mobile nav)
  • ci: align release.yml checkout action to @v5 matching ci.yml (closes )
  • CI: exclude continue-on-error validators from blocking check + improve pre-commit hook
  • ci: lock playwright version in CI workflow for reproducible builds
  • ci: root cause - replace bash ternary with if/elif exit code handling
  • code: Prism code-block theming + OKLch migration of pre-existing anti-patterns
  • correct CC BY 4.0 adapter-license freedom per Codex review
  • critical-c4: add auto-dismiss functionality to Toast component
  • css: .ds-table-wrap 健壮性 — a11y 焦点环 + overflow-y 显式声明
  • css: add min-width:0/max-width:100% to .ds-compat-item for narrow-viewport overflow fix (closes )
  • css: make .ds-footer-brand span full width at tablet breakpoint (closes )
  • css: remove ::before/::after pseudo-elements from .ds-hero-meta for IE compatibility (closes )
  • css: remove body duplicate transition, page-btn white token, report.html meta (closes , , )
  • css: remove duplicate overflow-wrap from .ds-text-cjk to fix self-override (closes )
  • css: touch-safe hover for .ds-feature-card + responsive .ds-stat-num clamp (closes , )
  • css: unify handbook pagenav spacing, fix responsive overflow and stale versions
  • css: 桌面端浮动 TOC 重设计 + 移动端 TOC 不再遮挡主题切换按钮
  • design-system: replace bare oklch in report.html and resume.html with --ds-* tokens, closes
  • design-system: resolve all verified style inconsistencies and hardcoded values
  • div balance in handbook + add skip-to-content, robots.txt, sitemap, og:image
  • docs: resolve 16 cross-document contradictions for v1.4.3
  • docs: 冒烟测试 fix 触发 release-please
  • footer: replace h3 with semantic p.ds-footer-col-heading
  • footer: update copyright to CGArtLab, add blog link, move sitemap under 关于
  • footer: update copyright to CGArtLab, add blog link, move sitemap under 关于
  • footer: 替换 h3 为语义化 p.ds-footer-col-heading
  • handbook: close 640-1023px TOC dead zone, fix mobile active state, unify base
  • handbook: extract timeline/contact into standalone sections for TOC navigation
  • handbook: extract timeline/contact into standalone sections for TOC navigation
  • handbook: mobile overflow protection for #typography inline-style tables
  • handbook: mobile spacing — cover eyebrow gap 24→16px, pagenav top margin 16px
  • handbook: remove C,G subtitle and add TOC top margin on mobile
  • handbook: remove hidden pagenav from mobile layout — eliminates blank gap
  • html: add scripts.js to blog.html to enable theme/dark mode and all progressive enhancements (closes )
  • html: rename duplicate theme-toggle-btn id to theme-toggle-btn-fixed on floating buttons (closes )
  • icons: add presentation attributes to SVG sprite symbols
  • increase mobile drawer glass opacity to 92-94% + cache-bust CSS/JS
  • index: differentiate CTA button hierarchy - primary/secondary/ghost
  • index: widen CTA container and remove measure constraint to prevent single-character orphan
  • interactions: 5 UI/a11y bugs + 87-test unit suite (v1.5.2)
  • interactions: a11y, copy feedback, memory leaks, and AGENTS.md rewrite
  • interactions: a11y, copy feedback, memory leaks, and AGENTS.md rewrite
  • js: cycleTheme reads data-theme-mode instead of parsing Chinese aria-label (closes )
  • js: TOC IntersectionObserver picks topmost section, adds 16ms debounce to prevent rapid flicker (closes )
  • makefile: use cross-platform clean with -delete for .pyc files
  • misc: bump stale v1.0 version comments to v1.3.1 in styles.css and scripts.js (closes )
  • mnav: let mobile menu links navigate without aborting page load
  • mobile drawer — revert to solid background, remove backdrop-filter
  • mobile nav drawer solid background + document mobile nav spec
  • mobile nav drawer uses frosted glass (blur-xl + 78% opacity)
  • mobile navbar fully opaque + hamburger button with visible border
  • mobile-nav: 3-bar hamburger, slide-in drawer with backdrop dimming
  • mobile-nav: cohesive solid menu + fix backdrop stacking-context bug
  • mobile-nav: cohesive solid menu, fix backdrop stacking over drawer
  • mobile-nav: double rAF delay to override iOS Safari scroll restoration
  • mobile-nav: improve menu interaction and scroll behavior
  • mobile-nav: include trigger button in focus trap
  • mobile-nav: overhaul mobile drawer UI
  • mobile-nav: overhaul mobile drawer UI — overlay blur, divider lines, hover slide, cleaner hamburger
  • mobile-nav: proper scroll locking and version bump to v1.5.1
  • mobile-nav: reconcile PR/ into one coherent best version
  • mobile-nav: reconcile PR/ merge into one coherent best version
  • mobile-nav: remove dialog role from desktop nav, save/restore body overflow styles
  • mobile-nav: remove dialog role from desktop nav, save/restore body overflow styles, add aria-label
  • mobile-nav: replace position:fixed with overflow:hidden approach
  • mobile-nav: resolve Codex review residual issues
  • mobile-nav: restore saved body overflow unconditionally, add align-items:stretch
  • mobile-nav: set scroll position BEFORE removing position:fixed
  • mobile-scroll: add explicit touch-action to TOC disclosure on mobile
  • mobile-scroll: change ds-pagenav-disclosure overflow to visible on mobile
  • mobile-scroll: use overscroll-behavior contain on disclosure and list
  • mobile: release scroll lock reliably; fix sitemap dead link
  • mobile: release scroll lock reliably; fix sitemap dead link
  • opencode: add git identity config
  • opencode: add git identity config for Argus bot
  • opencode: add git identity config, fix CRLF corruption
  • opencode: add git remote with app token for push permissions
  • opencode: add guoxue and fix git push permissions via x-access-token URL
  • opencode: add id-token:write, remove invalid token input, skip synchronize
  • opencode: persist-credentials false + app token remote
  • opencode: persist-credentials false + x-access-token remote
  • opencode: remove persist-credentials false, keep remote override
  • opencode: use credential helper store instead of remote URL token
  • opencode: use token input instead of use_github_token for PR auto-review
  • pagenav: stop scroll-spy from yanking the whole page (issue )
  • pagenav: stop scroll-spy from yanking the whole page (issue )
  • prepend the trigger to the focusable elements array so Tab
  • prevent Argus self-triggering, add concurrency, upgrade actions
  • remove dark overlay when mobile menu opens
  • replace href=# with javascript:void(0) in blog.html nav links (closes )
  • resolve 19 heading hierarchy jumps across 7 HTML files
  • resolve 3 P0 mobile issues, closes
  • restore CNAME for GitHub Pages custom domain (designsystem.cgartlab.com)
  • rewrite mobile nav from working version f52c293
  • styles: add --d animation-delay CSS variable default (0ms) in :root
  • styles: replace ch-unit max-width on hero-lead with min(660px, 100%) for CJK correctness
  • tokens: sync scripts.js letter-spacing and font-stack values with styles.css (closes , )
  • tokens: sync version to 1.3.1 (closes )
  • tools: exclude string literal braces from function depth count in validate_naming.py
  • tools: implement accurate OKLch-&gt;sRGB conversion in generate_pdfs.py
  • tools: validate_a11y.py — fix has_h1 dead code and _has_accessible_name text check (closes , )
  • tools: validate_html checks description/title; validate_links checks script src (closes , )
  • tools: validate_tokens.py uses brace-depth scanner for :root blocks to handle nested @media (closes )
  • unify handbook TOC with docs/terms sidebar style and fix mobile nav rollback
  • unify section spacing to 64px across all pages
  • update Reference links to valid edic.cgartlab.com URLs (v1.5.5)
  • validator false positives + responsive mobile overrides + mobile TOC
  • version-sync: address Codex review P1/P2 feedback on PR
  • 修复 system 模式跟随系统变化 + 为 company.html 添加主题按钮
  • 动画结束后移除 stroke 描边,保持与 logo-mark 一致

重构

  • footer: unify footer layout, update copyright, and add site map
  • footer: unify footer layout, update copyright, and add site map
  • js: replace all var with const/let in scripts.js per project coding rules (closes )
  • mobile nav aligned with design system tokens & patterns
  • replace 22 inline onclick handlers with event delegation
  • resume: 重写简历模板与个人信息
  • 重构暗色模式切换功能,统一主题按钮样式和逻辑

文档

  • add CLAUDE.md for Claude Code guidance
  • add CLAUDE.md for Claude Code guidance
  • AGENTS.md: update doc generation time and add notes
  • changelog: add code style specification entry under [Unreleased]
  • changelog: add code style specification entry under [Unreleased]
  • comprehensive v1.5.0 sync — domain, tokens, prompts, SKILL, README rewrite
  • comprehensive v1.5.0 sync — domain, tokens, prompts, SKILL, README rewrite
  • document icons.svg generator in AGENTS and CHANGELOG
  • fix handbook timeline fiction and sync tokens/SKILL/validator
  • fix prompts.html/system-prompt.md accuracy and restore CNAME
  • readme: rewrite — no emoji, concise, accurate v1.5.0
  • sync: align all documentation with v1.5.0 codebase
  • update AGENTS.md date to 2026-06-04
  • update AGENTS.md generation date to 2026-05-29
  • workflow: document stamp_version.py tool and updated release flow
  • 更新 README.md,反映最近的代码变更
  • 添加极度详细的网站开发指南文档
  • 添加极度详细的网站开发指南文档
  • 统一品牌描述,强调面向非设计师用户

样式

  • hero: 重新设计首页 Hero 区域版式
  • 完善中文排版规范与细节优化

v1.5.3 — 2026-06-08

修复

  • 数据描述一致性:将全站散落的"23 核心组件"与"172 design tokens"统一为更准确的口径
  • README.md 顶部 feature 列表:172 design tokens → 200+ design tokens;23 components → 20 core + 5 add-on
  • index.html stats 块:核心组件 stat 拆分为"20 核心"和"5 附加"两个独立统计块,更精确反映组件库的层次
  • index.html / handbook.html / docs.html 描述文案:所有提及"23 核心组件"之处改为"20 核心 + 5 附加组件"
  • 同步更新 handbook.html 头部 meta 行与 footer 介绍段落
  • 版本号统一(1.5.2 → 1.5.3):
  • VERSION 1.5.2 → 1.5.3
  • tokens.json / package.json / package-lock.json version 字段 1.5.0 → 1.5.3(修正了此前 1.5.0/1.5.2/1.5.3 三方漂移的旧 bug)
  • changelog.html footer data-ds-version 元素 v1.5.0 → v1.5.3(该元素不在 stamp_version.pyHTML_TARGETS 列表中,需手工维护)
  • 其余 HTML / MD 文件 ?v= 与可见版本号已由 make stamp-version 自动同步

维护

  • 同步更新 docs/VERSIONING.md line 155 的"最新稳定版"引用

v1.5.5 — 2026-06-05

新增

  • 页面目录组件:统一页面目录组件 .ds-pagenav,支持桌面浮动与移动端折叠
  • 代码样式规范:Prism.js 语法高亮主题,橄榄绿编辑风格,16 种 token 类型
  • Layer 2 验证器:新增 cssref、darkmode、verext、hardcode 四个跨文件验证器
  • 图标 sprite 生成tools/generate_icons.py 可生成独立 SVG sprite

修复

  • TOC 命名空间冲突回归
  • Prism 代码块暗色模式可见性
  • 反模式清理(hex/rgba 迁移到 OKLch,死代码删除)

变更

  • 命名验证器白名单扩展(新增 7 个合法类别)
  • CI 治理完善make validate 退出码聚合
  • 暗色模式 Gravitas & Glow 增强

v1.5.4 — 2026-06-14

修复

  • 移动端滚动锁定无法释放:修复汉堡菜单关闭时 removeProperty("touchAction")(驼峰写法)无效操作导致的 touch-action:none 永久残留,改用 overflow: hidden 方案
  • 页脚「网站地图」死链index.html#sitemap 锚点不存在,已补充 id="sitemap" 到页脚分区
  • `.ds-progress` 组件变体缺失:新增 --success--error 颜色变体

维护

  • Release 流程自动化:新增 scripts/package_skill.pyscripts/package_release.py,重写 .github/workflows/release.yml 为三产物流程
  • `stamp_version.py`:将 skills/edic-design-system/README.md 纳入版本 stamp 目标
  • `.gitattributes`:新增 export-ignore*.zip binary

v1.5.2 — 2026-06-07

新增

  • 单元测试套件tests/unit/,Vitest + jsdom):8 个测试文件,87 个测试用例,全部通过(0 failures)。覆盖主题切换、移动端导航、PageNav TOC、滑块、Accordion、Tabs、Copy、ScrollReveal、图标网格、令牌表格、年份戳,以及所有上述 bug 的回归测试。npm test 运行。

修复

  • [B3] Copy 按钮错误状态后标签永久卡住.catch() 回调引用了只在 .then() 闭包中声明的 labeloriginal,导致 ReferenceError,恢复超时从未执行,按钮文字永远停在 "复制失败"。将两个变量提升到 .then()/.catch() 分叉前,两个分支均可访问。
  • [B5] PageNav TOC 页面加载时无初始高亮IntersectionObserver scroll-spy 仅在滚动时触发,页面首次加载时目录无任何项高亮。现在 pagenav 控制器初始化完成后立即调用 setActive() 激活第一项。
  • [B7] Tabs 缺少 WAI-ARIA roles 及 Arrow 键导航data-tabs 控制器只设置了 aria-selected,未设置 role=tablist(容器)、role=tab(按钮)、role=tabpanel(面板),也不支持 WAI-ARIA Tabs pattern 要求的 ArrowLeft/ArrowRight 键盘切换与 roving tabindex。
  • [B2] Accordion 头部无法键盘访问.ds-accordion-header<div> 元素,缺少 role="button"tabindex="0",Tab 键直接跳过,屏幕阅读器不识别为可交互元素。JS 控制器现在在初始化时统一注入两个属性。
  • [B1] Handbook Tabs 使用全局 `querySelectorAll` inline onclick:手册页 "14 · Tabs" 演示的 inline onclick 调用 document.querySelectorAll('.ds-tab') 全局选择所有 tab,若页面有多组 tabs 则互相干扰,且缺失 ARIA 和键盘导航。已重构为 data-tabs/data-tab/data-panel 声明式模式。
  • [B4] Accordion 与 Tabs 缺少 `:focus-visible` 样式:键盘聚焦 accordion header 和 tab 按钮时无可见焦点环。CSS 已补充 .ds-accordion-header:focus-visible.ds-tab:focus-visible 规则。

v1.5.1 — 2026-06-06

修复

  • 手册/文档页面异常回滚(issue #135):统一目录组件 .ds-pagenav 的 scroll-spy 在高亮当前章节时,对激活的目录链接调用了原生 Element.scrollIntoView({block:"nearest"})。该 API 会滚动所有可滚动祖先(含整个页面窗口),当目录处于正常文档流时(移动端折叠面板 / docs 侧栏),向下滚动会被反复拽回顶部,表现为"卡住无法下滑"和异常回滚。
  • 移动端现象:目录展开时无法继续下滑、目录收起时正常 —— 因为收起的 <details> 内链接 display:nonescrollIntoView 对隐藏元素无效。
  • 影响页面:handbook.htmldocs.htmlterms.htmlprompts.html(均使用 .ds-pagenav)。
  • 修复:新增 revealInNavScroller(),仅在目录自身存在内部滚动容器(桌面浮动 rail)时调整其 scrollTop,绝不触碰页面/窗口滚动位置。

v1.4.0 — 2026-06-04

Changed

  • Brand rename: CGArtLab Design System → EDIC Design System (Editorial Design Interface for Content)
  • New positioning: 同时面向人类和 Agent 的编辑主义设计系统
  • New philosophy: 为纷繁的数字内容建立温暖而克制的秩序
  • Updated package name: cgartlab-design-systemedic-design-system
  • Renamed: skills/cgartlab-design-system/skills/edic-design-system/
  • Renamed: cgartlabcom_qrcode.svgediccom_qrcode.svg
  • Updated: SVG logo text, favicon aria-label, all HTML titles and meta descriptions
  • Updated: prompt files (system-prompt.md, quick-prompt.md) to reference EDIC
  • Updated: README, AGENTS, CHANGELOG, CONTRIBUTING, docs — all brand strings and positioning copy
  • Updated: tools/generate_pdfs.py PDF output filenames → edic-ds-reference.pdf / edic-ds-color-card.pdf
  • Updated: report.html localStorage key cgartlab_smart_paginationedic_smart_pagination
  • Updated: DEVELOPMENT-GUIDE.md file tree references

Notes

  • GitHub org (cgartlab), repo name (cgartlab-design-system), and CNAME (edic.cgartlab.com) remain unchanged in this release — admin rename to be performed in a follow-up PR after DNS and repository redirects are configured
  • All in-repo URL references (edic.cgartlab.com, github.com/cgartlab/cgartlab-design-system, cgartlab.github.io) intentionally preserved
  • Color tokens (--ds-color-olive-*) unchanged
  • Personal contact identifiers ([email protected], @cgartlab social handle, keybase.io/cgartlab) intentionally preserved as they belong to the maintainer, not the brand

v1.4.3 — 2026-06-05

修复

  • 文档内容一致性审计:修复 12 处跨文档矛盾
  • 品牌名:CLAUDE.md 仍使用 "CGArtLab",全系统已更名为 EDIC → 已修复
  • 版本号:VERSION 1.4.2、package.json 1.4.0、README badge 自相矛盾(v1.4.2 vs 1.4.0)→ 统一为 1.4.3
  • 组件数量:index.html 说 "30+" 和 "25",handbook.html 说 "25" 和 "23",README 说 "25" → 统一为 23(实际统计)
  • 流程文档:VERSIONING.md 声称最新 v1.1.0,DEVELOPMENT-GUIDE.md 声称 v1.0 → 已标注需更新
  • README badge:alt 文本 v1.4.2 与 badge 文字 1.4.0 矛盾 → 已修复为 1.4.3
  • CLAUDE.md 发布示例:bump to v1.4.0 → bump to v1.4.3

文档

  • CHANGELOG.md[未发布][1.4.3],更新版本链接
  • VERSION:1.4.2 → 1.4.3
  • package.json:1.4.0 → 1.4.3
  • README.md:badge 版本统一为 1.4.3,组件数量 25 → 23
  • CLAUDE.md:品牌名 CGArtLab → EDIC,版本 v1.3.1 → v1.4.3,示例命令 v1.4.0 → v1.4.3

v1.5.0 — 2026-06-05

新增

  • 新增可复用的「页面目录」组件,整合此前 handbook 与 docs 各自为政的三套实现(桌面浮动卡片 / 移动底部横向滚动条 / 侧栏 <details>
  • 桌面 — 默认(in-flow):纵向列表,由 sticky 容器承载(docs 侧栏),含数字编号 + scroll-spy 高亮 + 左侧 accent 指示条
  • 桌面 — `.ds-pagenav--rail`:handbook 右侧浮动玻璃卡片,从视口边缘内缩 --ds-space-6、全圆角、滚动到正文后柔和滑入(替代原先贴边、垂直居中、显隐生硬的 .ds-floating-toc
  • 移动(≤1023px):两页统一为导航栏下方的「目录」<details> 折叠披露,纵向展开、点击后自动收起(替代 handbook 的底部横向滚动条,消除与主题切换 FAB 的碰撞)
  • 全令牌驱动、无硬编码色;统一 JS 控制器支持可选生成(data-pagenav-generate)、IntersectionObserver scroll-spy、平滑滚动(尊重 prefers-reduced-motion)、移动端自动收起

修复

  • TOC 命名空间冲突回归:移除 .ds-toc-* 重复定义的 shared base,handbook 落地卡片编号(.ds-toc-item .ds-toc-num)恢复 accent 强调色(此前被晚出现的 .ds-toc-num 规则覆盖为灰色)
  • 移除随之失效的 .ds-floating-toc* / .ds-mobile-toc* / .ds-docs-menu / .ds-docs-aside-title 等冗余样式与脚本
  • .ds-code-bar 改为跟随页面主题(亮/暗色自适应,原先恒为暗底)
  • .ds-code-lang / .ds-copy-btn 改用语义令牌(暗色模式文字不再不可见)
  • 防止 inline-code 样式泄漏到代码块
  • Prism 升级 1.29.0 → 1.30.0 + 引入 SRI 完整性校验
  • docs.html 移动端侧栏简化为常驻目录(去除 <details> 折叠)
  • blog.html 移除小屏汉堡菜单(改为垂直堆叠)
  • styles.css 5 处 hex/rgba 迁移到 OKLch:.ds-logo-hero 高光 / 打印边框 / 品牌常量
  • styles.css 5 行死代码 --ds-letter-spacing-* / --ds-word-spacing-cjk 删除(遗留自 --ds-tracking-* 重命名前)
  • scripts.js 3 处空 catch 块改为 void e; / void 0;(localStorage 读/写 + clipboard.writeText)

变更

  • tools/validate_naming.pyVALID_CATEGORIES 新增 7 个合法类别:code / token / cjk / reveal / draw / stack / brand(均为项目已使用但验证器历史遗漏的合法 CSS 变量类别)

v1.1.0 — 2026-05-31

新增

  • 多页静态展示网站:首页 / 视觉手册 / 使用文档 / 提示词 / 下载 / 使用条款 6 个独立页面
  • 视觉手册 `handbook.html`:6 章节(Cover / 色彩 / 字体 / 间距·圆角·阴影 / 组件 / 图标 / 令牌索引)live 展示
  • 使用文档 `docs.html`:安装 / 令牌 / 主题 / 排版 / 组件 / 动效 / 可访问性 / 定制 / FAQ
  • 提示词中心 `prompts.html`:系统提示词 / 精简提示词 / Skill 三版本,含 ChatGPT/Claude/Cursor/Kiro 接入位置
  • 下载中心 `downloads.html`:示例 PDF(reference / color-card)/ 令牌 / 样式表 / 品牌素材 / 真实示例
  • 真实示例页面
  • blog.html — 纸间 · 评论博客(长文排版示范)
  • company.html — EDIC 公司官网(首个生产级页面)
  • resume.html — 可打印 PDF 的 A4 简历
  • report.html — 多页报告 / 白皮书版式
  • 品牌 Logo(v1.3 重绘 — 45° 钢笔头 monogram):
  • assets/brand/logo.svg(浅底锁版)
  • assets/brand/logo-on-dark.svg(深底提亮)
  • assets/brand/logo-mark.svg(纯 currentColor 归一版)
  • favicon.svg(透明底彩色)
  • 动效系统 v1.1
  • 关键帧:ds-fade-up/in/down / ds-zoom-in / ds-float / ds-spin-slow / ds-pulse-* / ds-gradient-pan / ds-draw
  • 滚动揭示:.ds-reveal + --left/--right/--scale,内联 --d 错峰
  • 全面尊重 prefers-reduced-motion: reduce
  • AI 协作交付物
  • prompts/system-prompt.md(完整系统提示词)
  • prompts/quick-prompt.md(精简开场白)
  • skills/edic-design-system/SKILL.md(Agent Skill 技能包)
  • 暗色模式完善
  • 浮动切换按钮(右下角毛玻璃)
  • 暖灰基底 oklch(15% 0.008 75)
  • 橄榄绿暗底亮化至 oklch(57% ...)
  • 0.4s 平滑过渡
  • 资源版本号刷新?v=1.1.0 缓存策略

变更

  • styles.cssscripts.js 整合所有令牌、组件、动效、站点壳
  • 站点壳(navbar / 装饰 / TOC / 主题切换)一并内联
  • tokens.jsonstyles.css 令牌保持一致

v1.0.0 — 2026-05-14

新增

  • 基础令牌系统(200+ CSS 自定义属性)
  • 中性色(10 级暖白纸色)
  • 橄榄绿色阶(10 级 olive-50 → olive-900)
  • 语义色(success / warning / error / info)
  • 字体族(Display 衬线 / Body 无衬线 / Mono / UI)
  • 字号比例尺(caption → hero 共 11 级)
  • 间距 4px 基准(--ds-space-1--ds-space-32
  • 圆角 none → full(7 级)
  • 阴影 xs → 2xl(6 级)
  • 动画时长 / 缓动 / 断点 / z-index / 模糊
  • 23 核心组件:Button / Card / Input / Select / Checkbox / Radio / Toggle / Badge / Chip / Alert / Modal / Tooltip / Accordion / Tabs / Progress / Avatar / Breadcrumb / Pagination / Table / Navigation / Slider / Date Picker / Article TOC
  • 附加:Skeleton / Icon Button
  • 100 SVG 图标(Lucide 风格线性,1.5px stroke)
  • 单页 index.html 视觉目录
  • 暗色模式([data-theme="dark"]
  • 浮动目录(IntersectionObserver 驱动)
  • 移动端导航抽屉
  • GitHub Pages 部署(CNAME edic.cgartlab.com.nojekyll

文档

  • README.md
  • AGENTS.md(AI 知识库)
  • DEVELOPMENT-GUIDE.md(1449 行开发指南)
  • tokens.json(结构化令牌)

许可证

  • CC BY 4.0
  • 新增 (Added) — 新功能
  • 变更 (Changed) — 既有功能的变更
  • 弃用 (Deprecated) — 即将移除的功能
  • 移除 (Removed) — 已移除的功能
  • 修复 (Fixed) — Bug 修复
  • 安全 (Security) — 漏洞修复