feat: v0.4.0 migrate to lib-core.panel persistent widgets
Migrate the top toolbar, right-side Layers panel, and bottom palette strip to lib-core.panel v0.3.0 persistent widgets (W.2 of the panel-window-manager plan): map-editor.toolbar -- top strip (full width, ~290 px tall) map-editor.layers -- right side-panel (160 px wide) map-editor.palette -- bottom strip (full width, 64 px tall) All three registered as persistent=true (open from module-init, not dismissed by ESC), input_block='self' (hit-test claims clicks within own bounds; misses fall through to canvas), and chromeless=true (panel-lib skips its title-bar/border/X — widgets keep their own visual style). Existing draw_menu_bar / draw_side_panel / draw_palette and handle_click logic is wrapped via thin widget render + handle_input fns (M.draw_toolbar_widget / M.handle_toolbar_click etc.); no behavioural change to the widget interiors. Map-canvas remains module-rendered. Canvas drag-paint is now gated on panel.point_in_any_panel(mx, my) so widget clicks no longer bleed through into map paint. Removed state.show_layers_panel / show_palette and their toggle helpers (panel-lib manages widget visibility; Window menu items now flip panel.is_open/toggle on the widget ids directly). Modals stay module-rendered + module-routed (handled by handle_modal_click before panel.update). Manifest bumped 0.3.4 -> 0.4.0; lib-core.panel dep added at 0.3.0.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"id": "map-editor",
|
||||
"version": "0.3.4",
|
||||
"version": "0.4.0",
|
||||
"kind": "module",
|
||||
"api": "^0.1",
|
||||
"ci_frames": 30,
|
||||
@@ -14,6 +14,7 @@
|
||||
{"id":"lib-core.composition","version":"0.3.0"},
|
||||
{"id":"lib-core.camera","version":"0.3.0"},
|
||||
{"id":"lib-core.input","version":"0.4.0"},
|
||||
{"id":"lib-core.panel","version":"0.3.0"},
|
||||
{"id":"lib-asset.prototype-blob-geom","version":"0.1.0"}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user