com_palette

com_palette

English | 日本語

com_palette

概要

com_paletteは、コアのwebg/CommandPalette.jsをWebgAppから独立したUI部品として使うサンプルです。button、toggle、stepper、select、排他的なmode switchを一つのpaletteへ配置し、command定義とapplication stateをどのように接続するかを確認します。

画面中央の2D previewとHUDは、paletteが更新する同じstateを読みます。Obj / Edit / Scptを切り替えると選択中buttonのactive表示とpreviewが同時に変わり、toggleやstepperを操作すると次のframeから背景や図形へ反映されます。これにより、CommandPalette自身へapplication固有の状態を持たせず、利用側の状態を表示・更新する基本構成を確認できます。

実行方法

使用しているwebg機能

実装の流れ

stateにはpause、grid、glow、wire、mode、brush、radius、strength、themeを保持します。commands配列のvalue関数とgetCommandStateは、この状態を読んでtoggle、stepper、select、mode switchの現在値を表示します。

buttonはonCommandで処理し、値を持つtoggle、stepper、selectはonChangestateを更新します。更新後にpalette.render()とHUD更新を行うことで、palette、preview、HUDが同じ値を表示します。pageRows: 4を全体の基準とし、pageRowsByPage: [4, 3]で2ページ目だけ3行へ変更します。buttonは1 cell、stepperとselectは1行として数えるため、小さい画面でもcommandが重ならず次ページへ分割されます。

確認ポイント

操作方法