OPEN_GRID API - v1.6.0
    Preparing search index...

    Class HeaderAxis

    HeaderAxis — 헤더 제6축. 상속으로 SPI 를, 합성으로 등록 정책을 얻는다.

      IAppearanceAxis  (5 공통 SPI)
    implements
    TokenAxis (기존 글자도 고쳤다)
    extends ← ① 불변식은 상속으로. 형제 축과 리스코프 치환 가능
    HeaderAxis
    has-a ← ② 등록 정책은 합성으로. is-a 아니다

    TypedRegistry<HeaderPresetMeta> (v1.4.0 공개 확장점)

    extends TokenAxis 인가(상속을 쓰는 자리). assertNamespace · resolve 의 never-throw 폴백 · default → 빈 델타(byte-identical) · attr 생략 규칙 — 이 넷은 여섯 축이 똑같아야 하는 불변식이다. 베끼면 여섯 벌이 갈라진다. 상속이 정확한 도구다.

    TypedRegistry 를 상속하지 않고 안에 두는가(합성을 쓰는 자리). TypedRegistry<V>키→값 저장소HeaderAxis이다. is-a 가 아니다. 그리고 TokenAxis 를 고쳐 저장소를 갈아끼우면 기존 5축의 코드 경로가 바뀐다 — 「기본값 불변」 금지선에 직접 닿는다. 합성이면 헤더 축만 새 정책을 갖고 나머지 다섯은 한 바이트도 안 변한다(개방-폐쇄 원칙).

    이 축이 형제 축보다 더 갖는 것 — 기존 축들은 생 Map 이라 아래가 전부 없다: 내장 보호(protect-builtin) · 출처(origin) · 플러그인 수명(disposePlugin) · SPI 버전 검증 · og:* 예약 대역 보호 · never-throw 등록 결과. 그래서 이 축에서는 사용자가 define('rule', …) 해도 내장 프리셋이 조용히 사라지지 않는다.

    HeaderAxis — the 6th (header) axis: SPI conformance by inheritance, registration policy by composition. TokenAxis supplies the six-axis invariants; a composed TypedRegistry supplies built-in protection, origin tracking, plugin lifecycle and SPI checks that the sibling axes lack. Composition (not inheritance) is used because a registry is not a kind of axis, and because swapping TokenAxis's store would change the code path of the five existing axes.

    HeaderAxis — ヘッダー第6軸。SPI は継承で、登録ポリシーはコンポジションで得ます。

    なぜ extends TokenAxis なのか(継承を使う場所)。 assertNamespaceresolve の never-throw フォールバック・default → 空デルタ(byte-identical)・attr の省略規則 — この4つは6つの軸が 同じでなければならない不変条件です。写し取れば6つに分かれてしまいます。ここは継承が正確な道具です。

    なぜ TypedRegistry を継承せず中に持つのか(コンポジションを使う場所)。 TypedRegistry<V>キー→値の保管庫で、HeaderAxisです。is-a ではありません。そして TokenAxis を直して 保管庫を差し替えると、既存5軸のコード経路が変わります — 「既定値は変えない」という禁止線に直接 触れます。コンポジションならヘッダー軸だけが新しいポリシーを持ち、残りの5軸は1バイトも変わりません (開放閉鎖の原則)。

    この軸が兄弟軸より多く持つもの — 既存の軸は素の Map なので、以下がすべてありません: 組み込み保護(protect-builtin)・登録元(origin)・プラグインの寿命管理(disposePlugin)・ SPI バージョン検証・og:* 予約領域の保護・never-throw の登録結果。 そのためこの軸では、利用者が define('rule', …) しても組み込みプリセットが黙って消えることは ありません。

    HeaderAxis — 表头第6轴。用继承拿到 SPI,用组合拿到注册策略。

    为什么 extends TokenAxis(用继承的地方)。 assertNamespaceresolve 的 never-throw 回退、 default → 空增量(byte-identical)、attr 的省略规则 — 这4条是6个轴必须一致的不变式。抄一遍 就会分成6份。这里继承才是准确的工具。

    为什么不继承 TypedRegistry 而是放在里面(用组合的地方)。 TypedRegistry<V>键→值的存储, 而 HeaderAxis。不是 is-a。而且改 TokenAxis 去换掉存储,现有5个轴的代码路径就会变 — 直接碰到「默认值不变」这条禁止线。用组合的话,只有表头轴拿到新策略,其余5个轴一个字节也不变 (开闭原则)。

    这个轴比兄弟轴多出来的东西 — 现有的轴是裸 Map,所以下面这些一个都没有: 内置保护(protect-builtin)、注册来源(origin)、插件生命周期(disposePlugin)、SPI 版本校验、 og:* 保留区段的保护、never-throw 的注册结果。 因此在这个轴上,即使用户调用 define('rule', …)内置预设也不会静默消失。

    headerRegistry.resolve('rule');    // { tokens:{'--og-header-rule-width':'2px',…}, attr:{name:'data-og-header',value:'rule'} }
    headerRegistry.resolve('default'); // { tokens:{} } — 속성 미부착, byte-identical
    headerRegistry.define('rule', {}); // kept — 내장 보호. registration.ok === false

    Hierarchy

    • TokenAxis
      • HeaderAxis
    Index

    Constructors

    • Returns HeaderAxis

    Properties

    id: AxisId
    namespace: ReadonlySet<string>

    이 축이 소유하는 토큰 이름공간(검증용).

    Token namespace this axis owns (for validation).

    この軸が所有するトークンの名前空間(検証用)。

    这个轴所有的令牌命名空间(供校验使用)。

    Methods

    • 사용자 정의 프리셋 등록.

      TokenAxis.define 과 달리 조용히 안 덮는다. 내장 5종(default·rule·quiet·band·pill)은 origin:'builtin' 으로 등록돼 있어 { override: true } 없이는 교체되지 않고, 거부 사유가 registration 으로 돌아온다(never-throw).

      축 섞임(색·타이포그래피 토큰)은 상속받은 검사가 throw 한다 — 정책보다 먼저 걸린다. 순서가 중요하다: 오염된 델타는 애초에 등록 후보가 아니므로 정책 판정까지 갈 이유가 없다.

      Registers a user-defined preset. Unlike TokenAxis.define, built-ins are not silently replaced: without { override: true } the registration is rejected and the reason is returned in registration (never throws). Axis pollution throws first, before policy runs.

      ユーザー定義プリセットの登録。

      TokenAxis.define と違い、黙って上書きしません。 組み込み5種 (defaultrulequietbandpill)は origin:'builtin' で登録されているため、 { override: true } なしでは置き換わらず、拒否の理由が registration で返ります(never-throw)。

      軸の混在(色・タイポグラフィのトークン)は継承した検査が throw します — ポリシーより先に 引っかかります。順序が大事です: 混ざったデルタはそもそも登録の候補ではないので、ポリシーの判定まで 進む理由がありません。

      注册用户自定义预设。

      TokenAxis.define 不同,不会静默覆盖。内置5种(defaultrulequietbandpill) 以 origin:'builtin' 注册,不带 { override: true } 就不会被替换,拒绝的理由通过 registration 返回(never-throw)。

      轴混用(颜色、排版的令牌)由继承来的检查 throw — 比策略更先拦下。顺序很重要: 混了的增量本来 就不是注册的候选,没有理由走到策略判定。

      Parameters

      • id: string

        프리셋 id

        Preset id

        プリセット id

        预设 id

      • delta: TokenDelta

        헤더 형태 토큰 델타

        Header shape-token delta

        ヘッダー形状トークンのデルタ

        表头形状令牌增量

      • opts: RegisterOptions & { meta?: HeaderPresetMeta } = {}

        등록 정책 옵션(+ 프리셋 메타)

        Registration policy options (plus preset meta)

        登録ポリシーのオプション(+ プリセットのメタ情報)

        注册策略选项(+ 预设元信息)

      Returns AxisDefineResult & { registration: RegisterResult }

      클램프 반영 델타 + 경고 + 등록 판정

      Clamped delta, warnings, and the registration verdict

      クランプを反映したデルタ + 警告 + 登録の判定

      钳制后的增量 + 警告 + 注册判定

      색·타이포그래피 등 이름공간 밖 토큰이 있으면 Error

      Throws on out-of-namespace tokens

      色・タイポグラフィなど名前空間の外のトークンがあれば Error

      有颜色、排版等命名空间之外的令牌时抛出 Error

    • 한 플러그인이 넣은 프리셋만 골라 해제한다 — 등록의 대칭.

      형제 축들에는 이 대칭이 없다(생 Map 이라 누가 넣었는지 모른다). 해제 건수를 반환한다.

      Disposes only the presets registered by one plugin — the symmetric counterpart to registration, which the sibling axes lack. Returns the number of entries removed.

      あるプラグインが入れたプリセットだけを選んで解除します — 登録の対称です。

      兄弟軸にはこの対称がありません(素の Map なので、誰が入れたか分かりません)。解除した件数を返します。

      只挑出某一个插件注册的预设并解除 — 与注册对称

      兄弟轴没有这个对称(裸 Map,不知道是谁放进去的)。返回解除的数量。

      Parameters

      • pluginId: string

        해제할 플러그인 id

        The plugin id to dispose

        解除するプラグイン id

        要解除的插件 id

      Returns number

      해제된 건수

      Number of entries removed

      解除した件数

      解除的数量

    • 등록 기록(출처·플러그인·우선순위·SPI 버전). 진단·카탈로그용.

      Registration records (origin, plugin, priority, SPI version) — for diagnostics and catalogs.

      登録の記録(登録元・プラグイン・優先度・SPI バージョン)。診断とカタログ用。

      注册记录(注册来源、插件、优先级、SPI 版本)。供诊断与目录使用。

      Returns readonly RegistryEntry<HeaderPresetMeta>[]

    • 등록 여부.

      Whether registered.

      登録されているか。

      是否已注册。

      Parameters

      • id: string

      Returns boolean

    • 등록된 값 id 목록(카탈로그·인스펙터용).

      Registered value ids (for catalog/inspector).

      登録された値 id の一覧(カタログ・インスペクター用)。

      已注册的值 id 列表(供目录与检查器使用)。

      Returns string[]

    • 등록 게이트에 축 섞임 검사를 선행시킨다(assertTypographyOnly 와 동형 배선).

      登録ゲートの手前で軸の混在を検査します(assertTypographyOnly と同じ形の配線)。

      在注册关卡之前先做轴混用检查(与 assertTypographyOnly 同形的接线)。

      Parameters

      Returns void

    • 축값 → 해소(토큰·속성·relayout 플래그). 미등록/default → 빈 델타.

      Value id → resolution; unknown/default → empty delta.

      軸の値 → 解決(トークン・属性・relayout フラグ)。未登録/default → 空のデルタ。

      轴的值 → 解析(令牌、属性、relayout 标志)。未注册/default → 空增量。

      Parameters

      • valueId: string

      Returns AxisResolution