最終更新: 2026-11-09
AtmOS(ベアメタル ARM64 / Rust 製 OS)における独自 Web
ブラウザエンジン(HTML5 / CSS3 / JavaScript /
DOM)の機能拡張・互換性向上・高速化・実サイト対応(duckduckgo.com,
www.sugi-lab.net, YouTube
等)を推進するとともに、カーネルおよび os_lib
の信頼性を高める完全隔離ユニットテストスイートの拡充・品質維持を一元管理する。
sibling_index/sibling_count、直前の兄弟たちの特徴(+/~
用)、 子の要約(:empty 用:
子の数と空でない文字の有無)、counters_in。MemoEntry::result_hash)。
兄弟の文脈は、前の兄弟のうち +/~
の左側に一致し得るもの(RuleIndex::sibling_relevant)の特徴と、ほかの兄弟の種類(タグ)だけ。
兄弟全員を見る規則(:has(+ …)・:nth-child(… of S)・ラジオの
:valid)の候補の要素だけ兄弟全員の特徴を足す(STATE_SIB_ALL)。
以前は兄弟全員の特徴を混ぜていたため、兄弟 1
つの変化で兄弟全員とその子孫が外れていた(YouTube で 1 回 約 4,600
要素)。NodeKeys):
自分の結果を引く鍵(兄弟の文脈・子の要約を全部)と、子孫へ渡す鍵(自分の特徴に、祖先の文脈のうち
子孫の規則が要るもの〔位置・前の兄弟・子の要約。RuleIndex::ancestor_needs〕だけを足す)。<body>
の子の増減で全子孫が外れないように。<style>
文字列変化時も、パース後の規則群(rules・keyframes・counter_styles・font_faces)が前回と同一であれば
cached_rule_index と style_memo
を破棄せず再利用する(2026-11-07 完了)。specified_values・css_vars・hover/focus/active
の値・カウンタの出力)と、<html> の rem
の基準(set_root_font_px の副作用を再生する)。:has()
があるとき(子孫の内容に依存)、コンテナクエリの規則があるとき(前回のレイアウトの寸法に依存)。make test —
全件 PASS (全 2,611 件 PASS, 0 failed, 警告ゼロ)make all —
kernel8.img 正常生成 (警告ゼロ)make all FEATURES=selftest で起動し、シリアルログの
[SELFTEST] JS: n/n passed を確認