Skip to content

[codex] Reposition website as a 3D asset pipeline tool - #274

Merged
fernandotonon merged 3 commits into
masterfrom
codex/pipeline-website-positioning
Apr 9, 2026
Merged

[codex] Reposition website as a 3D asset pipeline tool#274
fernandotonon merged 3 commits into
masterfrom
codex/pipeline-website-positioning

Conversation

@fernandotonon

@fernandotonon fernandotonon commented Apr 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • reposition the homepage around a pipeline-first message: CI/CD for 3D assets
  • restructure the landing flow to emphasize scan/validate/fix/convert/merge and automation before advanced features
  • keep Mixamo merge visible as a strong workflow while no longer making it the primary identity

What Changed

  • rewrote homepage content and section order for conversion and visual hierarchy
  • added a new pipeline overview block (scan -> validate -> fix/optimize -> convert/ship)
  • refreshed CLI/CI examples and copy for pipeline use cases
  • moved advanced features (materials, REST API, MCP/AI) lower on the page
  • updated install/trust framing and CTA placement
  • updated SEO metadata (title/description/OG/Twitter/JSON-LD) to pipeline positioning

Notes on Scan Messaging

  • scan/validation are described honestly as evolving/in-progress pipeline capabilities
  • existing stable capabilities (fix, convert, merge, CLI automation, Docker, GitHub Action) remain fully highlighted

Validation

  • npm run build (website) passes successfully

Summary by CodeRabbit

  • New Features

    • New visual "Pipeline" flow showing Scan → Validate → Fix & Optimize → Convert & Ship stages.
    • Added CI/CD examples (Docker + GitHub Actions) and combined scan/fix/convert example.
    • New Mixamo-guided step section and updated pipeline media/captions.
  • Updates

    • Site messaging refocused to CI/CD-centered 3D asset pipelines.
    • Revised hero, features, use-cases, preview strip, and install/trust copy.
    • Reorganized sections and improved responsive layout for pipeline and preview displays.

@coderabbitai

coderabbitai Bot commented Apr 9, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Updated website content and UI to shift messaging and visuals from Mixamo-focused animation merging toward a broader CI/CD-centric 3D asset pipeline: HTML metadata and JSON-LD updated, App.jsx restructured (new pipeline and mixamo sections, removed demo/comparison), data exports renamed and rewritten, and new pipeline-specific CSS added.

Changes

Cohort / File(s) Summary
Site Metadata
website/index.html
Rewrote page title, og/twitter titles and descriptions, and JSON-LD SoftwareApplication.description to emphasize CI/CD, scanning/validation, mesh fixes/optimization, format conversion, and automation with CLI/Docker/GitHub Actions.
App structure & content
website/src/App.jsx
Reordered hero CTAs; swapped hero/demo media for pipeline/skeleton preview; removed old demo/comparison sections; added pipeline section (numbered nodes + pipeline panel) and mixamo section; replaced demo code panels with scan/fix/convert/merge/docker/githubAction examples; updated preview strip and feature/use-case copy.
Styles
website/src/App.module.css
Added pipeline UI styles (.pipelineFlow, .pipelineNode, .pipelineNodeIndex, .pipelineNodeTitle, .pipelineNodeBody, .pipelinePanel, .pipelineSnippet); adjusted responsive breakpoints; changed .previewStrip from 3→2 columns; adjusted .codeGrid nth-child rules.
Content data
website/src/data/content.js
Renamed exports (mergeStepspipelineFlow, comparisonItemsmixamoSteps); updated hero, proofPoints, useCases, pipelineExamples (added scan, fix, scanFixConvert; removed inspect), highlightFeatures, trustItems, and media alt text.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐇 I hopped through code and found a way to play,

scanning bones and meshes day by day.
Docker drums and Actions hum in tune,
pipelines bloom beneath the moon.
Hop—CI/CD and assets sway!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: repositioning the website toward a 3D asset pipeline tool focus, which aligns with the core objective of reframing the site's identity from Mixamo-centric to CI/CD-for-3D-assets.
Description check ✅ Passed The description includes a clear summary section and detailed 'What Changed' bullets covering content rewrites, new pipeline block, CLI examples, section reordering, and SEO updates. It follows the template structure with summary and technical details, plus additional validation notes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/pipeline-website-positioning

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@fernandotonon
fernandotonon marked this pull request as ready for review April 9, 2026 18:42

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f63185fa3e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread website/src/data/content.js Outdated
command: anim
input-file: assets/base.fbx
options: --merge assets/walk.fbx assets/run.fbx -o assets/merged.fbx`
scan: `# Preview workflow (actively evolving)\nqtmesh scan ./assets --fail-on error\nqtmesh scan ./assets --format sarif -o reports/qtmesh.sarif`,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Use supported SARIF flags in scan example

The new pipelineExamples.scan snippet advertises --format sarif -o ..., but qtmesh scan only parses --sarif <path> (and --report <path>) in src/CLIPipeline.cpp; unsupported flags are ignored, so users copying this command will not actually produce a SARIF file. This is especially problematic for CI users expecting a report artifact from the documented pipeline command.

Useful? React with 👍 / 👎.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (1)
website/src/App.jsx (1)

307-339: Add the Docker example here or remove Docker from the promise.

This section now says the same workflow runs locally, in Docker, and in GitHub Actions, but the rendered examples only show local commands plus GitHub Actions. Since pipelineExamples.docker already exists, either surface that card as part of the grid or trim the subtitle so the section doesn’t under-deliver on the new positioning.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@website/src/App.jsx` around lines 307 - 339, The subtitle claims the same
workflow runs "locally, in Docker, and inside GitHub Actions" but the UI grid
omits the Docker example; add a CodePanel for pipelineExamples.docker (e.g.,
CodePanel title="Docker" code={pipelineExamples.docker} label="docker") into the
<div className={styles.codeGrid}> alongside the other CodePanel components, or
alternatively update the Section.subtitle to remove "in Docker" so the text
matches the shown examples; modify either the grid to include
pipelineExamples.docker or the subtitle string in the Section call to resolve
the mismatch.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@website/index.html`:
- Around line 8-10: Update the meta description and related marketing copy
strings (the meta tag with name="description" and the other similar strings
referenced around lines 15-18, 27-30, 45-57) to temper claims about scan and
validation features by adding qualifiers such as "preview", "in progress", or
"experimental"; e.g., change phrases like "scan and validation workflows" to
"scan and validation (preview) workflows" or "experimental scan and validation
features" so search/social previews don't overpromise while preserving the rest
of the description.

In `@website/src/App.jsx`:
- Line 105: The primary CTA label uses recommendedStore and falls back to
hero.ctaPrimary which can say "Download Latest" while the button opens the
install modal; update the logic around primaryCtaLabel (and the OS-detection
path that sets recommendedStore/unknown-OS behavior) so the fallback label
matches the modal action or, alternatively, when OS is unknown route the button
to the releases page instead of opening the install modal; locate and change the
expression that computes primaryCtaLabel and the code that decides whether to
open the install-modal (the recommendedStore/OS-detection branch referenced near
primaryCtaLabel and the similar block around lines 225-232) to ensure label and
action are consistent.

In `@website/src/data/content.js`:
- Around line 84-91: The githubAction example in the pipelineExamples object
uses a mutable branch reference
("fernandotonon/QtMeshEditor/.github/actions/qtmesh@master"); update the
pipelineExamples.githubAction string to pin the action to an immutable full
commit SHA (replace `@master` with @<full-commit-sha>) so the example demonstrates
secure, deterministic usage—ensure you update the action ref inside the
githubAction value to the actual commit SHA for the qtmesh action.

---

Nitpick comments:
In `@website/src/App.jsx`:
- Around line 307-339: The subtitle claims the same workflow runs "locally, in
Docker, and inside GitHub Actions" but the UI grid omits the Docker example; add
a CodePanel for pipelineExamples.docker (e.g., CodePanel title="Docker"
code={pipelineExamples.docker} label="docker") into the <div
className={styles.codeGrid}> alongside the other CodePanel components, or
alternatively update the Section.subtitle to remove "in Docker" so the text
matches the shown examples; modify either the grid to include
pipelineExamples.docker or the subtitle string in the Section call to resolve
the mismatch.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 73a8e309-cef2-476d-ba94-015a5bc5eac0

📥 Commits

Reviewing files that changed from the base of the PR and between cce1621 and f63185f.

📒 Files selected for processing (4)
  • website/index.html
  • website/src/App.jsx
  • website/src/App.module.css
  • website/src/data/content.js

Comment thread website/index.html
Comment thread website/src/App.jsx Outdated
Comment thread website/src/data/content.js

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@website/src/App.module.css`:
- Around line 528-530: The CSS rule hard-codes .codeGrid > :nth-child(6) to span
two columns causing an empty cell when the total number of CLI cards is even;
replace it with a conditional selector that only makes the last card full-width
when the total count is odd—e.g., replace .codeGrid > :nth-child(6) {
grid-column: span 2; } with .codeGrid > :last-child:nth-child(odd) {
grid-column: span 2; } and apply the same change where the duplicate rule
appears (the other occurrence noted in the comment) so the span only happens
when the last item is at an odd index.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f54bfb40-4b9a-4689-aeb2-7ca3f68dfe36

📥 Commits

Reviewing files that changed from the base of the PR and between f63185f and 7a2d2a7.

📒 Files selected for processing (4)
  • website/index.html
  • website/src/App.jsx
  • website/src/App.module.css
  • website/src/data/content.js
✅ Files skipped from review due to trivial changes (1)
  • website/index.html

Comment on lines +528 to 530
.codeGrid > :nth-child(6) {
grid-column: span 2;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Avoid hard-coding :nth-child(6) for full-width spanning.

With 6 CLI cards (website/src/App.jsx Line 320-327), this rule leaves an empty cell before the full-width card on desktop. Make the span conditional on an odd total count instead.

💡 Suggested CSS tweak
-.codeGrid > :nth-child(6) {
+.codeGrid > :last-child:nth-child(odd) {
   grid-column: span 2;
 }
@@
-  .codeGrid > :nth-child(6) {
+  .codeGrid > :last-child:nth-child(odd) {
     grid-column: auto;
   }

Also applies to: 674-676

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@website/src/App.module.css` around lines 528 - 530, The CSS rule hard-codes
.codeGrid > :nth-child(6) to span two columns causing an empty cell when the
total number of CLI cards is even; replace it with a conditional selector that
only makes the last card full-width when the total count is odd—e.g., replace
.codeGrid > :nth-child(6) { grid-column: span 2; } with .codeGrid >
:last-child:nth-child(odd) { grid-column: span 2; } and apply the same change
where the duplicate rule appears (the other occurrence noted in the comment) so
the span only happens when the last item is at an odd index.

@sonarqubecloud

sonarqubecloud Bot commented Apr 9, 2026

Copy link
Copy Markdown

@fernandotonon
fernandotonon merged commit 5168562 into master Apr 9, 2026
19 checks passed
@fernandotonon
fernandotonon deleted the codex/pipeline-website-positioning branch April 9, 2026 19:55
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.

1 participant