{"source":"git -C ~/prometheusrun diff --numstat 2a166b7 HEAD","base":{"short":"2a166b7","sha":"2a166b73dabcf90212f28f8f12ab271d9ecf7411","subject":"first commit"},"totals":{"files":11,"added":186,"removed":35},"files":[{"path":"src/app/api/liveblocks-auth/route.ts","added":8,"removed":8},{"path":"src/app/layout.tsx","added":1,"removed":1},{"path":"src/components/TextEditor.module.css","added":11,"removed":1},{"path":"src/components/TextInlineAdvanced.tsx","added":44,"removed":17},{"path":"src/components/Toolbar.module.css","added":65,"removed":2},{"path":"src/components/Toolbar.tsx","added":2,"removed":2},{"path":"src/components/marks/Prompt.tsx","added":26,"removed":2},{"path":"src/icons/Robot.tsx","added":19,"removed":0},{"path":"src/icons/index.ts","added":1,"removed":0},{"path":"src/styles/globals.css","added":2,"removed":2},{"path":"src/styles/text-editor.css","added":7,"removed":0}],"hunks":[{"id":"title","file":"src/app/layout.tsx","title":"The last line I changed, at 16:45","before":"export const metadata = {\n  title: \"Liveblocks\",\n};","after":"export const metadata = {\n  title: \"How do you actually feel?\",\n};","note":"The two favicon <link> tags immediately below it still point at liveblocks.io."},{"id":"shiny","file":"src/components/Toolbar.module.css","title":"The button that opens the model","before":"","after":".shinyButton {\n  padding: var(--space-4);\n  background: linear-gradient(45deg, #6CC1FF, #afd6c9, #FAB2FF, #52f0a9, #E2D4B7);\n  background-size: 150% 150%;\n  color: white;\n  animation: GradientAnimation 8s ease-in-out infinite, PulseAnimation 2s infinite;\n}\n\n.shinyButton:not(:disabled):hover {\n  padding: var(--space-4);\n  background: linear-gradient(90deg, #6CC1FF, #afd6c9, #FAB2FF, #52f0a9, #E2D4B7);\n  background-size: 150% 150%;\n  color: pink !important;\n  border-color: red !Important;\n  animation: GradientAnimation 2s ease-in infinite, PulseAnimation 1s infinite;\n}","note":"The hover rule ends with a capital I in !Important."},{"id":"contrast","file":"src/components/TextInlineAdvanced.tsx","title":"Luminance decides the text colour","before":"","after":"function determineTextContrastColor(colorHex: string): string {  \n   // Convert hex color to RGB   \n   const r = parseInt(colorHex.substr(1, 2), 16);   \n   const g = parseInt(colorHex.substr(3, 2), 16);   \n   const b = parseInt(colorHex.substr(5, 2), 16);    // Calculate the brightness of the color using the weighted sum method   \n   const brightness = (r * 299 + g * 587 + b * 114) / 1000;    // Determine if the color is light or dark   \n   // If brightness is greater than 128 (middle of the brightness range), \n   return brightness > 128 ? 'Black' : 'White'; \n  }","note":"The same function exists twice in the project with different input formats: hex here, rgb() in marks/Prompt.tsx. Only the Prompt.tsx copy is ever called."},{"id":"cyanotype","file":"src/components/TextInlineAdvanced.tsx","title":"A second colour generator, never called","before":"  // Define the lower bound for RGB values to ensure pale colors\n  const lowerBound = 180;","after":"  // Cyanotype printing typically results in a range of blue tones,\n  // so we'll adjust our function to generate colors within a range of blues.\n\n  // Define the lower bound for RGB values to ensure pale blue colors\n  const lowerBound = 180;","note":"Nothing in the project calls generateRandomColor()."},{"id":"paper","file":"src/styles/globals.css","title":"The editor's paper white","before":"  --color-white: 255 255 255;\n  --color-gray-50: 250 250 250;\n  --color-gray-100: 244 244 245;","after":"  --color-white: 239 240 229;\n  --color-gray-50: 250 250 250;\n  --color-gray-100: 239 240 229;","note":"#ffffff became #eff0e5."},{"id":"whitespace","file":"src/components/Toolbar.tsx","title":"Two lines of the four in this file","before":"      <div className={styles.toolbarSection}>\n        <ThemeToggle />\n      </div>","after":"    <div className={styles.toolbarSection}>\n        <ThemeToggle />\n      </div>","note":"Both changes in this file are whitespace: an outdent and a trailing space. Git counts them as 2 added and 2 removed."},{"id":"commune","file":"src/components/TextInlineAdvanced.tsx","title":"What the prompt popover says","before":"        <label className={styles.toolbarPopoverLabel}>\n          Enter GPT Prompt\n        </label>","after":"        <label className={styles.toolbarPopoverLabel}>\n          Commune with the machine <br /><em>(ask it to modify, expand, improve, lengthen etc the selected text)</em>\n        </label>","note":"The submit button below it reads \"Activate your communion\"."}]}