@dfosco/storyboard 0.6.4 → 0.7.1

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dfosco/storyboard",
3
- "version": "0.6.4",
3
+ "version": "0.7.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Storyboard prototyping framework — core engine, React integration, and canvas",
@@ -398,15 +398,10 @@ if (isInstalled('code')) {
398
398
  p.log.success('Canvas asset directories ready')
399
399
  }
400
400
 
401
- // 7a. Scaffold .gitignore entries for storyboard runtime + private files
401
+ // 7a. Scaffold .gitignore entries for private canvas images
402
402
  {
403
403
  const gitignorePath = '.gitignore'
404
404
  const privatePatterns = [
405
- // Storyboard runtime state — entirely per-machine, never committed.
406
- // Files that NEED to be public must be written to .storyboard-public/
407
- // (or assets/.storyboard-public/) instead.
408
- '.storyboard/',
409
- // Private canvas images / snapshots (tilde prefix = not committed)
410
405
  'src/canvas/images/~*',
411
406
  'assets/canvas/images/~*',
412
407
  'assets/canvas/snapshots/~*',
@@ -417,16 +412,18 @@ if (isInstalled('code')) {
417
412
  'src/canvas/~*/',
418
413
  'src/prototypes/~*/',
419
414
  'src/prototypes/**/~*.{flow,object,record,prototype,folder}.json',
415
+ // Per-user local state (setup version marker, agent prefs, future onboarding state)
416
+ '.storyboard/.user.json',
420
417
  ]
421
418
  if (existsSync(gitignorePath)) {
422
419
  try {
423
420
  let content = readFileSync(gitignorePath, 'utf-8')
424
421
  const missing = privatePatterns.filter(p => !content.includes(p))
425
422
  if (missing.length > 0) {
426
- const block = '\n# Storyboard: runtime state (gitignored) + private tilde-prefixed files\n' + missing.join('\n') + '\n'
423
+ const block = '\n# Private canvas images (tilde prefix = not committed)\n' + missing.join('\n') + '\n'
427
424
  content = content.trimEnd() + '\n' + block
428
425
  writeFileSync(gitignorePath, content, 'utf-8')
429
- p.log.success('Added storyboard patterns to .gitignore')
426
+ p.log.success('Added private image patterns to .gitignore')
430
427
  }
431
428
  } catch { /* ignore */ }
432
429
  }
@@ -1357,13 +1357,7 @@ function WorkspaceImpl({
1357
1357
  >
1358
1358
  {sidebarOpen ? <XIcon size={18} /> : <ThreeBarsIcon size={18} />}
1359
1359
  </button>
1360
- <img
1361
- src={`${basePath || '/'}favicon.svg`}
1362
- alt=""
1363
- width={48}
1364
- height={48}
1365
- className={css.logo}
1366
- />
1360
+ <div className={`${css.logo} smooth-corners`}><Icon name="iconoir/key-command" size={22} color="#fff" /></div>
1367
1361
  <div>
1368
1362
  <div className={css.appName}>{title}</div>
1369
1363
  {subtitle && <div className={css.appSubtitle}>{subtitle}</div>}
@@ -30,8 +30,13 @@
30
30
  .logo {
31
31
  width: 48px;
32
32
  height: 48px;
33
+ background: var(--bgColor-emphasis, #313131);
34
+ border-radius: 8px;
33
35
  transform: rotate(-1deg);
34
- display: block;
36
+ display: flex;
37
+ align-items: center;
38
+ justify-content: center;
39
+ color: var(--fgColor-onEmphasis, #fff);
35
40
  flex-shrink: 0;
36
41
  }
37
42
 
@@ -1636,15 +1636,6 @@ export default function CanvasPage({ canvasId: canvasIdProp, name, siblingPages
1636
1636
  : [],
1637
1637
  createdAt: snapshot.createdAt ?? null,
1638
1638
  updatedAt: snapshot.updatedAt ?? null,
1639
- // PR-specific metadata (state, branches, diff stats)
1640
- state: snapshot.state ?? null,
1641
- merged: typeof snapshot.merged === 'boolean' ? snapshot.merged : null,
1642
- draft: typeof snapshot.draft === 'boolean' ? snapshot.draft : null,
1643
- baseRef: typeof snapshot.baseRef === 'string' ? snapshot.baseRef : null,
1644
- headRef: typeof snapshot.headRef === 'string' ? snapshot.headRef : null,
1645
- additions: typeof snapshot.additions === 'number' ? snapshot.additions : null,
1646
- deletions: typeof snapshot.deletions === 'number' ? snapshot.deletions : null,
1647
- changedFiles: typeof snapshot.changedFiles === 'number' ? snapshot.changedFiles : null,
1648
1639
  fetchedAt: new Date().toISOString(),
1649
1640
  },
1650
1641
  }
@@ -599,8 +599,8 @@
599
599
  .prStateBadge {
600
600
  display: inline-flex;
601
601
  align-items: center;
602
- gap: 6px;
603
- padding: 5px 10px 5px 9px;
602
+ gap: 4px;
603
+ padding: 3px 8px;
604
604
  border-radius: 2em;
605
605
  font-size: 12px;
606
606
  font-weight: 500;