Give a dashboard the panel's own size, and put the dots on its grid
A dashboard now carries the canvas it is drawn for (canvas_width / canvas_height, presets plus two numbers in the settings panel). Editor and wall panel render that surface at its true pixel size and scale it to fit, so a side panel opening changes only the scale — never the arrangement being made. With the width and column count known the dot pitch is exact, (width + gap) / columns by row height + gap, so a dot sits where every widget corner snaps. The wall panel shows no dots. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H7LwYgJfpkbLCTeiAf8U4A
This commit is contained in:
@@ -218,6 +218,20 @@ export const DashboardDef_InputSchema = {
|
||||
title: 'Columns',
|
||||
default: 12
|
||||
},
|
||||
canvas_width: {
|
||||
type: 'integer',
|
||||
maximum: 7680,
|
||||
minimum: 0,
|
||||
title: 'Canvas Width',
|
||||
default: 1920
|
||||
},
|
||||
canvas_height: {
|
||||
type: 'integer',
|
||||
maximum: 4320,
|
||||
minimum: 0,
|
||||
title: 'Canvas Height',
|
||||
default: 1080
|
||||
},
|
||||
pages: {
|
||||
items: {
|
||||
'$ref': '#/components/schemas/PageDef-Input'
|
||||
@@ -255,6 +269,20 @@ export const DashboardDef_OutputSchema = {
|
||||
title: 'Columns',
|
||||
default: 12
|
||||
},
|
||||
canvas_width: {
|
||||
type: 'integer',
|
||||
maximum: 7680,
|
||||
minimum: 0,
|
||||
title: 'Canvas Width',
|
||||
default: 1920
|
||||
},
|
||||
canvas_height: {
|
||||
type: 'integer',
|
||||
maximum: 4320,
|
||||
minimum: 0,
|
||||
title: 'Canvas Height',
|
||||
default: 1080
|
||||
},
|
||||
pages: {
|
||||
items: {
|
||||
'$ref': '#/components/schemas/PageDef-Output'
|
||||
|
||||
@@ -83,6 +83,8 @@ export type DashboardDef_Input = {
|
||||
name: string;
|
||||
title?: string;
|
||||
columns?: number;
|
||||
canvas_width?: number;
|
||||
canvas_height?: number;
|
||||
pages?: Array<PageDef_Input>;
|
||||
version?: number;
|
||||
};
|
||||
@@ -94,6 +96,8 @@ export type DashboardDef_Output = {
|
||||
name: string;
|
||||
title?: string;
|
||||
columns?: number;
|
||||
canvas_width?: number;
|
||||
canvas_height?: number;
|
||||
pages?: Array<PageDef_Output>;
|
||||
version?: number;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user