|
1 | 1 | # BarroCode High-Fidelity UI Image Prompt |
2 | 2 |
|
3 | | -Use case: ui-mockup |
| 3 | +Use case: ui-mockup refinement |
4 | 4 |
|
5 | | -Asset type: final high-fidelity UI mockup reference for BarroCode before implementation |
| 5 | +Asset type: high-fidelity desktop UI reference for BarroCode before |
| 6 | +implementation. |
6 | 7 |
|
7 | | -Primary request: create a polished, high-fidelity desktop UI mockup for BarroCode that clearly shows the main elements, hierarchy, spacing, and visual style. BarroCode is a light-code graphical instrument for converting SVG into G-code toolpaths. |
| 8 | +Primary request: create a polished, screenshot-like desktop app mockup for |
| 9 | +BarroCode, a browser tool that converts SVG curves into clay-printer G-code. |
| 10 | +The mockup must clearly show the exact UI elements, hierarchy, spacing and |
| 11 | +technical detail needed for implementation. |
8 | 12 |
|
9 | | -Core design priorities: |
| 13 | +The visual target is a warm-paper CAD/control surface, not a terminal emulator |
| 14 | +and not a SaaS dashboard. |
10 | 15 |
|
11 | | -1. **Panel hierarchy:** left = SVG and print setup; center = trajectory; bottom = local measurement and output; right = wave controls. |
12 | | -2. **Clean default view:** show summaries first; reveal advanced settings only when selected, expanded, focused, or needed. |
13 | | -3. **ASCII as graphic language:** use `o`, `|`, `>`, `#`, `[x]` as small integrated UI marks in headers, rows, status flows and keyframe/toolpath states. Do not make the UI look like a terminal emulator. |
14 | | -4. **Measurement feel:** use thin dividers, tabular numbers, compact labels, small metrics, axis legends, ruler marks, flat bars and precise grid. |
15 | | -5. **N/T axis clarity:** blue for Normal `N`, terracotta for Tangent `T`; this mapping must appear consistently in controls, Lissajous preview and canvas annotations. |
16 | | -6. **Canvas chrome:** keep the central canvas dominant and precise, with toolbar, metrics, timeline and keyframe controls supporting the visualization. |
17 | | -7. **Keyboard and cursor discoverability:** imply visible focus states, logical tab flow, expandable rows, and interactions that do not rely only on dragging. |
| 16 | +--- |
18 | 17 |
|
19 | | -Style/medium: premium product UI mockup, minimal technical instrument, clean light-code feel, warm paper interface, crisp monospaced typography, precise grid, thin structural rules, compact discoverable controls, measurement-panel aesthetic. It should feel professional and buildable in React/CSS. |
| 18 | +## Core Design Priorities |
20 | 19 |
|
21 | | -Composition/framing: full 16:9 desktop app screen, straight-on screenshot-like view, no perspective tilt. Dense but clean app shell. |
| 20 | +1. **Concrete app shell:** full top bar, three-column workspace, bottom panels, |
| 21 | + right control stack and footer status strip. |
| 22 | +2. **Canvas dominance:** the central trajectory preview is the main event. |
| 23 | +3. **Precise controls:** every panel shows buildable UI controls: drop zone, |
| 24 | + rows, toggles, sliders, pickers, icon buttons, code preview and export. |
| 25 | +4. **Measurement feel:** thin dividers, tabular numbers, axis ticks, grid, |
| 26 | + metric bars and compact labels. |
| 27 | +5. **N/T axis clarity:** blue for Normal `N`, terracotta for Tangent `T`. |
| 28 | +6. **ASCII marks as graphics:** use `#`, `|`, `o`, `+`, `...`, `>`, `[x]` as |
| 29 | + small UI marks in headers and rows, not as terminal prompt text. |
| 30 | +7. **Progressive disclosure:** advanced sections appear as collapsed rows. |
22 | 31 |
|
23 | | -Layout requirements: |
| 32 | +--- |
24 | 33 |
|
25 | | -- Left sidebar, about 15% width: BarroCode wordmark at top, subtitle `SVG > PATH > WAVE > G-CODE`, compact SVG load/drop control, sample button, path list with two loaded paths, print settings grouped into collapsed/expanded technical sections. |
26 | | -- Central workspace, largest area: top toolbar with status `READY`, file name, fit button, compact metrics `6 layers` and `1240 pts`. Below it, a large warm off-white canvas showing a layered SVG-derived toolpath with subtle grid, X/Y/Z measurement axes, selected keyframe diamond in indigo, color-coded layers from blue to terracotta, small orientation gizmo bottom-right. |
27 | | -- Bottom row, about 24% height: three panels separated by thin rules. Left panel `CENTER / SCALE` with a small square coordinate pad and numeric fields. Middle panel `LOCAL WAVE` with Lissajous preview, N and T axes colored blue and terracotta. Right panel `G-CODE` with compact output preview, diagnostics, and an `EXPORT` button. |
28 | | -- Right sidebar, about 16% width: Lissajous controls grouped as `N AXIS`, `T AXIS`, `PHASE`, `PRESETS`. Use sliders and numeric values. Some advanced controls are collapsed as discoverable rows. |
| 34 | +## Composition |
29 | 35 |
|
30 | | -ASCII integration: use ASCII characters as subtle graphic UI marks, not terminal text: `o` for state nodes, `|` as flow connectors, `>` as active/focus marker, `#` as module mark, `[x]` for selected toggles. Place them in panel headers, status rows, path list, and flow indicators. |
| 36 | +Full 16:9 desktop app screen, straight-on, screenshot-like. No perspective |
| 37 | +tilt. No browser chrome. Light warm background. |
31 | 38 |
|
32 | | -Progressive disclosure: show clean summaries by default with small expandable rows, one selected row expanded inline, advanced rows collapsed. |
| 39 | +### Global Top Bar |
33 | 40 |
|
34 | | -Interaction cues: one selected control has a clean indigo focus outline; keyboard/cursor navigability is implied through visible focus states, tab-like row structure, and clear hit areas. |
| 41 | +Spans the full width. |
35 | 42 |
|
36 | | -Color palette: warm paper `#EDEBE4` background, ivory panels `#F7F5F0`, subtle right panel `#F2F0EB`, near-black ink `#100E09`, muted gray `#6A6762`, indigo `#4F46E5` for focus/keyframe, normal axis blue `#1D64B4`, tangent axis terracotta `#B84F22`, success green `#1C6E45`, red `#AA2A2A` only for destructive/error. Mostly monochrome with sparse functional accents. |
| 43 | +- Left: `BarroCode` wordmark. |
| 44 | +- Under wordmark: `SVG > PATH > WAVE > G-CODE`. |
| 45 | +- Center status cluster: green dot, `READY`, vertical rule, `sample.svg`, |
| 46 | + vertical rule, `6 layers`, vertical rule, `1240 pts`. |
| 47 | +- Right side can show minimal window glyphs or blank balancing space. |
37 | 48 |
|
38 | | -Typography: GSCode-like monospaced type, small uppercase labels, tabular numeric values, no negative letter spacing. Text must be crisp and minimal. |
| 49 | +### Main Grid |
39 | 50 |
|
40 | | -Text to include: `BarroCode`, `SVG > PATH > WAVE > G-CODE`, `READY`, `sample.svg`, `6 layers`, `1240 pts`, `LOAD SVG`, `PATHS`, `PRINT`, `TRAJECTORY`, `CENTER / SCALE`, `LOCAL WAVE`, `G-CODE`, `EXPORT`, `N AXIS`, `T AXIS`, `PHASE`, `PRESETS`, `soft join`, `z-hop`, `scale`, `origin`, `Amp`, `Wave`. |
| 51 | +Three columns: |
41 | 52 |
|
42 | | -Constraints: no landing page, no hero section, no dark terminal, no terminal emulator skin, no CLI-looking text inputs except the G-code output preview. Inputs/sliders/buttons must be graphical controls. No big rounded SaaS cards, no nested cards, no glassmorphism, no shadows, no gradients, no decorative blobs, no stock imagery, no excessive color. |
| 53 | +- left sidebar about 15-18% width; |
| 54 | +- central workspace, largest area; |
| 55 | +- right sidebar about 17-20% width. |
| 56 | + |
| 57 | +### Left Sidebar |
| 58 | + |
| 59 | +Module 1: `# SVG o` |
| 60 | + |
| 61 | +- compact drop zone; |
| 62 | +- upload icon; |
| 63 | +- `LOAD SVG`; |
| 64 | +- `or drop file here`; |
| 65 | +- outline button `USE SAMPLE` with `sample.svg` aligned right. |
| 66 | + |
| 67 | +Module 2: `| PATHS o + ...` |
| 68 | + |
| 69 | +- selected row with indigo focus outline; |
| 70 | +- `o` / filled dot active markers; |
| 71 | +- `01 outline` and `02 support-ellipse`; |
| 72 | +- eye icon on the right of each row; |
| 73 | +- `+ Add path` muted row. |
| 74 | + |
| 75 | +Module 3: `# PRINT` |
| 76 | + |
| 77 | +- key/value rows: |
| 78 | + - `Layer height 1.20 mm` |
| 79 | + - `Total height 60.00 mm` |
| 80 | + - `Scale factor 1.00 mm/mm` |
| 81 | + - `Origin X 0.00 mm` |
| 82 | + - `Origin Y 0.00 mm` |
| 83 | + - `[x] soft join yes` with small gear |
| 84 | + - `[x] z-hop 1.20` with small gear |
| 85 | + - `Feed rate 1200 mm/min` |
| 86 | + - `Travel rate 3000 mm/min` |
| 87 | + - `Extruder mult. 1.00` |
| 88 | + |
| 89 | +Collapsed rows: |
| 90 | + |
| 91 | +- `o MACHINE / TOOLS >` |
| 92 | +- `o FLOW >` |
| 93 | +- `o ADVANCED >` |
| 94 | + |
| 95 | +### Central Workspace |
| 96 | + |
| 97 | +Toolbar above canvas: |
| 98 | + |
| 99 | +- icon buttons: cursor, hand, zoom-in, zoom-out, fit, grid, layers; |
| 100 | +- one active/focused icon has indigo outline; |
| 101 | +- right picker/dropdown `FIT`. |
| 102 | + |
| 103 | +Canvas: |
| 104 | + |
| 105 | +- label centered near top: `. TRAJECTORY .`; |
| 106 | +- warm off-white plotting surface; |
| 107 | +- fine grid; |
| 108 | +- X and Y axes with numeric ticks from about `-90` to `90`; |
| 109 | +- layered vessel/toolpath made of many horizontal contours; |
| 110 | +- contour color ramp from cobalt/blue at bottom to terracotta at top; |
| 111 | +- subtle grey dashed envelope outline behind the path; |
| 112 | +- selected keyframe diamond in indigo; |
| 113 | +- center cross `+`; |
| 114 | +- top-left overlay card: green dot, `READY`, `6 layers`, `1240 pts`; |
| 115 | +- bottom-right XYZ cube/gizmo. |
| 116 | + |
| 117 | +Timeline below canvas: |
| 118 | + |
| 119 | +- thin track; |
| 120 | +- diamond markers; |
| 121 | +- current position diamond at `50%`; |
| 122 | +- labels `0%`, `25%`, `50%`, `75%`, `100%`; |
| 123 | +- small start/end buttons. |
| 124 | + |
| 125 | +### Bottom Row |
| 126 | + |
| 127 | +Three panels under the central canvas. |
| 128 | + |
| 129 | +Panel 1: `# CENTER / SCALE` |
| 130 | + |
| 131 | +- `origin` group with X/Y/Z values; |
| 132 | +- `scale` group with X/Y/Z values; |
| 133 | +- square coordinate pad with a crosshair marker. |
| 134 | + |
| 135 | +Panel 2: `| LOCAL WAVE (N vs T)` |
| 136 | + |
| 137 | +- Lissajous preview canvas; |
| 138 | +- blue and terracotta crossing curves; |
| 139 | +- small N/T axes; |
| 140 | +- right-side metric list: |
| 141 | + - `N Amp 3.00 mm` |
| 142 | + - `N Wave 20.00 mm` |
| 143 | + - `T Amp 2.50 mm` |
| 144 | + - `T Wave 18.00 mm` |
| 145 | + - `Delta 90.0 deg` |
| 146 | + - `Freq 8.00 Hz` |
| 147 | + |
| 148 | +Panel 3: `# G-CODE` |
| 149 | + |
| 150 | +- light green code block; |
| 151 | +- line numbers `0001`, `0002`, etc.; |
| 152 | +- readable snippets such as `G21 ; units in mm`, `G90`, `M82`, `G1 X...`; |
| 153 | +- no large editor chrome. |
| 154 | + |
| 155 | +### Right Sidebar |
| 156 | + |
| 157 | +Module 1: `# N AXIS` |
| 158 | + |
| 159 | +- picker `Wave` set to `Lissajous`; |
| 160 | +- blue sliders for `Amp`, `Wave`, `Phase`; |
| 161 | +- numeric values and units on the right. |
| 162 | + |
| 163 | +Module 2: `# T AXIS` |
| 164 | + |
| 165 | +- picker `Wave` set to `Lissajous`; |
| 166 | +- terracotta sliders for `Amp`, `Wave`, `Phase`; |
| 167 | +- numeric values and units on the right. |
| 168 | + |
| 169 | +Module 3: `| PHASE` |
| 170 | + |
| 171 | +- picker `Mode` set to `Relative`; |
| 172 | +- slider `Offset`. |
| 173 | + |
| 174 | +Then: |
| 175 | + |
| 176 | +- `o ADVANCED >` |
| 177 | +- `# PRESETS + ...` with four mini buttons: circle, figure-8, spiral, lattice. |
| 178 | +- `o DIAGNOSTICS` with rows and horizontal bars: |
| 179 | + - `points 1240` |
| 180 | + - `paths 2` |
| 181 | + - `crossings 14` |
| 182 | + - `self intersections 2` |
| 183 | + - `travel 8.24 m` |
| 184 | + - `status ready` |
| 185 | +- full-width `EXPORT` button with download icon. |
| 186 | + |
| 187 | +### Footer |
| 188 | + |
| 189 | +Low global strip: |
| 190 | + |
| 191 | +- left: gear icon, `UNITS`, separators, `MODE: ABSOLUTE`, `PLANE: XY`; |
| 192 | +- right: green dot, `READY`, small symbolic status marks. |
| 193 | + |
| 194 | +--- |
| 195 | + |
| 196 | +## Style |
| 197 | + |
| 198 | +Palette: |
| 199 | + |
| 200 | +- warm paper background `#EDEBE4`; |
| 201 | +- ivory panels `#F7F5F0`; |
| 202 | +- right panel `#F2F0EB`; |
| 203 | +- near-black ink `#100E09`; |
| 204 | +- muted gray `#6A6762`; |
| 205 | +- indigo `#4F46E5`; |
| 206 | +- normal axis blue `#1D64B4`; |
| 207 | +- tangent axis terracotta `#B84F22`; |
| 208 | +- success green `#1C6E45`; |
| 209 | +- error red `#AA2A2A` only for error/destructive. |
| 210 | + |
| 211 | +Typography: |
| 212 | + |
| 213 | +- crisp technical UI type; |
| 214 | +- tabular numerals; |
| 215 | +- small uppercase module labels; |
| 216 | +- no negative letter spacing; |
| 217 | +- smallest text still readable. |
| 218 | + |
| 219 | +Surfaces: |
| 220 | + |
| 221 | +- thin structural rules; |
| 222 | +- small radii; |
| 223 | +- no heavy shadows; |
| 224 | +- no glassmorphism; |
| 225 | +- no gradients except slider fills and plotted trajectory color ramp; |
| 226 | +- no decorative blobs; |
| 227 | +- no nested cards. |
| 228 | + |
| 229 | +--- |
| 230 | + |
| 231 | +## Text To Include |
| 232 | + |
| 233 | +`BarroCode`, `SVG > PATH > WAVE > G-CODE`, `READY`, `sample.svg`, |
| 234 | +`6 layers`, `1240 pts`, `LOAD SVG`, `or drop file here`, `USE SAMPLE`, |
| 235 | +`PATHS`, `PRINT`, `MACHINE / TOOLS`, `FLOW`, `ADVANCED`, `TRAJECTORY`, |
| 236 | +`CENTER / SCALE`, `LOCAL WAVE (N vs T)`, `G-CODE`, `EXPORT`, `N AXIS`, |
| 237 | +`T AXIS`, `PHASE`, `PRESETS`, `DIAGNOSTICS`, `soft join`, `z-hop`, `scale`, |
| 238 | +`origin`, `Amp`, `Wave`, `Phase`, `Offset`, `status ready`. |
| 239 | + |
| 240 | +--- |
| 241 | + |
| 242 | +## Negative Constraints |
| 243 | + |
| 244 | +No landing page. No hero section. No dark terminal. No terminal emulator skin. |
| 245 | +No generic SaaS dashboard. No big rounded cards. No stock images. No decorative |
| 246 | +orbs/blobs. No heavy shadows. No decorative gradients. Inputs, sliders, buttons |
| 247 | +and pickers must look like graphical controls, not command-line text. |
0 commit comments