Skip to content

Add Matrix Generation mode and expand documentation#81

Merged
FloLey merged 5 commits into
mainfrom
claude/update-docs-structure-MWFqZ
Mar 12, 2026
Merged

Add Matrix Generation mode and expand documentation#81
FloLey merged 5 commits into
mainfrom
claude/update-docs-structure-MWFqZ

Conversation

@FloLey

@FloLey FloLey commented Mar 12, 2026

Copy link
Copy Markdown
Owner

Summary

This PR introduces a new Matrix Generation mode to Lucid alongside the existing carousel pipeline, along with comprehensive documentation updates. The Matrix Generator creates n×n (or rectangular) visual concept grids where each cell represents the intersection of two axes, with support for theme-based or description-based generation modes, streaming cell generation via SSE, image generation, and revalidation workflows.

Key Changes

New Features

  • Matrix Generation Mode: Fully independent creation mode with its own home screen, project list, settings, and views

    • Theme mode: AI picks n diagonal concepts and invents unique axis pairs for each
    • Description mode: Single LLM call derives both axis labels and shared row/column labels for rectangular grids
    • Grid sizes: 2×2 to 6×6 (theme) or 2–6 rows/columns independently (description)
    • Four style modes: Neutral, Fun, Absurd, Academic
  • Streaming Cell Generation: Cells populate in real-time via SSE as they complete, with status tracking (Pending → Generating → Complete/Failed)

  • Image Generation: Optional per-cell background images generated from AI-written prompts, with per-cell regeneration support

  • Revalidation Workflow: Identifies and regenerates failed or weak cells with optional user comments injected into validator prompts

  • Three Matrix Views:

    • Grid: Interactive n×n view with expandable cells
    • Poster: Full-page visual layout for screenshots/sharing
    • Reveal: Presentation mode cycling through cells one at a time
  • Matrix Settings: Persistent configuration in matrix_settings.json for models, temperatures (diagonal/axes/cell/validation), concurrency limits, and retry counts

Documentation Updates

  • README.md: Restructured to cover both Slide Generation and Matrix Generation as first-class features

    • Added comprehensive Matrix Generation section with input modes, grid sizes, style modes, generation/streaming details, image generation, revalidation, and views
    • Reorganized Slide Generation section with clearer pipeline architecture explanation
    • Updated Feature Highlights to include SSE streaming and per-template prompt overrides
    • Expanded Configuration & Customisation section with separate subsections for carousel and matrix settings
    • Simplified deployment and API reference sections
  • docs/user-guide.md: Complete rewrite to cover both modes

    • Added Matrix Generation section with mode selection, creation workflow, grid navigation, image management, revalidation, settings, and view descriptions
    • Reorganized Slide Generation under a dedicated section with improved formatting and clarity
    • Updated all stage descriptions with more concise language and better visual hierarchy
  • frontend/src/components/ModeSelector.tsx: Updated copy to reflect new Matrix Generation mode

Implementation Details

  • Matrix generation uses the same bounded_gather() concurrency control as the carousel pipeline to prevent API rate limits
  • SSE streaming is shared between slide text regeneration and matrix cell generation via common parseSSELine utility
  • Matrix settings are independent from carousel configuration, stored separately in matrix_settings.json
  • Revalidation supports optional user comments that are injected into validator LLM prompts as extra instructions
  • All matrix views (Grid, Poster, Reveal) are accessible from the completed matrix workspace

https://claude.ai/code/session_0188EvRkkj6RFujggzp2bean

- README completely rewritten: both Slide Generation and Matrix
  Generation are top-level peer sections with equal depth. New tagline
  reflects the dual-mode tool. Matrix section documents input modes
  (theme/description), grid sizing, style modes, streaming, image
  generation, revalidation, all three views (grid/poster/reveal), and
  the full settings schema.
- docs/user-guide.md restructured: Matrix Generation is now a full
  top-level section alongside the carousel pipeline (not appended after
  Tips). Expanded with views, revalidation, settings temperatures, and
  concurrency controls.
- ModeSelector.tsx: replaced Instagram-specific slide card description
  with a broader slogan that covers the six-stage pipeline.

https://claude.ai/code/session_0188EvRkkj6RFujggzp2bean
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands Lucid's capabilities by introducing a new, independent 'Matrix Generation' mode. This mode enables users to create dynamic, AI-generated concept grids with various input and style options, real-time streaming, and robust revalidation features. Concurrently, the project's documentation has been thoroughly updated and reorganized to clearly present both the original carousel pipeline and the new matrix functionality, providing a more comprehensive and user-friendly guide to the application's expanded features.

Highlights

  • New Matrix Generation Mode: Introduced a fully independent mode for creating n×n visual concept grids, complete with its own home screen, project list, settings, and views. This mode supports theme-based or description-based generation, various grid sizes (2x2 to 6x6), and four distinct style modes (Neutral, Fun, Absurd, Academic).
  • Streaming Cell Generation: Implemented real-time population of matrix cells via Server-Sent Events (SSE), allowing users to watch the grid fill live as cells transition through Pending, Generating, Complete, or Failed statuses.
  • Image Generation and Revalidation: Added optional per-cell background image generation from AI-written prompts, with support for individual cell regeneration. A new revalidation workflow allows identification and regeneration of failed or weak cells, with user comments injected into validator prompts for improved guidance.
  • Multiple Matrix Views: Provided three distinct views for generated matrices: an interactive Grid view, a full-page Poster view for sharing, and a presentation-style Reveal view that cycles through cells one at a time.
  • Comprehensive Documentation Updates: Restructured and expanded README.md and docs/user-guide.md to clearly cover both the existing Slide Generation pipeline and the new Matrix Generation mode as first-class features, including detailed explanations of workflows, settings, and API references.
  • Shared Backend Utilities: Integrated matrix generation to leverage existing backend utilities such as bounded_gather() for concurrency control and parseSSELine for streaming, ensuring efficient resource management and consistent behavior across different generation modes.
Changelog
  • README.md
    • Updated the main project description to reflect two first-class creation modes: slide generation and concept matrix generation.
    • Restructured the 'The Philosophy' section into 'Slide Generation - The Pipeline Architecture' with clearer explanations of the workflow.
    • Added a comprehensive 'Matrix Generation' section detailing its overview, input modes, grid size, style modes, generation/streaming, image generation, revalidation, views, and settings.
    • Revised 'Feature Highlights' to include SSE streaming and per-template prompt overrides, and updated concurrency control to mention both generation modes.
    • Expanded 'Configuration & Customisation' to separate carousel and matrix settings, with matrix settings persisted in matrix_settings.json.
    • Simplified and clarified 'Quick Start', 'Installation & Requirements', and 'Deploy on VPS' sections.
    • Refactored 'API & CLI Reference' into 'API Reference' with distinct sections for the Carousel Pipeline and the new Matrix Generator, including new matrix-specific API routes.
  • docs/user-guide.md
    • Updated the introductory paragraph to highlight both Slide Generation and Matrix Generation modes.
    • Renamed and re-structured sections related to the existing carousel pipeline (e.g., 'Projects' to 'Slide Generation - Projects', 'Overview' to 'The Pipeline') for improved clarity and hierarchy.
    • Rewrote all 'Stage X' sections under 'Slide Generation' for conciseness and better formatting.
    • Added a comprehensive 'Matrix Generation' section, detailing how to access and create matrices, input modes, style modes, grid details, available views, image addition, revalidation, and matrix-specific settings.
    • Updated the 'Tips' section to include advice relevant to both slide and matrix generation workflows.
  • frontend/src/components/ModeSelector.tsx
    • Updated the descriptive text for the 'Slide Generation' mode to provide a more comprehensive overview of its capabilities.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a major new feature, the Matrix Generation mode, and significantly expands and restructures the documentation to cover both it and the existing Slide Generation pipeline. The changes in README.md and docs/user-guide.md are comprehensive and well-organized, providing clear explanations of the new functionality, including input modes, streaming generation, image generation, and revalidation workflows. The API reference has also been greatly improved with a clear tabular format.

My review found one minor point of clarification needed in the user guide regarding the process of saving a customized project configuration as a new template. Otherwise, the documentation updates are excellent and provide a great overview of the new features.

Comment thread docs/user-guide.md Outdated
Comment on lines +73 to +79
#### Customising a template's configuration

Template configuration (prompts, style defaults, image settings) is edited through the **Settings** modal inside a project. If you want to build a custom template, the recommended workflow is:
Template configuration (prompts, style defaults, image settings) is edited through the **Settings** modal inside a project. Recommended workflow:

1. Create a project from an existing template.
2. Open **Settings** (gear icon) and adjust Prompts, Style, Image, and Instructions tabs to your liking.
3. Create a new template and note that future projects can use the settings you'd refined — you can port settings by adjusting the template via the API or by iterating in a project first.
2. Open **Settings** (gear icon) and adjust Prompts, Style, Image, and Instructions tabs.
3. Future projects can be created from templates that reflect your refined defaults.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This section on customizing templates is a bit unclear. Step 3 says 'Future projects can be created from templates that reflect your refined defaults', but it doesn't explain how a user saves the current project's settings as a new template.

The README.md states that 'Any project configuration can be saved as a reusable Template', which implies a direct action is available in the UI. However, the user guide doesn't describe this action.

Could you clarify the workflow here? For example, if there's a 'Save as Template' button, it would be helpful to mention it.

claude added 4 commits March 12, 2026 00:30
The app-level subtitle now describes both Slide Generation and Matrix
Generation ("Design polished slide carousels or explore ideas as visual
concept matrices."). The Slide card description is simplified back to a
concise carousel-focused line without the Instagram specificity.

https://claude.ai/code/session_0188EvRkkj6RFujggzp2bean
Replaced "Transform drafts into carousels" with "Slides and concept
matrices, AI-powered" so the persistent app header no longer implies
Lucid is carousel-only.

https://claude.ai/code/session_0188EvRkkj6RFujggzp2bean
Reverts the subtitle change in ModeSelector — the Header tagline update
was the intended fix.

https://claude.ai/code/session_0188EvRkkj6RFujggzp2bean
The previous description incorrectly implied templates are configured
via the project Settings modal. Templates are edited directly in the
Templates panel: select a template, use the General/Style/Image/
Instructions/Prompts tabs, click Save Template.

https://claude.ai/code/session_0188EvRkkj6RFujggzp2bean
@FloLey FloLey merged commit 025d9d3 into main Mar 12, 2026
4 checks passed
@FloLey FloLey deleted the claude/update-docs-structure-MWFqZ branch March 12, 2026 00:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants