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">,避免页面出现两个bannerlandmark 混淆屏幕阅读器。 - [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 style:
style="color:var(--ds-accent);text-decoration:none"改为 classds-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-card和ds-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 -> 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: 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->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-onindex.htmlstats 块:核心组件 stat 拆分为"20 核心"和"5 附加"两个独立统计块,更精确反映组件库的层次index.html/handbook.html/docs.html描述文案:所有提及"23 核心组件"之处改为"20 核心 + 5 附加组件"- 同步更新
handbook.html头部 meta 行与 footer 介绍段落 - 版本号统一(1.5.2 → 1.5.3):
VERSION1.5.2 → 1.5.3tokens.json/package.json/package-lock.jsonversion字段 1.5.0 → 1.5.3(修正了此前 1.5.0/1.5.2/1.5.3 三方漂移的旧 bug)changelog.htmlfooterdata-ds-version元素 v1.5.0 → v1.5.3(该元素不在stamp_version.py的HTML_TARGETS列表中,需手工维护)- 其余 HTML / MD 文件
?v=与可见版本号已由make stamp-version自动同步
维护
- 同步更新
docs/VERSIONING.mdline 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.py和scripts/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()闭包中声明的label和original,导致ReferenceError,恢复超时从未执行,按钮文字永远停在 "复制失败"。将两个变量提升到.then()/.catch()分叉前,两个分支均可访问。 - [B5] PageNav TOC 页面加载时无初始高亮:
IntersectionObserverscroll-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:none,scrollIntoView对隐藏元素无效。 - 影响页面:
handbook.html、docs.html、terms.html、prompts.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-system→edic-design-system - Renamed:
skills/cgartlab-design-system/→skills/edic-design-system/ - Renamed:
cgartlabcom_qrcode.svg→ediccom_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.pyPDF output filenames →edic-ds-reference.pdf/edic-ds-color-card.pdf - Updated:
report.htmllocalStorage keycgartlab_smart_pagination→edic_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],@cgartlabsocial 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.3package.json:1.4.0 → 1.4.3README.md:badge 版本统一为 1.4.3,组件数量 25 → 23CLAUDE.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)、IntersectionObserverscroll-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.css5 处 hex/rgba 迁移到 OKLch:.ds-logo-hero高光 / 打印边框 / 品牌常量styles.css5 行死代码--ds-letter-spacing-*/--ds-word-spacing-cjk删除(遗留自--ds-tracking-*重命名前)scripts.js3 处空 catch 块改为void e;/void 0;(localStorage 读/写 + clipboard.writeText)
变更
tools/validate_naming.py的VALID_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.css与scripts.js整合所有令牌、组件、动效、站点壳- 站点壳(navbar / 装饰 / TOC / 主题切换)一并内联
tokens.json与styles.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.mdAGENTS.md(AI 知识库)DEVELOPMENT-GUIDE.md(1449 行开发指南)tokens.json(结构化令牌)
许可证
- CC BY 4.0
- 新增 (Added) — 新功能
- 变更 (Changed) — 既有功能的变更
- 弃用 (Deprecated) — 即将移除的功能
- 移除 (Removed) — 已移除的功能
- 修复 (Fixed) — Bug 修复
- 安全 (Security) — 漏洞修复