記念すべきえるくりん月報初号です。
仕事や私事についてランダムに書きます。
インターンホスト終了
ホストしていたインターン氏が期間を終了した。
ChromeOSのブラウザ(Lacros)のプロセス立ち上げのコードを直してもらった。難しいコードベースと厳しいReviewerの中とても頑張ってくれた。コード
base::CommandLine の API も追加してくれた。今までのAPIだとCommandLineオブジェクトにオプション列を追加することができず、一個一個Appendするしかなかったが、これからはCommandLine同士が合体できるようになった。
Bubble Clipping 躍進
Bubble View はWindowを構成するviewの一つで、例えばタブにマウスをhoverすると見えるPreviewとかがBubble Viewにあたる。
使っているOSによってはこのBubble Viewがウィンドウの外にあると切れちゃう。
これを直したい。crbug.com/1280332 。片手で数え切れないシニアエンジニアを巻き込んだめっちゃ大変なプロジェクトだったが、ようやくゴールが見えてきた。とりあえず自分の方針が採用されたので手を動かし中。かなりクリーンなデザインになってきたと思う。プロトタイプ
Shipしたら記事をかいてもいいかも。
Pinned Fullscreen を Lacros wayland上 で統合
現在 Fullscreen モードの実装ががちゃがちゃでバグだらけだしTestを書けないので根本的に直している途中。
ChromeのFullscreenは pinned, trusted pinned, immersive, plain の4種類あって、他のWindow state (e.g. maximized, snapped, minimized) とは別に、特殊な処理として書かれている。他のWindow stateと同じ感じに統合したいよね。
Fullscreenのタイプの一つ Pinned Fullscreen を PlatformWindowState で他のWindow stateと同じように統合したところ。コード
Immersive Fullscreenは現在進行中。
Gardener
ChromeOSのビルドを監視する週間 ChromeOS Gardener の担当が回ってきた。ChromeOS Gardener のお仕事は Chrome側で使われるChromeOSのバージョンとChromeOSと一緒にShipされるAshとLacrosのバージョンをdailyで更新して、統合時にコンパイルやテストが壊れたり、その他インフラなど何らかの理由でうまく行かなかったら直すこと。
担当中に問題を20個以上解決した。偉い。
パイセンにも褒めてもらった。
今日は他の人の代理で Chromium Gardener をしています。とある bot で msan failure が起きたので CL を revert したんですが、それに依存している CL がいくつかあって、そのせいですべての bot のコンパイルが壊れました。ミイラ取りがミイラになった気分です。@elkurin_ が全部直してくれました https://t.co/IHr6x0PnfG
— nhiroki (@nhiroki_) January 25, 2024
その他直したバグ
- 「Windowの最小化→もとに戻す」 をやると下に変な空白ができたり、Windowサイズが半分になったりするバグ。Windowの境界線1px分が最小化すると消える実装になっており、Layerのサイズは境界の有無によって変更されているが、contents自体は変わっていないためSurface id が更新されておらず、surface をUpdateしないレアケースを踏んでいた。
- Google Docをめっちゃスクロールした状態だとタブをDragできないバグ。HitTestMaskの座標が間違っていたため、Google DocsなどのデカいquadがWindowの外にいるとその分の座標変換に失敗しTargetがおかしくなっていた。普通のEvent targettingはうまくいくが、Tabを取り外して違うWindowを作る際に座標空間が変わるので壊れた。
- base::CommandLineにオプション列を追加するコードが先頭の値だけ無視されていたバグ。インターン氏のbase::CommandLine の API のおかげでなおった
- いくつかのテストがtimeoutになって失敗しているバグ。結論ただtimeoutを延長した。
- Locked Fullscreenになるとき何故かImmersive Fullscreenを経由してしまうバグ。上記のPined Fullscreen仕事でダイレクトに正しいstateへ飛べるようになったためなおった。
- WIP: Tablet Modeに入る前のImemrsive状態がTablet Modeから出たときに復元されないバグ。シンプルにLacrosでは実装されていない。実装中。
仕事の年間評価をもらった
今年のテーマは影響力を上げていくこと。がんばるぞい
トマムに行ってスキーした
ダンガンロンパ2をクリアした
面白かった。何を書いてもネタバレになるので何も書けない。
2章のクロを動機から全て的中した。5章が本当にすごい。ダンガンロンパという世界観をフルに活かしていて最高。
今ダンガンロンパV3を進行中、2章までクリアしたけど個人的にはダンガンロンパ2以上に最高だと思う。
TFTでダイヤモンドに到達した
最初はジンクス・アニー・セナの低コス構成をやってて、プラチナでスタックしたときにエズリアル進行を極め、そのあとは比較的すんなりダイヤモンドまで来た。エズ・ケイト、ビッグショット4エズ、ディスコTF、センチネルアーリと4コス構成ばっかり使って、どうしても金がなさそうなときだけカントリーサミーラやEDMジャックスに行ってた。
組み合わせ論ゼミでクソ計算をやった
スキーから帰ってきてすぐGardener担当だったしゼミ担当だった。
今回は自然数の分割の組み合わせを母関数を使いながら解析する方法を学んだ。
私、魔女のキキ!
— える@銀英伝はいいぞ (@elkurin_) January 23, 2024
こっちはゼミのクソ計算! pic.twitter.com/whLfsr5RII
Mind the Gap でお話した
弊社が度々行っている中高生へCSについて伝える会に登壇した。女子中高生と言わず全中高生にお話したいがどうしても女子向けイベントの方が圧倒的に多いがち。
友達のアカペラ全国大会に応援しに行った
歌っていいなあ。
葬送のフリーレン
好き。1級試験編始まってアガってる。
最近全然本読んでない
反省。今月はこのペースに戻したい。
今月のT1
GenGに1-2で負けた以外はKT, HLEにも勝って順調。Faker vs BDDのレーン戦・小規模戦が見応えあった。ミッドを勝たせる動きがT1全体としてうまい。Zeusはほっといても最強。
来たぜ〜 #T1Fighting pic.twitter.com/g8XfRzDwRE
— える@銀英伝はいいぞ (@elkurin_) January 6, 2024
優勝グッズももらってウキウキ。かばんにキーホルダーつけてる。
今月の elkurin-daily-notes
今月のベストノート→
一覧:
- 2023年のまとめ - elkurin’s blog
- What is Viz? - HackMD
- buildされないheader fileをincludeしてもコンパイルが通るのはなぜ? - HackMD
- テンプレート勉強会Part2 - HackMD
- std::in_place_type - HackMD
- Various Bubble Views - HackMD
- PGO最適化 - HackMD
- Chromiumでtestをdisableする方法 - HackMD
- WebUI - HackMD
- Surface content rect - HackMD
- スキー旅行にいってきた話 - elkurin’s blog
- How to Build Property Tree - HackMD
- Common Ancestor Clip - HackMD
- Display size on viz - HackMD
- このブログ
総括
今月もオツカレ!