@unityevolv/ofiskit-ui-builder 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,6 +45,31 @@ export interface BackgroundStepProps {
45
45
  */
46
46
  onOffice?(office: OfficeFromPicture | null): void;
47
47
  }
48
+ /**
49
+ * The bounds a raster background is held to, per canvas shape: the exact
50
+ * ratio, because every room is placed in normalised coordinates against the
51
+ * picture and nothing is cropped for the author, and a resolution between a
52
+ * sharp tablet and a 4K wall. A host that stores pictures (the office
53
+ * service) holds them to the same bounds, so a picture accepted here is
54
+ * never refused later. An SVG scales: its ratio may be off by `RATIO_TOLERANCE`
55
+ * and it has no resolution.
56
+ */
57
+ export declare const BACKGROUND_BOUNDS: Readonly<Record<CanvasShape, {
58
+ ratio: readonly [number, number];
59
+ min: readonly [number, number];
60
+ max: readonly [number, number];
61
+ }>>;
62
+ /** How far an SVG's ratio may be from the canvas's: the office-svg spec's ratioTolerance. */
63
+ export declare const RATIO_TOLERANCE = 0.03;
64
+ /**
65
+ * Why a picture of width x height cannot be the background of a canvas, in
66
+ * the author's words, or null when it can. The recommended resolution comes
67
+ * from the prompt document, which is what the author was told to generate.
68
+ */
69
+ export declare function backgroundProblem(shape: CanvasShape, canvas: {
70
+ ratio: string;
71
+ resolution: string;
72
+ }, width: number, height: number, svg: boolean): string | null;
48
73
  /** The name a background should have beside template.json, keeping its type. */
49
74
  export declare function backgroundFileName(file: File, slot: 'light' | 'dark'): string;
50
75
  export declare function BackgroundStep(props: BackgroundStepProps): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundStep.d.ts","sourceRoot":"","sources":["../../src/background/BackgroundStep.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,kDAAkD;AAClD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAA;AAE3E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAA;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,sCAAsC;IACtC,MAAM,EAAE,gBAAgB,CAAA;IACxB;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACpE;;;OAGG;IACH,QAAQ,CAAC,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAA;CAClD;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAG7E;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAmTxD"}
1
+ {"version":3,"file":"BackgroundStep.d.ts","sourceRoot":"","sources":["../../src/background/BackgroundStep.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,kDAAkD;AAClD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAA;AAE3E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAA;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,sCAAsC;IACtC,MAAM,EAAE,gBAAgB,CAAA;IACxB;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACpE;;;OAGG;IACH,QAAQ,CAAC,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAA;CAClD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CACtC,MAAM,CACJ,WAAW,EACX;IACE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B,CACF,CAKF,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,eAAe,OAAO,CAAA;AAInC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC7C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,OAAO,GACX,MAAM,GAAG,IAAI,CAoBf;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAG7E;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAsOxD"}
@@ -3,6 +3,49 @@ import { Alert, Button, Field } from '@unityevolv/unitykit';
3
3
  import { useEffect, useState } from 'react';
4
4
  import { darkVersion } from './darkVersion.js';
5
5
  import { describeFound, firstMovedRoom, importOfficeFile, } from './officeImport.js';
6
+ /**
7
+ * The bounds a raster background is held to, per canvas shape: the exact
8
+ * ratio, because every room is placed in normalised coordinates against the
9
+ * picture and nothing is cropped for the author, and a resolution between a
10
+ * sharp tablet and a 4K wall. A host that stores pictures (the office
11
+ * service) holds them to the same bounds, so a picture accepted here is
12
+ * never refused later. An SVG scales: its ratio may be off by `RATIO_TOLERANCE`
13
+ * and it has no resolution.
14
+ */
15
+ export const BACKGROUND_BOUNDS = {
16
+ landscape: { ratio: [16, 9], min: [1920, 1080], max: [3840, 2160] },
17
+ square: { ratio: [1, 1], min: [1080, 1080], max: [2160, 2160] },
18
+ portrait: { ratio: [3, 4], min: [1080, 1440], max: [2160, 2880] },
19
+ };
20
+ /** How far an SVG's ratio may be from the canvas's: the office-svg spec's ratioTolerance. */
21
+ export const RATIO_TOLERANCE = 0.03;
22
+ const size = ([width, height]) => `${width}x${height}`;
23
+ /**
24
+ * Why a picture of width x height cannot be the background of a canvas, in
25
+ * the author's words, or null when it can. The recommended resolution comes
26
+ * from the prompt document, which is what the author was told to generate.
27
+ */
28
+ export function backgroundProblem(shape, canvas, width, height, svg) {
29
+ const bounds = BACKGROUND_BOUNDS[shape];
30
+ const [ratioWidth, ratioHeight] = bounds.ratio;
31
+ if (svg) {
32
+ const target = ratioWidth / ratioHeight;
33
+ if (Math.abs(width / height - target) / target > RATIO_TOLERANCE) {
34
+ return `That picture is ${width}x${height}, which is not ${canvas.ratio}. Rooms would sit wrong against it; draw it to ${canvas.ratio}.`;
35
+ }
36
+ return null;
37
+ }
38
+ if (width * ratioHeight !== height * ratioWidth) {
39
+ return `That image is ${width}x${height}, which is not exactly ${canvas.ratio}. Rooms would sit wrong against it. Generate it at ${canvas.resolution}, or crop it to ${canvas.ratio}.`;
40
+ }
41
+ if (width < bounds.min[0] || height < bounds.min[1]) {
42
+ return `That image is ${width}x${height}, smaller than ${size(bounds.min)}. It would look soft on a large screen. Generate it at ${canvas.resolution}.`;
43
+ }
44
+ if (width > bounds.max[0] || height > bounds.max[1]) {
45
+ return `That image is ${width}x${height}, larger than ${size(bounds.max)}. Scale it down to ${canvas.resolution}.`;
46
+ }
47
+ return null;
48
+ }
6
49
  /** The name a background should have beside template.json, keeping its type. */
7
50
  export function backgroundFileName(file, slot) {
8
51
  const extension = isSvg(file) ? 'svg' : (/\.([a-z0-9]+)$/i.exec(file.name)?.[1] ?? 'png');
@@ -22,8 +65,6 @@ export function BackgroundStep(props) {
22
65
  /** A dark version made here, which the author needs as a file; they never had one. */
23
66
  const [generated, setGenerated] = useState(null);
24
67
  const [generating, setGenerating] = useState(false);
25
- /** What a file dropped on "Check a file" would do, said without doing it. */
26
- const [checked, setChecked] = useState(null);
27
68
  // The download link's URL is this step's own; the one handed to the host is not.
28
69
  useEffect(() => () => {
29
70
  if (generated)
@@ -66,18 +107,13 @@ export function BackgroundStep(props) {
66
107
  URL.revokeObjectURL(url);
67
108
  return false;
68
109
  }
69
- const wanted = canvas.ratio.split(':').map(Number);
70
- const target = (wanted[0] ?? 1) / (wanted[1] ?? 1);
71
- const actual = image.width / image.height;
72
- if (Math.abs(actual - target) > 0.03) {
73
- setProblem(`That image is ${image.width}x${image.height}, which is not ${canvas.ratio}. ` +
74
- `Rooms would sit slightly wrong against it. Generate it at ${canvas.resolution}.`);
110
+ const refused = backgroundProblem(shape, canvas, image.width, image.height, isSvg(file));
111
+ if (refused) {
112
+ setProblem(refused);
75
113
  URL.revokeObjectURL(url);
76
114
  return false;
77
115
  }
78
- setProblem(image.width < 1200
79
- ? `That image is only ${image.width} pixels wide. It will look soft on a large screen.`
80
- : null);
116
+ setProblem(null);
81
117
  if (slot === 'light') {
82
118
  // A new light picture makes any dark version made from the old one stale.
83
119
  setLightSvg(isSvg(file) ? file : null);
@@ -117,31 +153,16 @@ export function BackgroundStep(props) {
117
153
  setGenerating(false);
118
154
  }
119
155
  }
120
- /** Report on a file as an import would, and keep nothing. */
121
- async function check(file) {
122
- if (!isSvg(file)) {
123
- setChecked({ name: file.name, result: { kind: 'picture' } });
124
- return;
125
- }
126
- setChecked({
127
- name: file.name,
128
- result: importOfficeFile(await file.text(), backgroundFileName(file, 'light')),
129
- });
130
- }
131
- return (_jsxs("div", { className: "mx-auto grid max-w-5xl gap-6 p-4 lg:grid-cols-2", children: [_jsxs("section", { className: "space-y-3", "aria-labelledby": "background-light", children: [_jsx("h2", { id: "background-light", className: "text-lg font-semibold", children: "Background image" }), _jsxs("p", { className: "text-sm text-base-content/75", children: ["Required. The office is drawn on this. It should be ", canvas.ratio, ", ideally", ' ', canvas.resolution, ". An SVG drawn to the office convention brings its rooms with it."] }), _jsx(Field, { label: "Light image", help: "PNG, JPEG, WebP, AVIF or SVG.", children: (control) => (_jsx("input", { ...control, type: "file", accept: "image/*", className: "file-input file-input-bordered file-input-sm w-full", onChange: (event) => {
156
+ return (_jsxs("div", { className: "mx-auto grid max-w-5xl gap-6 p-4 lg:grid-cols-2", children: [_jsxs("section", { className: "space-y-3", "aria-labelledby": "background-light", children: [_jsx("h2", { id: "background-light", className: "text-lg font-semibold", children: "Background image" }), _jsxs("p", { className: "text-sm text-base-content/75", children: ["Required. The office is drawn on this. A picture is exactly ", canvas.ratio, ", between", ' ', size(BACKGROUND_BOUNDS[shape].min), " and ", size(BACKGROUND_BOUNDS[shape].max), "; generate it at ", canvas.resolution, ". An SVG drawn to the office convention brings its rooms with it."] }), _jsx(Field, { label: "Light image", help: "PNG, JPEG, WebP or SVG.", children: (control) => (_jsx("input", { ...control, type: "file", accept: "image/png,image/jpeg,image/webp,image/svg+xml", className: "file-input file-input-bordered file-input-sm w-full", onChange: (event) => {
132
157
  const file = event.target.files?.[0];
133
158
  if (file)
134
159
  void accept(file, 'light');
135
160
  } })) }), _jsx(Preview, { url: props.images.light, label: "The light image" }), lightOffice && (_jsxs("div", { role: "status", className: "text-xs", children: [_jsx("p", { className: "font-medium text-success", children: describeFound(lightOffice.found) }), _jsxs("p", { className: "text-base-content/75", children: ["They are placed for you on the next step", lightOffice.issues.length > 0 &&
136
- `, with ${lightOffice.issues.length} thing${lightOffice.issues.length === 1 ? '' : 's'} to fix shown there`, "."] }), _jsx(Report, { issues: lightOffice.issues, warnings: lightOffice.warnings })] }))] }), _jsxs("section", { className: "space-y-3", "aria-labelledby": "background-dark", children: [_jsx("h2", { id: "background-dark", className: "text-lg font-semibold", children: "Dark version" }), _jsx("p", { className: "text-sm text-base-content/75", children: "Optional, for the dark theme. The same scene recoloured, never a different layout." }), _jsx(Field, { label: "Dark image", help: "Upload one, or generate it from an SVG.", children: (control) => (_jsx("input", { ...control, type: "file", accept: "image/*", className: "file-input file-input-bordered file-input-sm w-full", onChange: (event) => {
161
+ `, with ${lightOffice.issues.length} thing${lightOffice.issues.length === 1 ? '' : 's'} to fix shown there`, "."] }), _jsx(Report, { issues: lightOffice.issues, warnings: lightOffice.warnings })] }))] }), _jsxs("section", { className: "space-y-3", "aria-labelledby": "background-dark", children: [_jsx("h2", { id: "background-dark", className: "text-lg font-semibold", children: "Dark version" }), _jsx("p", { className: "text-sm text-base-content/75", children: "Optional, for the dark theme. The same scene recoloured, never a different layout." }), _jsx(Field, { label: "Dark image", help: "Upload one, or generate it from an SVG.", children: (control) => (_jsx("input", { ...control, type: "file", accept: "image/png,image/jpeg,image/webp,image/svg+xml", className: "file-input file-input-bordered file-input-sm w-full", onChange: (event) => {
137
162
  const file = event.target.files?.[0];
138
163
  if (file)
139
164
  void accept(file, 'dark');
140
- } })) }), lightSvg && (_jsxs("div", { className: "space-y-1", children: [_jsx(Button, { size: "sm", variant: "secondary", disabled: generating, onClick: () => void generateDark(), children: "Generate dark version" }), _jsx("p", { className: "text-xs text-base-content/70", children: "Made from your SVG: walls and floors darken, lamps stay lit. Nothing is uploaded." })] })), _jsx("p", { role: "status", className: "text-xs", children: generated && (_jsxs(_Fragment, { children: ["Dark version ready.", ' ', _jsxs("a", { href: generated.url, download: generated.name, className: "link", children: ["Download ", generated.name] }), ' ', "and put it beside template.json."] })) }), _jsx(Preview, { url: props.images.dark, label: "The dark image" })] }), problem && (_jsx(Alert, { variant: "warn", className: "lg:col-span-2", children: problem })), _jsxs("section", { className: "space-y-2 lg:col-span-2", "aria-labelledby": "background-check", children: [_jsx("h2", { id: "background-check", className: "text-base font-semibold", children: "Check a file" }), _jsx("p", { className: "text-sm text-base-content/75", children: "See what the builder would make of an SVG without loading it: which rooms it finds and anything that needs fixing." }), _jsx(Field, { label: "File to check", help: "Nothing is saved.", children: (control) => (_jsx("input", { ...control, type: "file", accept: ".svg,image/svg+xml", className: "file-input file-input-bordered file-input-sm w-full max-w-md", onChange: (event) => {
141
- const file = event.target.files?.[0];
142
- if (file)
143
- void check(file);
144
- } })) }), checked && (_jsxs("div", { role: "status", className: "rounded-lg bg-base-200 p-3 text-xs", children: [_jsx("p", { className: "font-medium", children: checked.name }), checked.result.kind === 'picture' && (_jsx("p", { children: "A plain picture: no room groups. The rooms would be drawn by hand." })), checked.result.kind === 'refused' && (_jsxs(_Fragment, { children: [_jsx("p", { className: "text-error", children: "This file cannot be used as a background." }), _jsx(Report, { issues: checked.result.issues, warnings: [] })] })), checked.result.kind === 'office' && (_jsxs(_Fragment, { children: [_jsx("p", { className: "text-success", children: describeFound(checked.result.found) }), checked.result.issues.length === 0 && checked.result.warnings.length === 0 && (_jsx("p", { children: "Nothing to fix." })), _jsx(Report, { issues: checked.result.issues, warnings: checked.result.warnings })] }))] }))] })] }));
165
+ } })) }), lightSvg && (_jsxs("div", { className: "space-y-1", children: [_jsx(Button, { size: "sm", variant: "secondary", disabled: generating, onClick: () => void generateDark(), children: "Generate dark version" }), _jsx("p", { className: "text-xs text-base-content/70", children: "Made from your SVG: walls and floors darken, lamps stay lit. Nothing is uploaded." })] })), _jsx("p", { role: "status", className: "text-xs", children: generated && (_jsxs(_Fragment, { children: ["Dark version ready.", ' ', _jsxs("a", { href: generated.url, download: generated.name, className: "link", children: ["Download ", generated.name] }), ' ', "and put it beside template.json."] })) }), _jsx(Preview, { url: props.images.dark, label: "The dark image" })] }), problem && (_jsx(Alert, { variant: "warn", className: "lg:col-span-2", children: problem }))] }));
145
166
  }
146
167
  /** Every message, each on its own line, so the list copies cleanly. */
147
168
  function Report({ issues, warnings, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundStep.js","sourceRoot":"","sources":["../../src/background/BackgroundStep.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BackgroundStep.js","sourceRoot":"","sources":["../../src/background/BackgroundStep.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,7 +14,7 @@ export { BuilderCanvas, type BuilderCanvasProps } from './canvas/BuilderCanvas.j
14
14
  export type { ChangeOptions, OnChange, Selection, Tool } from './canvas/types.js';
15
15
  export { BuilderSteps, type BuilderStepsProps } from './BuilderSteps.js';
16
16
  export { PromptStep, type PromptStepProps } from './prompt/PromptStep.js';
17
- export { BackgroundStep, backgroundFileName, type BackgroundImages, type BackgroundStepProps, type OfficeFromPicture, } from './background/BackgroundStep.js';
17
+ export { BACKGROUND_BOUNDS, BackgroundStep, backgroundFileName, backgroundProblem, RATIO_TOLERANCE, type BackgroundImages, type BackgroundStepProps, type OfficeFromPicture, } from './background/BackgroundStep.js';
18
18
  export { darkVersion } from './background/darkVersion.js';
19
19
  export { describeFound, edgeWarnings, fillAreas, firstMovedRoom, importOfficeFile, type ImportedOffice, } from './background/officeImport.js';
20
20
  export { useHistory, type History } from './history.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAClF,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,KAAK,cAAc,GACpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAClF,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,KAAK,cAAc,GACpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAA"}
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ export { OfficeBuilder } from './OfficeBuilder.js';
13
13
  export { BuilderCanvas } from './canvas/BuilderCanvas.js';
14
14
  export { BuilderSteps } from './BuilderSteps.js';
15
15
  export { PromptStep } from './prompt/PromptStep.js';
16
- export { BackgroundStep, backgroundFileName, } from './background/BackgroundStep.js';
16
+ export { BACKGROUND_BOUNDS, BackgroundStep, backgroundFileName, backgroundProblem, RATIO_TOLERANCE, } from './background/BackgroundStep.js';
17
17
  export { darkVersion } from './background/darkVersion.js';
18
18
  export { describeFound, edgeWarnings, fillAreas, firstMovedRoom, importOfficeFile, } from './background/officeImport.js';
19
19
  export { useHistory } from './history.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAA2B,MAAM,2BAA2B,CAAA;AAElF,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,UAAU,EAAwB,MAAM,wBAAwB,CAAA;AACzE,OAAO,EACL,cAAc,EACd,kBAAkB,GAInB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,GAEjB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,UAAU,EAAgB,MAAM,cAAc,CAAA;AACvD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GAMb,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAA2B,MAAM,2BAA2B,CAAA;AAElF,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,UAAU,EAAwB,MAAM,wBAAwB,CAAA;AACzE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAIhB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,GAEjB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,UAAU,EAAgB,MAAM,cAAc,CAAA;AACvD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GAMb,MAAM,oBAAoB,CAAA"}
@@ -11,6 +11,12 @@ import { type OfficePrompt, type PromptDocument } from './prompt.js';
11
11
  * The canvas shape is chosen here because it cannot change afterwards: every
12
12
  * room is placed relative to it. The step says so rather than letting somebody
13
13
  * find out after an hour of drawing.
14
+ *
15
+ * The step fits one screen. There are two ways to a picture, a painting the
16
+ * rooms are drawn onto or an SVG that carries them, and each is a tab, so
17
+ * neither sits under the other; the fields that tune the picture prompt and
18
+ * the advice about it fold away until wanted, since most authors copy the
19
+ * prompt as a preset filled it.
14
20
  */
15
21
  export interface PromptStepProps {
16
22
  document: PromptDocument;
@@ -1 +1 @@
1
- {"version":3,"file":"PromptStep.d.ts","sourceRoot":"","sources":["../../src/prompt/PromptStep.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG9E,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,cAAc,CAAA;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACvC,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;CACxC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAoLhD"}
1
+ {"version":3,"file":"PromptStep.d.ts","sourceRoot":"","sources":["../../src/prompt/PromptStep.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG9E,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,cAAc,CAAA;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACvC,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;CACxC;AAUD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BA0MhD"}
@@ -1,8 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Alert, Button, Icon, Input, Textarea } from '@unityevolv/unitykit';
2
+ import { Accordion, Alert, Button, Icon, Input, Tabs, Textarea } from '@unityevolv/unitykit';
3
3
  import { CANVAS_SHAPES } from '@unityevolv/ofiskit-template';
4
4
  import { useMemo, useState } from 'react';
5
5
  import { applyPreset, defaultSlots, renderPrompt, } from './prompt.js';
6
+ /** The look of a choice among a few, pressed or not: shapes, themes and views. */
7
+ const choice = (pressed) => [
8
+ 'rounded-lg border px-3 py-2 text-sm',
9
+ 'focus-visible:outline-2 focus-visible:outline-primary',
10
+ pressed ? 'border-primary bg-primary/10 font-medium' : 'border-base-300 hover:bg-base-200',
11
+ ].join(' ');
6
12
  export function PromptStep(props) {
7
13
  const { document: prompt, shape } = props;
8
14
  const [values, setValues] = useState(() => defaultSlots(prompt));
@@ -16,18 +22,29 @@ export function PromptStep(props) {
16
22
  setTimeout(() => setCopied(null), 2000);
17
23
  });
18
24
  }
19
- return (_jsxs("div", { className: "mx-auto grid max-w-5xl gap-6 p-4 lg:grid-cols-[1fr_20rem]", children: [_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold", children: "Choose the shape of your office" }), _jsx("p", { className: "mt-1 text-sm text-base-content/75", children: "This cannot change once rooms are placed, because every room is positioned against it." }), _jsx("div", { className: "mt-3 flex flex-wrap gap-2", children: CANVAS_SHAPES.map((candidate) => (_jsxs("button", { type: "button", onClick: () => props.onShapeChange(candidate), "aria-pressed": shape === candidate, className: [
20
- 'rounded-lg border px-3 py-2 text-sm',
21
- 'focus-visible:outline-2 focus-visible:outline-primary',
22
- shape === candidate
23
- ? 'border-primary bg-primary/10 font-medium'
24
- : 'border-base-300 hover:bg-base-200',
25
- ].join(' '), children: [prompt.canvases[candidate].label, _jsx("span", { className: "block text-xs text-base-content", children: prompt.canvases[candidate].resolution })] }, candidate))) }), props.shapeChangeWarning && (_jsx(Alert, { variant: "warn", className: "mt-3", children: props.shapeChangeWarning }))] }), _jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h2", { className: "text-lg font-semibold", children: "The prompt" }), _jsxs(Button, { size: "sm", variant: "ghost", onClick: () => copy('picture', text), children: [_jsx(Icon, { name: copied === 'picture' ? 'check' : 'copy', size: "sm" }), copied === 'picture' ? 'Copied' : 'Copy'] })] }), _jsx(Textarea, { readOnly: true, value: text, rows: 16, className: "mt-2 font-mono text-xs", "aria-label": "The prompt" })] }), props.officePrompts && props.officePrompts.length > 0 && office && (_jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h2", { className: "text-lg font-semibold", children: "Or have your AI draw the office" }), _jsxs(Button, { size: "sm", variant: "ghost", onClick: () => copy('office', office.text), children: [_jsx(Icon, { name: copied === 'office' ? 'check' : 'copy', size: "sm" }), copied === 'office' ? 'Copied' : 'Copy', " office prompt"] })] }), _jsx("p", { className: "mt-1 text-sm text-base-content/75", children: "Paste this into ChatGPT, Claude, Gemini or whichever assistant you use, answer its questions, and upload the SVG it returns on the next step. Its rooms come with it, so the rooms step opens already laid out." }), _jsx("div", { className: "mt-3 flex flex-wrap gap-2", role: "group", "aria-label": "Theme and view", children: props.officePrompts.map((candidate) => (_jsx("button", { type: "button", onClick: () => setOfficeId(candidate.id), "aria-pressed": candidate.id === office.id, className: [
26
- 'rounded-lg border px-3 py-2 text-sm',
27
- 'focus-visible:outline-2 focus-visible:outline-primary',
28
- candidate.id === office.id
29
- ? 'border-primary bg-primary/10 font-medium'
30
- : 'border-base-300 hover:bg-base-200',
31
- ].join(' '), children: candidate.label }, candidate.id))) }), _jsx(Textarea, { readOnly: true, value: office.text, rows: 8, className: "mt-2 font-mono text-xs", "aria-label": "The office prompt" })] }))] }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-sm font-semibold", children: "Start from a theme" }), _jsx("p", { className: "mt-1 text-xs text-base-content/70", children: "Each one fills in every field below. A good place to start if you have no idea what you want." }), _jsx("div", { className: "mt-2 flex flex-wrap gap-1", children: Object.entries(prompt.presets).map(([id, preset]) => (_jsx("button", { type: "button", onClick: () => setValues(applyPreset(preset)), className: "rounded-full bg-base-200 px-2 py-1 text-xs hover:bg-base-300 focus-visible:outline-2 focus-visible:outline-primary", children: preset.label }, id))) })] }), _jsx("div", { className: "space-y-2", children: Object.entries(prompt.slots).map(([key, slot]) => (_jsx(Input, { label: slot.label, help: slot.help, value: values[key] ?? '', onChange: (event) => setValues({ ...values, [key]: event.target.value }) }, key))) }), _jsxs("div", { className: "rounded-lg bg-base-200 p-3", children: [_jsx("h3", { className: "text-sm font-semibold", children: "Worth knowing" }), _jsx("ul", { className: "mt-1 list-disc space-y-1 pl-4 text-xs text-base-content/75", children: prompt.guidance.map((line) => (_jsx("li", { children: line }, line))) })] })] })] }));
25
+ const picture = (_jsxs("div", { className: "grid gap-4 pt-3 lg:grid-cols-[1fr_18rem]", children: [_jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h2", { className: "text-base font-semibold", children: "The prompt" }), _jsxs(Button, { size: "sm", variant: "ghost", onClick: () => copy('picture', text), children: [_jsx(Icon, { name: copied === 'picture' ? 'check' : 'copy', size: "sm" }), copied === 'picture' ? 'Copied' : 'Copy'] })] }), _jsx("p", { className: "mt-1 text-sm text-base-content/75", children: "Paste it into an image model, or hand it to an illustrator, and upload the picture on the next step." }), _jsx(Textarea, { readOnly: true, value: text, rows: 9, className: "mt-2 font-mono text-xs", "aria-label": "The prompt" })] }), _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-sm font-semibold", children: "Start from a theme" }), _jsx("div", { className: "mt-2 flex flex-wrap gap-1", children: Object.entries(prompt.presets).map(([id, preset]) => (_jsx("button", { type: "button", onClick: () => setValues(applyPreset(preset)), className: "rounded-full bg-base-200 px-2 py-1 text-xs hover:bg-base-300 focus-visible:outline-2 focus-visible:outline-primary", children: preset.label }, id))) })] }), _jsx(Accordion, { type: "multiple", variant: "plus", headingLevel: 3, items: [
26
+ {
27
+ value: 'fields',
28
+ title: 'Adjust the prompt',
29
+ content: (_jsx("div", { className: "space-y-2", children: Object.entries(prompt.slots).map(([key, slot]) => (_jsx(Input, { label: slot.label, help: slot.help, value: values[key] ?? '', onChange: (event) => setValues({ ...values, [key]: event.target.value }) }, key))) })),
30
+ },
31
+ {
32
+ value: 'guidance',
33
+ title: 'Worth knowing',
34
+ content: (_jsx("ul", { className: "list-disc space-y-1 pl-4 text-xs text-base-content/75", children: prompt.guidance.map((line) => (_jsx("li", { children: line }, line))) })),
35
+ },
36
+ ] })] })] }));
37
+ /*
38
+ * The same job done the other way round: instead of a painting the rooms
39
+ * are drawn onto by hand, an SVG that carries its rooms, drawn by the
40
+ * author's own assistant from a theme's symbols. The prompt is generated
41
+ * from the spec and the symbols and only copied here, so what the
42
+ * assistant is told and what the importer accepts cannot drift apart.
43
+ */
44
+ const drawn = props.officePrompts && props.officePrompts.length > 0 && office ? (_jsxs("div", { className: "pt-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h2", { className: "text-base font-semibold", children: "Or have your AI draw the office" }), _jsxs(Button, { size: "sm", variant: "ghost", onClick: () => copy('office', office.text), children: [_jsx(Icon, { name: copied === 'office' ? 'check' : 'copy', size: "sm" }), copied === 'office' ? 'Copied' : 'Copy', " office prompt"] })] }), _jsx("p", { className: "mt-1 text-sm text-base-content/75", children: "Paste this into ChatGPT, Claude, Gemini or whichever assistant you use, answer its questions, and upload the SVG it returns on the next step. Its rooms come with it, so the rooms step opens already laid out." }), _jsx("div", { className: "mt-3 flex flex-wrap gap-2", role: "group", "aria-label": "Theme and view", children: props.officePrompts.map((candidate) => (_jsx("button", { type: "button", onClick: () => setOfficeId(candidate.id), "aria-pressed": candidate.id === office.id, className: choice(candidate.id === office.id), children: candidate.label }, candidate.id))) }), _jsx(Textarea, { readOnly: true, value: office.text, rows: 9, className: "mt-2 font-mono text-xs", "aria-label": "The office prompt" })] })) : null;
45
+ return (_jsxs("div", { className: "mx-auto max-w-5xl space-y-4 p-4", children: [_jsxs("div", { children: [_jsxs("div", { className: "flex flex-wrap items-center gap-x-4 gap-y-2", children: [_jsx("h2", { className: "text-base font-semibold", children: "Shape of the office" }), _jsx("div", { className: "flex flex-wrap gap-2", children: CANVAS_SHAPES.map((candidate) => (_jsxs("button", { type: "button", onClick: () => props.onShapeChange(candidate), "aria-pressed": shape === candidate, className: choice(shape === candidate), children: [prompt.canvases[candidate].label, _jsx("span", { className: "ms-2 text-xs text-base-content", children: prompt.canvases[candidate].resolution })] }, candidate))) })] }), _jsx("p", { className: "mt-1 text-sm text-base-content/75", children: "This cannot change once rooms are placed, because every room is positioned against it." }), props.shapeChangeWarning && (_jsx(Alert, { variant: "warn", className: "mt-3", children: props.shapeChangeWarning }))] }), drawn ? (_jsx(Tabs, { label: "How to get the picture", variant: "border", items: [
46
+ { value: 'picture', label: 'Picture prompt', content: picture },
47
+ { value: 'office', label: 'Office prompt: your AI draws the rooms', content: drawn },
48
+ ] })) : (picture)] }));
32
49
  }
33
50
  //# sourceMappingURL=PromptStep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PromptStep.js","sourceRoot":"","sources":["../../src/prompt/PromptStep.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PromptStep.js","sourceRoot":"","sources":["../../src/prompt/PromptStep.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unityevolv/ofiskit-ui-builder",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "The office builder: draw rooms and user areas on a background image and emit a template. Takes a layout, emits a layout; the host decides what to do with it.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",