manifest, schema, router and two panels. the editor is hosted and saving; the last step is not finished and the readme says so. designs are rows scoped per user, with userId in every WHERE rather than checked after the read — another person's design is 'not found', so the id space cannot be probed. the Doc is stored whole as jsonb because upstream adds fields to it constantly and none of them should be a migration here. the handoff is the reason the plugin exists and it is the part that does not work: /api/chat has NO session-creation route, a session is constructed by the browser opening a websocket, so a plugin has nothing to POST to. onExport returns false and the clipboard still runs, which is upstream's own behaviour — degraded, not broken. docs/handoff.md names the one platform change that would finish it, and argues it should be generic rather than ours. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
15 lines
636 B
TypeScript
15 lines
636 B
TypeScript
import type { LayoutNode } from 'officerdev';
|
|
|
|
// The canvas takes almost everything. Upstream's editor carries its own rails, palette and inspector
|
|
// inside that pane, so a narrow list beside it is all Officer needs to add — and the list is the only
|
|
// thing upstream has no concept of, because it assumes one document in one browser.
|
|
export const defaultLayout: LayoutNode = {
|
|
type: 'group',
|
|
id: 'm3e-root',
|
|
direction: 'horizontal',
|
|
children: [
|
|
{ node: { type: 'panel', id: 'm3e-designs', appType: 'm3e-designs' }, size: 18 },
|
|
{ node: { type: 'panel', id: 'm3e-canvas', appType: 'm3e-canvas' }, size: 82 },
|
|
],
|
|
};
|