From b8d96ee8ee71c1b74c42154faf5cbab79355258c Mon Sep 17 00:00:00 2001 From: Louis Choquel Date: Sat, 7 Nov 2026 20:27:08 +0100 Subject: [PATCH 1/2] =?UTF-8?q?feature/Slide-proposal-topic=20=C2=B7=20L-2?= =?UTF-8?q?61107-75b313=20(#25)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## TL;DR - The slide designer now draws each proposal's mockup with the deck's own title, and returns every theme paired with the mockup drawn in it. - The image step never saw the brief, so the image model invented a title: a "Q4 2025 Financial Results" brief came back reading "Q3 2024". - ⚠️ Breaking: `generate_design_proposals_from_rough_brief` returns `DesignProposals` instead of `Html`; the HTML page is now `generate_design_proposals_report`. ## Behaviour changes - The mockup's title slide shows a subject and a period the image model made up → it shows the brief's `topic` word for word, and the other three slides carry placeholder content fitting the topic, the audience and the goal. - Polishing the brief could reword the topic → it keeps the topic exactly as typed. - The main pipe returns an HTML page whose images and themes sit in two separate grids → it returns `DesignProposals`: the polished `brief` and a list of `proposals`, each a `theme` with its `mockup`. - The report showed the "Enhanced Brief" block even when the polish changed nothing → it shows it only when a field differs. ## Breaking changes - A caller of `generate_design_proposals_from_rough_brief` that read the `Html` output names `generate_design_proposals_report` instead, which takes the same `brief` and returns the page, now one card per proposal with its mockup beside its theme. A caller that wants the old pipe exactly stays at `@v0.3.0`. The next release is a minor, `v0.4.0`. ## Changes **`methods/slide_designer/slide_designer.mthds`** - `render_visual_proposal` takes `polished_brief` beside `theme`, and its prompt names `$polished_brief.topic` as the title to draw word for word, keeping the four-slide mosaic. - New `DesignProposal` and `DesignProposals` concepts; a `draft_proposal` sub-sequence (draw, then pair through a `PipeCompose` construct) batched over the themes, then `assemble_proposals`. - New `generate_design_proposals_report` sequence; `compose_proposals_report` reads `DesignProposals` and compares the original and polished briefs field by field. - The unused `Slide` and `SlidePrompt` concepts are removed, and the domain and pipe descriptions say what the method now does. **`methods/slide_designer/METHODS.toml`** - Exports `generate_design_proposals_report` beside the main pipe; the description says what the result pairs. ## How it was verified - `plxt fmt --check` and `plxt lint` on the bundle and the manifest: clean. - `pipelex validate bundle methods/slide_designer/` (Pipelex 0.95.1): "Successfully validated the method". - Live runs on the hosted API: the "Q4 2025 Financial Results" brief, `run_6dcc9217-961d-41be-9f1e-bc081221bd86`, drew three mockups all titled "Q4 2025 Financial Results", each in its own theme's palette; the sample `inputs.json`, `run_3de8f0a8-5744-476f-8696-76beab5400fc`, kept the topic as typed and drew it as the title; `generate_design_proposals_report`, `run_6a6de223-e8a7-4ef0-b41e-ed7c346be41d`, rendered three cards, each mockup beside its own theme. - `compose_proposals_report` rendered alone from the first run's result: the "Enhanced Brief" block is hidden for an unchanged brief and shown for a topic-only one. ## Documentation - `CHANGELOG.md` `[Unreleased]`: the breaking change under Changed, the title fix under Fixed. - `README.md`: the `slide_designer` row says what the result pairs and names the report entry. - The manifest's description and the bundle's concept and pipe descriptions. ## Not done - The copies of this bundle in `pipelex-demos`, `pipelex-demo-frostbeam` and mthds-form's input-form fixture are not fed from the library and keep the old image step. - The release itself, cut separately with the `/release` skill. Closes L-261107-75b313 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019TF9N3ixWPEiwAUJDxxxfd --- ## Summary by cubic Makes the slide designer draw the deck's own title and return each theme paired with its mockup. The image step previously never saw the brief, so the image model invented a subject and period for the title slide; it now reads the polished brief and draws its `topic` word for word, with the other slides' placeholder content fitting the topic, audience and goal. The polish step keeps the topic exactly as typed. **Breaking change** - `generate_design_proposals_from_rough_brief` now returns `DesignProposals` (the polished brief plus one theme-and-mockup pair per proposal) instead of the HTML page; callers use the newly exported `generate_design_proposals_report` for the old page and stay on `@v0.3.0` to keep the old pipe. - The report renders one card per proposal with its mockup beside its theme, and shows the "Enhanced Brief" block only when a field actually differs. Written for commit 3f6b2e92dbd87090a394b102006bca9ed065f855. Summary will update on new commits. View guided diff Co-authored-by: Claude Opus 5.5 --- CHANGELOG.md | 10 ++ README.md | 2 +- methods/slide_designer/METHODS.toml | 7 +- methods/slide_designer/slide_designer.mthds | 163 ++++++++++++-------- 4 files changed, 114 insertions(+), 68 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 885ef9a..3ef8de1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [Unreleased] + +### Changed + +- **`slide_designer` returns each theme paired with its mockup (Breaking)**: `generate_design_proposals_from_rough_brief` returns the new `DesignProposals` concept instead of an `Html` page: `brief`, the polished brief, and `proposals`, a list of `DesignProposal`, each a `theme` with the `mockup` image drawn in it, where the themes and the images previously reached a caller only as two lists matched by position inside the page. The HTML report moves to the newly exported `generate_design_proposals_report`, which takes the same `brief` and shows each mockup in one card beside its own theme. A caller that wants the page names that pipe at the new tag, and one that wants the old pipe exactly stays at `@v0.3.0`. + +### Fixed + +- **`slide_designer` draws the deck's own title**: the image step now reads the polished brief and draws its `topic` word for word as the deck's title, with the other slides' placeholder content fitting the topic, the audience and the goal, where it previously saw the theme alone and invented a subject and a period of its own. Polishing the brief now keeps the topic exactly as typed. + ## [v0.3.0] - 2026-11-07 ### Added diff --git a/README.md b/README.md index c97a4c4..ce86114 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ This repository is the public library of packaged [MTHDS](https://mthds.ai) meth | [`cv_analyzer`](methods/cv_analyzer/) | End-to-end candidate screening: match a CV against a job offer, then generate tailored interview questions or draft a courteous refusal email | `screen_candidate` | | [`invoice_extraction`](methods/invoice_extraction/) | Classify each page as bill or receipt, then extract structured invoice data (amounts with their currency, VAT, vendor, buyer and the purchase line by line) from OCR text and page views | `process_invoice` | | [`table_extraction`](methods/table_extraction/) | Turn a screenshot of a table into faithful HTML, with a vision review pass to correct text and formatting | `extract_html_table_and_review` | -| [`slide_designer`](methods/slide_designer/) | Turn a rough slide-deck brief into design proposals: multiple visual themes, a rendered mockup image for each, and an HTML report presenting them all | `generate_design_proposals_from_rough_brief` | +| [`slide_designer`](methods/slide_designer/) | Turn a rough slide-deck brief into design proposals: multiple visual themes, each paired with a mockup of the deck drawn in it under the brief's own title, or, through `generate_design_proposals_report`, an HTML report presenting them | `generate_design_proposals_from_rough_brief` | | [`image_generation`](methods/image_generation/) | Generate images from text: render a description directly, or refine it into an optimized image prompt first | `illustrate` | | [`image_generation_fast`](methods/image_generation_fast/) | Generate an image quickly: render a description directly with a small, fast image generation model | `generate_image` | | [`image_card`](methods/image_card/) | Generate an image from a description with a small, fast image generation model, and present the image and its description side by side in an HTML page | `generate_image_card` | diff --git a/methods/slide_designer/METHODS.toml b/methods/slide_designer/METHODS.toml index 8cca4a3..7e2ec56 100644 --- a/methods/slide_designer/METHODS.toml +++ b/methods/slide_designer/METHODS.toml @@ -3,11 +3,14 @@ name = "slide_designer" display_name = "Slide Designer" address = "github.com/Pipelex/methods" version = "0.3.0" -description = "Turn a rough slide-deck brief into design proposals: polish the brief, generate multiple visual themes, render a mockup image for each, and compose an HTML report presenting them all." +description = "Turn a rough slide-deck brief into design proposals: polish the brief, generate multiple visual themes, and draw in each a mockup of the deck titled with its own topic, returning each theme paired with its mockup, or an HTML report presenting them." authors = ["Evotis S.A.S"] license = "MIT" mthds_version = ">=1.0.0" main_pipe = "generate_design_proposals_from_rough_brief" [exports.slide_designer] -pipes = ["generate_design_proposals_from_rough_brief"] +pipes = [ + "generate_design_proposals_from_rough_brief", + "generate_design_proposals_report", +] diff --git a/methods/slide_designer/slide_designer.mthds b/methods/slide_designer/slide_designer.mthds index beac247..4f73d39 100644 --- a/methods/slide_designer/slide_designer.mthds +++ b/methods/slide_designer/slide_designer.mthds @@ -1,5 +1,5 @@ domain = "slide_designer" -description = "Data model for slide prompt generation with reusable themes" +description = "Turning a rough slide-deck brief into design proposals, each a visual theme paired with a mockup drawn in it for the deck's own title" main_pipe = "generate_design_proposals_from_rough_brief" # Input concept for design brief @@ -84,50 +84,49 @@ layout = { type = "concept", concept_ref = "LayoutSettings", description = " style = { type = "concept", concept_ref = "StyleSettings", description = "Visual style settings", required = true } exclusions = { type = "text", description = "Elements to avoid in the design (e.g., no gradients, no stock photos)" } -# Slide content concept +# Output concepts -[concept.Slide] -description = "Content definition for a single slide" +[concept.DesignProposal] +description = "One design proposal for a deck: a visual theme and a mockup of the deck drawn in it" -[concept.Slide.structure] -slide_type = { type = "text", description = "Type of slide layout", required = true, choices = [ - "title", - "content", - "comparison", - "process", - "infographic", - "quote", - "closing", -] } -title = { type = "text", description = "Slide title", required = true } -subtitle = { type = "text", description = "Optional subtitle or tagline" } -content = { type = "text", description = "Main content or bullet points for the slide", required = true } -graphics = { type = "text", description = "Description of visual elements or graphics to include" } -layout_override = { type = "text", description = "Optional layout override for this specific slide" } +[concept.DesignProposal.structure] +theme = { type = "concept", concept_ref = "Theme", description = "The proposal's theme: palette, typography, layout and style", required = true } +mockup = { type = "concept", concept_ref = "Image", description = "Four slides of the deck drawn in the theme, the title slide carrying the brief's topic word for word", required = true } -# Output concepts +[concept.DesignProposals] +description = "The design proposals for a deck: the polished brief they answer, and the proposals, each a theme paired with its mockup" -[concept.SlidePrompt] -description = "Generated image prompt ready for slide image generation" -refines = "Text" +[concept.DesignProposals.structure] +brief = { type = "concept", concept_ref = "SlideDesignBrief", description = "The brief as polished: the topic as given, with the tone, goal and audience filled in", required = true } +proposals = { type = "list", item_type = "concept", item_concept_ref = "DesignProposal", description = "The proposals, one per theme", required = true } # Pipes [pipe.generate_design_proposals_from_rough_brief] type = "PipeSequence" -description = "Transform a design brief into multiple themes with visual mockups and HTML report" +description = "Turn a rough deck brief into design proposals: polish the brief, imagine several themes, and draw in each a mockup titled with the deck's own topic, each theme paired with its mockup" inputs = { brief = "SlideDesignBrief" } -output = "Html" +output = "DesignProposals" steps = [ { pipe = "polish_brief", result = "polished_brief" }, { pipe = "generate_multiple_themes", nb_output = 3, result = "themes" }, - { pipe = "render_visual_proposal", batch_over = "themes", batch_as = "theme", result = "design_proposals" }, + { pipe = "draft_proposal", batch_over = "themes", batch_as = "theme", result = "proposals" }, + { pipe = "assemble_proposals", result = "design_proposals" }, +] + +[pipe.generate_design_proposals_report] +type = "PipeSequence" +description = "Turn a rough deck brief into design proposals and present them in an HTML report, each mockup in one card with its own theme" +inputs = { brief = "SlideDesignBrief" } +output = "Html" +steps = [ + { pipe = "generate_design_proposals_from_rough_brief", result = "design_proposals" }, { pipe = "compose_proposals_report", result = "proposals_report" }, ] [pipe.polish_brief] type = "PipeLLM" -description = "Polish and complete a slide design brief by filling missing fields" +description = "Polish and complete a slide design brief by filling missing fields, keeping the topic word for word" inputs = { brief = "SlideDesignBrief" } output = "SlideDesignBrief" prompt = """ @@ -136,17 +135,18 @@ You are a professional presentation design consultant. Review this client brief @brief Your task: -1. Keep all provided information, but refine the wording if needed for clarity -2. For any missing fields, infer sensible defaults based on the topic and any other provided context -3. Ensure tone, goal, and audience are filled in with the most appropriate choice -4. If brand_guidelines are missing, leave them empty (do not invent specific colors or fonts) +1. Keep the topic exactly as written, word for word: it is the deck's title, and the slides show it as given +2. Keep all other provided information, but refine its wording if needed for clarity +3. For any missing fields, infer sensible defaults based on the topic and any other provided context +4. Ensure tone, goal, and audience are filled in with the most appropriate choice +5. If brand_guidelines are missing, leave them empty (do not invent specific colors or fonts) Return a complete, polished brief. """ [pipe.generate_multiple_themes] type = "PipeLLM" -description = "Generate a presentation theme from a polished design brief" +description = "Generate several presentation themes from a polished design brief" inputs = { polished_brief = "SlideDesignBrief" } output = "Theme[]" prompt = """ @@ -180,33 +180,69 @@ Generate a complete theme with: 6. **Exclusions**: Things to avoid based on the brief context """ +[pipe.draft_proposal] +type = "PipeSequence" +description = "Draw the deck's mockup in one theme and pair the theme with it" +inputs = { theme = "Theme", polished_brief = "SlideDesignBrief" } +output = "DesignProposal" +steps = [ + { pipe = "render_visual_proposal", result = "mockup" }, + { pipe = "pair_proposal", result = "proposal" }, +] + [pipe.render_visual_proposal] type = "PipeImgGen" -description = "Generate a visual mockup image from a theme" -inputs = { theme = "Theme" } +description = "Draw a mockup of four slides of the deck in one theme, its title slide carrying the brief's topic word for word" +inputs = { theme = "Theme", polished_brief = "SlideDesignBrief" } output = "Image" aspect_ratio = "landscape_16_9" model = "@default-premium" prompt = """ -Render a composition of 4 slide mockups based on the following theme: +Render a composition of 4 slide mockups for a presentation whose title is: $polished_brief.topic + +The presentation's audience: $polished_brief.audience. Its goal: $polished_brief.goal. + +Design all four slides in the following theme: $theme --- The composition should be a grid of 4 slides, each with the following layout: -- Title slide +- Title slide, showing the presentation's title exactly as given above, word for word - Content slide - Comparison slide - Process slide +Give the content, comparison and process slides headings and placeholder content that fit the presentation's topic, its audience and its goal. Every slide stays on the presentation's own subject: name no date, period or subject that the title does not. + Make the mosaic edge to edge, no space between the slides. """ +[pipe.pair_proposal] +type = "PipeCompose" +description = "Pair a theme with the mockup drawn in it" +inputs = { theme = "Theme", mockup = "Image" } +output = "DesignProposal" + +[pipe.pair_proposal.construct] +theme = { from = "theme" } +mockup = { from = "mockup" } + +[pipe.assemble_proposals] +type = "PipeCompose" +description = "Gather the polished brief and the proposals into one result" +inputs = { polished_brief = "SlideDesignBrief", proposals = "DesignProposal[]" } +output = "DesignProposals" + +[pipe.assemble_proposals.construct] +brief = { from = "polished_brief" } +proposals = { from = "proposals" } + [pipe.compose_proposals_report] type = "PipeCompose" -description = "Generate an HTML report presenting the design proposals" -inputs = { brief = "SlideDesignBrief", polished_brief = "SlideDesignBrief", themes = "Theme[]", design_proposals = "Image[]" } +description = "Present the design proposals in an HTML report, each mockup in one card with its own theme's details" +inputs = { brief = "SlideDesignBrief", design_proposals = "DesignProposals" } output = "Html" [pipe.compose_proposals_report.template] @@ -221,15 +257,15 @@ template = """ h2 { color: #34495e; margin-top: 30px; } .brief-section { background: white; padding: 25px; border-radius: 10px; margin: 20px 0; box-shadow: 0 2px 10px rgba(0,0,0,0.1); } .brief-section h3 { color: #e74c3c; margin-top: 0; } - .proposals-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; margin-top: 30px; } - .proposal-card { background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); } + .proposal-card { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-top: 25px; } .proposal-card img { width: 100%; height: auto; display: block; } .theme-details { padding: 20px; } .theme-name { font-size: 1.3em; font-weight: bold; color: #2c3e50; margin-bottom: 15px; } - .color-swatches { display: flex; gap: 8px; margin: 10px 0; } + .color-swatches { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 15px; } .swatch { width: 30px; height: 30px; border-radius: 5px; border: 1px solid #ddd; } .detail-row { margin: 8px 0; font-size: 0.9em; } .detail-label { color: #7f8c8d; font-weight: 500; } + @media (max-width: 900px) { .proposal-card { grid-template-columns: 1fr; } } @@ -245,7 +281,8 @@ template = """ {% if brief.existing_references %}

References: {{ brief.existing_references }}

{% endif %} - {% if brief != polished_brief %} + {% set polished_brief = design_proposals.brief %} + {% if brief.topic != polished_brief.topic or brief.tone != polished_brief.tone or brief.goal != polished_brief.goal or brief.audience != polished_brief.audience or brief.brand_guidelines != polished_brief.brand_guidelines or brief.existing_references != polished_brief.existing_references %}

Enhanced Brief

Topic: {{ polished_brief.topic }}

@@ -258,32 +295,28 @@ template = """ {% endif %}

Design Proposals

-
- {% for proposal in design_proposals %} -
- Design proposal {{ loop.index }} -
- {% endfor %} -
- -

Theme Details

-
- {% for theme in themes %} -
-
-
{{ theme.name }}
-
-
-
-
-
-
Font: {{ theme.typography.font_family }}
-
Style: {{ theme.style.overall }}
-
Layout: {{ theme.layout.aspect_ratio }}
+ {% for proposal in design_proposals.proposals %} + {% set theme = proposal.theme %} +
+ Mockup of the deck in the {{ theme.name }} theme +
+
{{ theme.name }}
+
+
+
+
+
+
+
Font: {{ theme.typography.font_family }}
+ {% if theme.typography.heading_style %}
Headings: {{ theme.typography.heading_style }}
{% endif %} +
Style: {{ theme.style.overall }}
+ {% if theme.style.graphic_style %}
Graphics: {{ theme.style.graphic_style }}
{% endif %} +
Layout: {{ theme.layout.aspect_ratio }}
+ {% if theme.exclusions %}
Avoids: {{ theme.exclusions }}
{% endif %}
- {% endfor %}
+ {% endfor %} """ From efceb527e815dd843b5257f5fc594243fa85e767 Mon Sep 17 00:00:00 2001 From: Louis Choquel Date: Sun, 8 Nov 2026 10:33:56 +0100 Subject: [PATCH 2/2] Release v0.4.0 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 2 +- methods/cv_analyzer/METHODS.toml | 2 +- methods/doc_summarizer/METHODS.toml | 2 +- methods/documents/METHODS.toml | 2 +- methods/image_card/METHODS.toml | 2 +- methods/image_generation/METHODS.toml | 2 +- methods/image_generation_fast/METHODS.toml | 2 +- methods/invoice_extraction/METHODS.toml | 2 +- methods/slide_designer/METHODS.toml | 2 +- methods/table_extraction/METHODS.toml | 2 +- methods/text_stats/METHODS.toml | 2 +- methods/tweet_optimizer/METHODS.toml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ef8de1..5187c8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [Unreleased] +## [v0.4.0] - 2026-11-08 ### Changed diff --git a/methods/cv_analyzer/METHODS.toml b/methods/cv_analyzer/METHODS.toml index eb6d8e7..d357e41 100644 --- a/methods/cv_analyzer/METHODS.toml +++ b/methods/cv_analyzer/METHODS.toml @@ -2,7 +2,7 @@ name = "cv_analyzer" display_name = "CV Analyzer" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "End-to-end candidate screening: extract a CV and a job offer, analyze the match, then either generate tailored interview questions or draft a courteous refusal email." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/doc_summarizer/METHODS.toml b/methods/doc_summarizer/METHODS.toml index dd2c5f7..d59311b 100644 --- a/methods/doc_summarizer/METHODS.toml +++ b/methods/doc_summarizer/METHODS.toml @@ -2,7 +2,7 @@ name = "doc_summarizer" display_name = "Document Summarizer" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Deep document summarization: profile the document and extract importance-ranked key points in parallel, then synthesize a structured summary with themes and open questions." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/documents/METHODS.toml b/methods/documents/METHODS.toml index 956e863..88fef48 100644 --- a/methods/documents/METHODS.toml +++ b/methods/documents/METHODS.toml @@ -2,7 +2,7 @@ name = "documents" display_name = "Documents" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Document extraction methods for text, images, and page views." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/image_card/METHODS.toml b/methods/image_card/METHODS.toml index 17d3886..5fd647b 100644 --- a/methods/image_card/METHODS.toml +++ b/methods/image_card/METHODS.toml @@ -2,7 +2,7 @@ name = "image_card" display_name = "Image Card" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Generate an image from a text description with a small, fast image model, and present the image and its description side by side in an HTML page." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/image_generation/METHODS.toml b/methods/image_generation/METHODS.toml index 229355e..306339c 100644 --- a/methods/image_generation/METHODS.toml +++ b/methods/image_generation/METHODS.toml @@ -2,7 +2,7 @@ name = "image_generation" display_name = "Image Generation" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Image generation methods: render a description directly, or refine it into an optimized image prompt first." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/image_generation_fast/METHODS.toml b/methods/image_generation_fast/METHODS.toml index d746832..3bdd9f7 100644 --- a/methods/image_generation_fast/METHODS.toml +++ b/methods/image_generation_fast/METHODS.toml @@ -2,7 +2,7 @@ name = "image_generation_fast" display_name = "Image Generation Fast" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Fast image generation: render a text description directly with a small image generation model." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/invoice_extraction/METHODS.toml b/methods/invoice_extraction/METHODS.toml index ffbf47e..839bc1c 100644 --- a/methods/invoice_extraction/METHODS.toml +++ b/methods/invoice_extraction/METHODS.toml @@ -2,7 +2,7 @@ name = "invoice_extraction" display_name = "Invoice Extraction" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Extract structured invoice data from a document: classify each page as bill or receipt, then extract amounts, VAT, vendor and buyer details using both the OCR text and the page view." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/slide_designer/METHODS.toml b/methods/slide_designer/METHODS.toml index 7e2ec56..000a25e 100644 --- a/methods/slide_designer/METHODS.toml +++ b/methods/slide_designer/METHODS.toml @@ -2,7 +2,7 @@ name = "slide_designer" display_name = "Slide Designer" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Turn a rough slide-deck brief into design proposals: polish the brief, generate multiple visual themes, and draw in each a mockup of the deck titled with its own topic, returning each theme paired with its mockup, or an HTML report presenting them." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/table_extraction/METHODS.toml b/methods/table_extraction/METHODS.toml index ac3af24..e163ef0 100644 --- a/methods/table_extraction/METHODS.toml +++ b/methods/table_extraction/METHODS.toml @@ -2,7 +2,7 @@ name = "table_extraction" display_name = "Table Extraction" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Extract a data table from a screenshot into faithful HTML, then review the result against the image to correct text and formatting." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/text_stats/METHODS.toml b/methods/text_stats/METHODS.toml index 7bc21cc..953eca4 100644 --- a/methods/text_stats/METHODS.toml +++ b/methods/text_stats/METHODS.toml @@ -2,7 +2,7 @@ name = "text_stats" display_name = "Text Stats" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Deterministic text statistics computed in pure Python: character, word, sentence and paragraph counts, vocabulary richness, most frequent words, and estimated reading and speaking times, reported as Markdown." authors = ["Evotis S.A.S"] license = "MIT" diff --git a/methods/tweet_optimizer/METHODS.toml b/methods/tweet_optimizer/METHODS.toml index 1bd0a52..a340130 100644 --- a/methods/tweet_optimizer/METHODS.toml +++ b/methods/tweet_optimizer/METHODS.toml @@ -2,7 +2,7 @@ name = "tweet_optimizer" display_name = "Tweet Optimizer" address = "github.com/Pipelex/methods" -version = "0.3.0" +version = "0.4.0" description = "Optimize a tech tweet: score the draft for fluffiness, cringiness, humblebragging and vagueness, then rewrite it in your own writing style following Twitter/X best practices." authors = ["Evotis S.A.S"] license = "MIT"