Skip to content

Website: Public flashdreams website layout#144

Draft
aidanfnv wants to merge 44 commits into
dev/aidanf/flashdreams-sitefrom
dev/aidanf/flashdreams-site-merge
Draft

Website: Public flashdreams website layout#144
aidanfnv wants to merge 44 commits into
dev/aidanf/flashdreams-sitefrom
dev/aidanf/flashdreams-site-merge

Conversation

@aidanfnv
Copy link
Copy Markdown
Collaborator

@aidanfnv aidanfnv commented May 21, 2026

No description provided.

aidanfnv and others added 5 commits May 20, 2026 14:06
…rials, community)

Adds a marketing-style website on top of the existing Sphinx autodoc setup:
a landing page rewrite plus new benchmarks, tutorials, and community
sections. Skeleton-only — content artifacts that don't exist yet
(showcase video, benchmark numbers, Discord URL, maintainers list,
code-of-conduct) are marked as PLACEHOLDER admonitions and are
grep-discoverable via:

  grep -rn ':class: placeholder' docs/source/

Adds Poppins (body) + Chivo (headings) via Google Fonts in
_templates/layout.html, plus a small set of layout components in
_static/custom.css: hero, split-hero, feature card, video embed, CTA
row, stat block, comparison table, callout, placeholder admonition,
section-rule, feature-section. Shape inspired by shader-slang.org;
palette is a neutral placeholder (--fd-accent #3f7c87) to be re-themed
later by editing the token.

Untouched:
- docs/source/apis/*.rst (autodoc-driven)
- docs/source/examples/*.rst (existing per-recipe walkthroughs)
- docs/source/developer_guides/*.rst
- docs/source/conf.py (top navbar uses nvidia-sphinx-theme defaults)

Build: uv run --group docs sphinx-build -W -b html docs/source /tmp/out
finishes with 13 pre-existing autodoc-docstring warnings; zero new from
this PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…TING render, scrubs)

- Top navbar arrangement (logo / centered nav / GitHub + search) via
  html_theme_options. New html_sidebars dict hides the primary sidebar
  on marketing pages (index, benchmarks/**, community/**). Docs-style
  sections (tutorials, api, examples, dev_guides) keep their sidebar,
  now scoped to the current section only via show_nav_level=2,
  collapse_navigation=True, and a CSS rule that hides sibling
  toctree-l1 entries.

- Marketing-page chrome hide: body.fd-layout-marketing CSS drops the
  version subtitle, search button, and persistent navbar containers
  on landing / benchmarks / community. Implemented via layout.html
  body-class tagging for the master doc plus marketing path prefixes.

- CONTRIBUTING.md now renders on-site via myst-parser .. include::
  in community/contributing.rst; myst-parser added to the docs
  dependency group + extensions list; myst_heading_anchors=3 and
  suppress_warnings=["myst.xref_missing"] keep the build clean
  against CONTRIBUTING.md's internal links.

- Landing tagline rewritten to a punchier marketing claim
  ("Sub-second autoregressive video diffusion on a single GPU")
  grounded in PERFORMANCE.md latency numbers. Added a 4-cell
  headline-stat grid that mirrors the benchmarks page headline
  metrics (single source of truth, both placements update together).

- Removed meta-commentary from all pages: PLACEHOLDER convention
  references in prose, Owner/Tracking coordination notes inside
  admonitions, "stub today" / "see placeholder below" / "filled in
  as we land" wordings. The PLACEHOLDER admonitions themselves stay
  (they are the explicit needs-content markers).

- Accuracy fixes from review: tutorials/quickstart now lists
  correct wan21 flags (--output-dir, --pixel-height), notes
  --total-blocks is streaming-only; your-first-generation drops the
  total-block-count reference; advanced-cuda-graphs cites the
  correct line for TEMPLATE_AUTOREGRESSIVE_COMPILED; benchmarks/
  index adds alpadreams to the streaming-runner list and removes
  a placeholder reference to a fabricated --ring-size flag;
  community/index softens the CODEOWNERS claim (no such file
  exists yet).

- UI fix: hover-lift on .sd-card.fd-feature is now scoped to
  cards with sphinx_design's .sd-card-hover class so link-less
  placeholder channel cards don't pretend to be clickable.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Prepare for a dual-build site where:
- docs/marketing/source/ hosts marketing-style pages (landing,
  benchmarks, community) under the nvidia-sphinx-theme + fd-* design
  system. Deploys to flashdreams.org/.
- docs/source/ continues to host the developer documentation tree
  (getting_started, models, developer_guides, reference, apis) under
  whatever theme main wants. Will deploy to flashdreams.org/docs/.

This commit moves the marketing-owned files (index.rst, benchmarks/,
community/, conf.py, _static/, _templates/) out of docs/source/ to
clear the way for main's docs restructure to land via merge. The two
small directories that don't survive the merge (api/ umbrella and
tutorials/) are deleted -- main's apis/index.rst + getting_started/
take their place.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…s-site-merge

# Conflicts:
#	docs/marketing/source/conf.py
#	docs/source/_static/custom.css
#	docs/source/index.rst
The landing pages (homepage, benchmarks, community) live in
`docs/landing/source/` on the nvidia-sphinx-theme and deploy at the
version root. The reference docs (getting_started, models,
developer_guides, apis, reference) stay in `docs/source/` on the furo
theme and deploy under `/docs/`. A single Pages publish writes both
projects so cross-links across the boundary resolve at flashdreams.org.

- `.github/workflows/doc.yml`: dual sphinx-build, assemble combined
  `_build/site/` with the landing project at root and reference docs
  under `docs/`, single Pages deploy.
- Landing pages: rewire dead `:doc:` refs to relative URLs into the
  `/docs/` sibling project. Rename Alpadreams → OmniDreams.
- `docs/landing/source/conf.py`: derive the "Documentation" top-nav
  link target from `DOCS_SUBDIR` so it resolves from every page depth
  on deployed builds.
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 21, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

aidanfnv added 5 commits May 21, 2026 15:12
Replace the single "Documentation" top-nav link with five entries that
route directly into the reference-docs project: Getting Started,
Developer Guides, Models, CLI Reference, API Reference. Each is a
root-relative URL derived from `DOCS_SUBDIR` on deploy, so it resolves
from every page depth at flashdreams.org. Bumps
`header_links_before_dropdown` to 7 (2 toctree + 5 external) to keep
all entries in the primary navbar instead of a "More" overflow.
Move the landing project to the upstream pydata-sphinx-theme directly
and adopt the shared FlashDreams logo (`assets/logo/flashdreams_logo_
horizontal.png`) — the same asset the reference-docs project uses — so
the two halves of the site share visual identity.

- Drop nvidia-specific theme options (`copyright_override`, `footer_links`).
- Add `html_logo` pointing at the shared logo asset.
- Set `footer_start=["copyright"]` / `footer_end=[]` to suppress
  pydata's "Built with the PyData Sphinx Theme" footer credit.
- Swap the docs dep group: `nvidia-sphinx-theme` → `pydata-sphinx-theme`.
Same-repo PRs deploy the assembled site to `pr-previews/<PR_NUMBER>/`
on the `gh-pages` branch, and a sticky comment on the PR carries the
landing + reference-docs preview URLs. A separate workflow
(`doc-preview-cleanup.yml`) removes the subdirectory when the PR
closes, so dead previews don't accumulate.

Fork PRs are skipped — they don't get GITHUB_TOKEN write access, so
the deploy + comment steps would fail. Reviewers on fork PRs still get
the build-check signal from the warnings-as-errors sphinx-build.
`flashdreams.core.attention.rope_kernel` does `import triton` at
module load. CPU-only torch wheels don't ship triton, so the docs-ci
env (which uses pytorch.org's `+cpu` index) can't import it — autodoc
fails to import every recipe and infra module that transitively
loads rope_kernel, which warningiserror turns into a build failure.

Mock `triton` so autodoc can introspect signatures without the actual
package on the runner. Avoids dragging the 176 MB wheel onto CI.
Comment thread .github/workflows/doc.yml Outdated
aidanfnv added 7 commits May 22, 2026 11:51
Landing project:
- Drop the `fd-layout-landing` body class and the template that emitted
  it. The homepage now renders with the same right-side TOC and column
  width as every other page in the project; the dual chrome-class
  scheme was a vestige from before the landing/reference-docs split.
- Drop the `fd-layout-marketing` body-class gate. With every page in
  this project wanting the docs-y chrome hidden (logo subtitle, search
  button), the rules apply unconditionally — no gate needed.
- `_templates/layout.html` is no longer overriding the body tag, so
  the file is gone.

Reference-docs project (`docs/source/_static/custom.css`):
- Remove `.bd-links__title { display: none }` — pydata-sphinx-theme
  class; furo doesn't emit it.
- Remove `body.index .content h1 { ... }` — furo's body has no class
  and the content wrapper isn't `.content`.
- Strip `var(--nv-color-neutral-*, fallback)` indirections from
  `.video-slot`; the nvidia-theme variables don't resolve under furo,
  so the fallback was always in effect.
Collapse the dual-build architecture into a single Sphinx project at
`docs/source/` on `pydata-sphinx-theme`. The front-of-site pages
(landing, benchmarks, community) and the reference docs (getting
started, developer guides, models, APIs, CLI reference) build together,
share one stylesheet, and route via `:doc:` refs — no more cross-
project relative URLs or `DOCS_SUBDIR`-derived `external_links`.

- Move landing pages from the old `docs/landing/source/` into
  `docs/source/`; delete the landing project tree.
- Replace `docs/source/index.rst` with the hero / stat grid / showcase
  / "Why FlashDreams" / feature grid / supported-models / quick-start
  landing layout. Master toctree carries seven captioned sections in
  navbar order (Benchmarks, Getting Started, Developer Guides, Models,
  CLI Reference, API Reference, Community).
- Switch `docs/source/` from `furo` to `pydata-sphinx-theme`. Adopt
  the shared `assets/logo/flashdreams_logo_horizontal.png` via
  `html_logo`. Merge the `fd-*` design-system CSS with the existing
  model-page raw-HTML helpers (`.model-link-button`, `.model-video-*`)
  into a single `docs/source/_static/custom.css`.
- Drop the furo-specific `_templates/sidebar/brand.html` (pydata uses
  a different brand-block template path).
- Rewrite all cross-page links from the old relative-URL form
  (`docs/<section>/<page>.html`) to `:doc:` refs. `:doc:` resolves
  per-page through Sphinx, so adding a section or renaming a path is
  a one-edit change.
- Collapse `.github/workflows/doc.yml` back to a single `sphinx-build`
  step over `docs/source/` and a single Pages deploy. PRs build but
  don't publish.
- Swap `furo` for `pydata-sphinx-theme` in `pyproject.toml`'s docs
  group; add `myst-parser` (used by the `CONTRIBUTING.md` include in
  `community/contributing.rst`).
Reference-docs pages (`getting_started/`, `developer_guides/`,
`models/`, `apis/`, `reference/`) now show the section's sub-pages in
a populated left sidebar. Front-of-site surfaces (`index`,
`benchmarks/`, `community/`) stay sidebar-less.

- `docs/source/conf.py`: explicit per-page-pattern `html_sidebars`
  mapping. Docs sections get the `sidebar-nav-bs` component; the
  homepage and front-of-site sections get an empty list. Also flips
  `collapse_navigation` to `False` so the current section's sub-tree
  stays open in the sidebar, and pins `show_nav_level` to `1` so the
  navbar carries only the seven top-level entries everywhere.
- Master toctree in `docs/source/index.rst` is one flat 7-entry block
  in the navbar order (Benchmarks → Getting Started → Developer Guides
  → Models → CLI Reference → API Reference → Community).
- Section index files (`getting_started/`, `developer_guides/`,
  `models/`, `reference/`) drop the `:orphan:` directive (they're now
  in the master toctree) and add their own `:hidden:` toctree of
  sub-pages, which is what pydata-sphinx-theme reads to render the
  per-section sidebar.
- `docs/source/_static/custom.css`: drop the
  `.bd-sidenav > li.toctree-l1:not(.current) { display: none }` rule
  that was meant to trim the sidebar to the current section but ended
  up hiding everything once the master toctree became flat.
Reconcile the landing/community/benchmarks pages with main's
post-rebase reference-docs structure:

- `apis/` was renamed to `api/`; `reference/` was removed and the CLI
  reference moved to `api/cli`. Section indexes and cross-references
  updated to the new paths.
- `getting_started/` was renamed to `quickstart/`. Master toctree
  label kept as "Getting Started" (Title <target> syntax) so the
  navbar order remains Benchmarks → Getting Started → Developer Guides
  → Models → CLI Reference → API Reference → Community.
- `developer_guides/`: dropped removed pages (`new_recipes`,
  `system_overview`, `configs`); the section now lists main's
  `inference_pipeline_overview`, `config_system`, `new_integration`,
  with `usage_patterns` and `interactive_serving` carried as
  intentionally-hidden orphans per main's comment block.
- `models/`: added `cosmos_predict2`, `flashvsr`, renamed
  `fastvideo_wan22` to `causal_wan22`. Hidden toctree updated to match.
- `_static/custom.css`: kept the `fd-*` design tokens for accent
  color; dropped the furo-specific selectors main re-added
  (`.sidebar-github-link`, `.sidebar-brand`, `.mobile-header`,
  `body.index .content h1`, `.homepage-logo-wrap`) since the site is
  on pydata-sphinx-theme.
- `_templates/sidebar/brand.html`: kept deleted (furo-specific).
- `conf.py`: kept pydata-sphinx-theme + the `html_sidebars` mapping
  that wires `sidebar-nav-bs` per reference-docs section. Adopted
  main's `flashdreams-logo-horizontal*.png` filenames and split
  light/dark via pydata's `html_theme_options["logo"]`.
@aidanfnv aidanfnv changed the title Website/Docs: Add non-docs pages to flashdreams.org, move docs to flashdreams.org/docs Website: Public flashdreams website May 27, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 27, 2026

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://NVIDIA.github.io/flashdreams/pr-preview/pr-144/

Built to branch gh-pages at 2026-06-03 23:26 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

aidanfnv and others added 3 commits May 27, 2026 22:01
…bing prose

- Collapse type scale to 4 sizes (body 16px / lede 20px / section-head 28px /
  hero 52px); alias legacy xs/sm/2xl tokens to the 4-step scale.
- Drop hero title from bold to font-weight 500; keep code-mono as the only
  explicit second font family.
- Default dynamic visual placeholders to animated AVIF (fd-video and
  fd-media-tile support <picture><source type="image/avif"> with MP4 fallback).
- Strip `uv` and `flashdreams-run` from marketing prose across landing,
  benchmarks, community, dev-guides, models index, and all 8 model sub-pages.
  Keep them in code blocks and in quickstart/installation.rst (the explicit
  install-uv pointer page).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Move benchmarks Hardware / Software stack into a methodology dropdown
  (collapsed by default) so internal QA artifacts don't dominate the
  page; populate result tables from _static/performance/*/perf-0521.md;
  switch bidirectional schema to per-step ms to match the available
  data; strip broken PERFORMANCE.md links.
- Convert four FAQ placeholders to sourced answers (hardware / supported
  recipes / packaging / new-recipe pointer); drop the unsourced
  Cosmos/NeMo/NIM FAQ; scrub remaining `flashdreams-run` / `uv sync`
  mentions out of FAQ narrative prose.
- Add a dedicated "Born from OmniDreams" spotlight band on the landing
  page (sources from README); add explicit baseline labels to each
  headline stat tile; cut process-meta commentary about "the final
  reel will replace the placeholder tiles".
- Rewrite developer_guides/index Guides grid for 5 cards (was 3) — fix
  the eyebrow count, expand the lede to cover all five, and rebalance
  :columns: to 8/4/4/4/4 (was 6/2/2/2/2, which summed to 14 and
  produced an ugly 4+1 row layout).
- Restore developer_guides/usage_patterns.rst and interactive_serving.rst
  to the toctree (removed :orphan: directives).
- Drop the invented "Cross-cutting topics" stub card on
  developer_guides/index (no link target, no source).
- Consolidate Self-Forcing slug to self-forcing-wan2.1-t2v-1.3b-taehv
  across all marketing pages (matches integrations/self_forcing/README
  and quickstart/first_world_model.rst).
- Fix entry-point group name in models/index.rst:
  flashdreams.runners -> flashdreams.runner_configs.
- Fix typo: docs/source/apis/*.rst -> docs/source/api/*.rst in
  community/contributing.rst.
- Drop unsupported CODEOWNERS claim from community/index.rst
  (no CODEOWNERS file in tree).
- Wrap the "Frequently asked" intro paragraph in fd-lede to match the
  page's eyebrow -> H2 -> lede pattern.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- docs/source/index.rst: "What's inside" four-card grid was cramped
  (one fd-feature-hero at 6/12 + three supporting cards at 2/12 each,
  all on row 1). Words didn't fit at 2/12 width. Reformat to a clean
  2x2: drop fd-feature-hero on card 1, all four cards at 6/12.
- docs/source/developer_guides/index.rst: revert the "Guides" grid
  back to the previously-directed 8/4 row 1 + 4/4/4 row 2 layout
  (was briefly changed to uniform 6/12 which created an orphan
  trailing card on row 3).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…s-site-merge

Conflicts in 3 model sub-pages were all the same pattern: main added
"launch one of the registered runner slugs via ``flashdreams-run``. For
example:" prose that this branch had previously scrubbed per the
no-plumbing-in-prose rule. HEAD wins on those lines.

Also scrubbed two newly-introduced multi-GPU prose lines that main
added to flashvsr.rst and cosmos_predict2.rst with the same
"use ``torchrun`` on top of ``uv run flashdreams-run``" pattern —
rewritten to "run the same command under ``torchrun``" to stay
consistent with the rest of the model sub-pages.

uv.lock regenerated against the merged pyproject.toml.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@aidanfnv aidanfnv changed the base branch from main to dev/aidanf/flashdreams-site May 29, 2026 00:53
- Master toctree in docs/source/index.rst rewritten to four entries:
  Get Started, Documentation, Benchmarks, Community.
- Landing page (docs/source/index.rst) trimmed to the five sections
  specified by the project lead: title with CTAs immediately under
  the H1, Why FlashDreams, Performance (merge of the prior Headline
  numbers + How it compares), Try FlashDreams, Supported models.
  Removed Born from OmniDreams (closes a thread from #163 / #180
  that had already de-emphasized the OmniDreams origin story on
  main). Aspirational subtitles and the NVIDIA-led framing in the
  hero lede are dropped; tone reworked across landing, benchmarks,
  community for matter-of-fact technical prose. Visual placeholders
  preserved in three sections: hero loop (AVIF), Why FlashDreams
  architecture diagram (SVG light + dark), and a four-tile sample
  rail above the supported-models grid.
- Quickstart consolidated to a single Get Started page; the prior
  installation.rst and first_world_model.rst sub-pages are folded
  into docs/source/quickstart/index.rst.
- New docs/source/documentation/index.rst umbrella becomes the
  Documentation tab landing, routing into developer_guides/ and
  api/. docs/source/_templates/layout.html render-mode switch
  extended so api/*, documentation/*, and developer_guides/* all
  use the pydata docs scaffold (sidebar-nav-bs + page-toc + article
  container); everything else stays full-bleed marketing-flow.
  conf.py html_sidebars and secondary_sidebar_items updated to
  match. documentation/index.rst and developer_guides/index.rst
  rewritten in docs-scaffold style (plain titles, plain
  sphinx_design cards, no fd-* marketing components).
- docs/source/models/index.rst removed; supported-models gallery
  absorbed into docs/source/benchmarks/index.rst with a :hidden:
  toctree listing the 8 per-model sub-pages so they remain
  reachable from the Benchmarks tab.
- Discord invite URL (https://discord.com/invite/nvidiaomniverse)
  wired into footer icon_links and into the in-page community
  surfaces (community/index.rst Where-to-find-us tile,
  community/faq.rst lede, community/support.rst question card +
  callout). GitHub + Discord icon links in the footer use
  FontAwesome brand SVGs via html_theme_options icon_links;
  footer CSS in _static/custom.css.
- Cross-reference cleanup: every prior :doc:`/models/index`
  retargets to :doc:`/benchmarks/index`; the two refs to the
  deleted /quickstart/first_world_model retarget to
  /quickstart/index.
- Bug fix already on the branch carried forward: entry-point group
  name is flashdreams.runner_configs (was flashdreams.runners on a
  stale info-card on models/index).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@aidanfnv aidanfnv changed the title Website: Public flashdreams website Website: Public flashdreams website layout May 29, 2026
aidanfnv and others added 15 commits May 29, 2026 16:49
Target branch is still on furo while this branch migrated to
pydata-sphinx-theme; three conflicts in docs/source/ required
resolution:

- docs/source/_templates/sidebar/brand.html: modify/delete. Target
  updated the furo sidebar-brand template to SVG logos; this branch
  removed it as part of the furo->pydata migration. Kept the
  deletion (the file is a furo-specific template override; pydata
  renders the logo via navbar-logo from html_theme_options["logo"]).
- docs/source/conf.py: kept this branch's pydata html_theme_options
  block (logo dict, secondary_sidebar_items / html_sidebars matched
  to the four-tab navbar, icon_links for footer GitHub+Discord,
  footer_start/end, navbar arrangement). Updated logo image_light /
  image_dark from the now-deleted PNGs to the SVGs target shipped
  in assets/logo/ — the SVGs land at _static/horizontal-*.svg at
  build time via html_static_path.
- docs/source/index.rst: kept this branch's marketing-flow hero
  (`fd-split fd-split-asymmetric-reverse` containing CTA buttons +
  hero illustration placeholder). Target's inline furo `<style>`
  hiding the H1 + the homepage-logo `<img>` block are dead under
  pydata.

Auto-merged: docs/source/_static/js/benchmark_chart.js,
docs/source/models/flashvsr.rst, docs/source/models/omnidreams.rst,
pyproject.toml, uv.lock. The two model sub-pages retain target's
new perf-table + video content alongside this branch's
plumbing-prose scrub (flashdreams-run stays in code blocks only).
The rest of the target's work (FlashVSR parity check additions,
OmniDreams native source build / WebRTC viewer UI alignment /
performance tables, ludus renderer changes, slangpy HUD GPU
camera scaling, ty upgrade, interactive-drive cuDNN-MHA fix,
README updates) lands as-is.

Build verified clean by flashdreams-reviewer:
`sphinx-build -W -b html` exit 0, zero warnings, 28 pages
rendered. Render-mode partition intact (api/* + documentation/* +
developer_guides/* on the docs-scaffold side; landing / quickstart
/ benchmarks / community / models/* on the marketing-flow side).
Logo SVGs resolve. Navbar is the four canonical entries. Discord
URL is the real invite. No conflict markers remain.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…flashdreams-site

PR #144 was retargeted from main to dev/aidanf/flashdreams-site so
the public-website work can land on a long-lived integration branch
before going to main. The workflow's `pull_request: branches: [main]`
filter was hiding the build + per-PR preview for the retargeted PR.

Add `dev/aidanf/flashdreams-site` to the pull_request branch filter
so the docs build runs and `rossjrw/pr-preview-action` publishes a
preview at `gh-pages:pr-preview/pr-<number>/` for PRs targeting the
integration branch.

Other gates unchanged:

- Production deploy stays `push` / `release` / `workflow_dispatch`
  on `main` only — pushes to the integration branch don't publish.
- `merge_group` stays main-only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…site-placeholders)

The marketing surface carried 15 PLACEHOLDER admonitions across four
files — hero loop, architecture diagram, four supported-model sample
frames on the landing; six pending-channel slots in community; one
measurement-harness slot in benchmarks. So PR #144 can ship the
complete-content-only version, all 15 are removed here. The
placeholders are re-added on the sibling branch
`dev/aidanf/flashdreams-site-placeholders` (PR target: this branch),
where the visual / channel work can land as the real assets become
available.

Structural collapses that fell out of the removal:

- `index.rst` Hero: the `fd-split fd-split-asymmetric-reverse` and
  `fd-split-text` wrappers existed only to pair text with the hero-loop
  placeholder; they collapse. Hero is now `fd-hero fd-hero-band` with
  lede + CTA row directly inside.
- `index.rst` Why FlashDreams: the `fd-split fd-split-asymmetric`
  wrapper existed only to pair the three-pillar prose with the
  architecture-diagram placeholder; it collapses to plain prose.
- `index.rst` Supported models: the `fd-media-rail fd-media-rail-4`
  block (four sample-frame placeholder tiles) sat above the 8-card
  grid; the entire rail is gone. The grid stays.
- `community/index.rst` Where-to-find-us: rail drops from four tiles
  to two (GitHub Issues + Discord, both real). Class flips
  `fd-media-rail-4` -> `fd-media-rail-2`. Lede tightens to mention
  only those two channels.
- `community/support.rst` Triage-and-labels: the section's only
  content was a label-vocabulary placeholder; section removed.

Reviewer verified: `sphinx-build -W` exit 0 with zero warnings, no
broken refs, render-mode partition intact (api/* + documentation/* +
developer_guides/* docs scaffold; everything else marketing-flow),
navbar still the four canonical entries.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The earlier addition of `dev/aidanf/flashdreams-site` to the
`pull_request: branches` filter only covered the integration branch
itself. PRs targeting downstream branches (e.g.
`dev/aidanf/flashdreams-site-merge`, which is the target of the new
placeholders PR) didn't trigger the workflow.

Use a glob `dev/aidanf/flashdreams-site*` so any branch in the
public-website integration line gets PR previews automatically —
present sub-branches (`-merge`, `-placeholders`) and any future ones.
Production deploy gates (push / release / workflow_dispatch) stay
main-only, so this only widens the preview-on-PR surface.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`community/contributing.rst` is an `.. include::` of the repo-root
CONTRIBUTING.md — a long, multi-section page that benefits from a
right page TOC. Flip it off the marketing-flow side so it renders
with the `bd-article` shell + `page-toc`; keep the left section-nav
suppressed because there's no useful sibling-tree to surface (the
other community pages stay marketing-flow).

Concretely:

- `_templates/layout.html` `_fd_is_reference` Jinja helper now matches
  `pagename == 'community/contributing'` in addition to the existing
  `api/*`, `documentation/*`, `developer_guides/*` prefixes. This puts
  contributing on the docs-scaffold side (`<article class="bd-article">`).
- `conf.py` `secondary_sidebar_items` and `html_sidebars` had their
  `community/*` wildcard replaced with four explicit entries
  (`community/index`, `community/faq`, `community/support`,
  `community/contributing`) to avoid pydata's pattern-overlap warning.
  Contributing gets `["page-toc"]` (right TOC) and `[]` (no left
  section-nav); the other three stay `[]` / `[]` (marketing-flow).
- No CSS adjustments needed — pydata applies `hide-on-wide` to the
  empty primary-sidebar container, so the desktop rail is suppressed.

Other community pages, the homepage, quickstart, benchmarks, and
per-model pages remain marketing-flow. `api/*`, `documentation/*`,
`developer_guides/*` keep their full docs scaffold unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two branch-naming conventions exist for the public-website work:

- Older: `dev/aidanf/flashdreams-site-*` (the integration branch itself
  and its `-merge` / `-placeholders` siblings)
- Newer: `dev/aidanf/flashdreams_site/<area>` (topic branches like
  `flashdreams_site/community` for area-scoped work)

The prior `pull_request.branches` glob `'dev/aidanf/flashdreams-site*'`
only matched the older shape. Extend the filter so the new path-style
shape (`flashdreams_site/*`) also fires PR preview builds. Production
deploy gates (push / release / workflow_dispatch) stay main-only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ext)

This branch ships a thin community surface; the prose work lives on
the sibling text branch (`dev/aidanf/flashdreams-site-text`) where
faq/support content + the three index sections will be re-authored.

Four files in `docs/source/community/`:

- `faq.rst` — stripped to the SPDX header only.
- `support.rst` — stripped to the SPDX header only.
- `contributing.rst` — removed the trailing "Documentation
  contributions" H2 section + the `New components or assets?`
  fd-callout admonition. File is now SPDX header + the canonical
  `.. include::` of repo-root `CONTRIBUTING.md`.
- `community/index.rst` — removed three H2 sections: "Code of
  conduct", "Maintainers", "Releases". The rest of the page is
  unchanged (hero, "Where to find us" media rail, Contributing
  split + info card, Frequently asked blurb, closing CTA banner).

Known interim cosmetic state: with `faq.rst` and `support.rst` lacking
H1 titles, Sphinx silently substitutes `<no title>` in seven user-
visible spots (faq/support browser titles, the `:doc:`faq`` link in
the FAQ blurb on `community/index.rst`, prev/next link `title` attrs).
The build still passes `-W` (no warnings), and the text-branch PR
will re-author the content into both pages before this branch is
user-facing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The Documentation tab was a single-file directory: one `index.rst`
inside `docs/source/documentation/`, with nothing else. Flatten to
`docs/source/documentation.rst` at the source root. The tab still
routes to the same place; URL becomes `/documentation.html` instead
of `/documentation/`.

Mechanical change across three files plus the file move:

- `docs/source/documentation/index.rst` → `docs/source/documentation.rst`
  via `git mv`. File content unchanged.
- `docs/source/documentation/` directory removed (now empty).
- `docs/source/index.rst`: the inline `:doc:` cross-ref in Why
  FlashDreams and the master toctree entry both retargeted from
  `documentation/index` to `documentation`.
- `docs/source/conf.py`: the `documentation/*` pattern in
  `html_sidebars` and `secondary_sidebar_items` became
  `documentation` (exact match). The new `html_sidebars["documentation"]`
  is `[]` so the empty primary-sidebar container is suppressed on
  desktop via pydata's `hide-on-wide` class — same shape as
  `community/contributing`. `secondary_sidebar_items["documentation"]`
  is `["page-toc"]`, but the rendered TOC is empty because the page
  has no H2/H3 sub-headings (it's a hub of two cards).
- `docs/source/_templates/layout.html`: the `_fd_is_reference` Jinja
  helper had `pagename.startswith('documentation/')` swapped for
  `pagename == 'documentation'` (the flat pagename has no slash).
  Adjacent comment updated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Both sections had only one file (`index.rst`) after prior consolidations,
matching the documentation-tab flatten in 92f6124. Same treatment:
move the file up one level, remove the empty directory, update the
master toctree + every inbound cross-ref + the per-page-pattern maps
in `conf.py` + the prose-narrow tuple in `_templates/layout.html`.

The quickstart section also gets a file-name rename: `quickstart/index.rst`
is now `get_started.rst`, matching the navbar label and URL semantics.
Benchmarks keeps its name: `benchmarks/index.rst` is now `benchmarks.rst`.

File moves (via `git mv`, history preserved):

- `docs/source/quickstart/index.rst` -> `docs/source/get_started.rst`
- `docs/source/benchmarks/index.rst` -> `docs/source/benchmarks.rst`
- `docs/source/quickstart/` and `docs/source/benchmarks/` directories
  removed.

Cross-reference retargets:

- `docs/source/index.rst` (6 refs): 3 `quickstart/index` -> `get_started`
  (hero CTA button, Try-FlashDreams link, master toctree), 3 `benchmarks/index`
  -> `benchmarks` (Why-FlashDreams ref, Performance lede, master toctree).
- `docs/source/community/index.rst:129` `/quickstart/index` -> `/get_started`.
- `docs/source/api/cli.rst:59` and `docs/source/developer_guides/interactive_serving.rst:63`:
  `/quickstart/index` -> `/get_started`.
- `docs/source/api/integrations.rst:34`, `docs/source/developer_guides/usage_patterns.rst:120`,
  `docs/source/developer_guides/index.rst:76`: `/benchmarks/index` -> `/benchmarks`.
- `docs/source/developer_guides/index.rst:78`: `/quickstart/index` -> `/get_started`.
- Inside the moved files: `get_started.rst` has 2 refs to `/benchmarks/index`
  retargeted to `/benchmarks`; `benchmarks.rst` has 1 ref to `/quickstart/index`
  retargeted to `/get_started`.

Config changes:

- `docs/source/conf.py` `secondary_sidebar_items` and `html_sidebars`:
  `"quickstart/*": []` -> `"get_started": []`, `"benchmarks/*": []` -> `"benchmarks": []`.
- `docs/source/_templates/layout.html` `_fd_prose_narrow_indices` tuple:
  `quickstart/index` -> `get_started`, `benchmarks/index` -> `benchmarks`.
  Adjacent explanatory comments + a stale "Six top-level sections" comment
  in `conf.py` (still listed the pre-restructure 6-tab navbar) updated to
  match the current 4-tab shape (Get Started, Documentation, Benchmarks,
  Community).

The `:hidden:` toctree at the bottom of `docs/source/benchmarks.rst`
still references the 8 per-model `models/*.rst` sub-pages by their
`/models/<slug>` paths -- those continue to resolve since the models
directory wasn't touched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…flashdreams_site/dev_guides_text)

The developer_guides content that was rewritten in this PR
(developer_guides/index.rst marketing-flow-then-docs-scaffold
rewrites, :orphan: removals on usage_patterns and interactive_serving,
plumbing-prose scrubs across sub-pages) is moving to a sibling branch
`dev/aidanf/flashdreams_site/dev_guides_text` for its own PR review.
This branch reverts those text/prose changes to origin/main state.

Three structural compensations preserved on this branch (not reverted)
because they're required by deletions/restructuring elsewhere in this
PR, not by the dev_guides text work:

- `developer_guides/interactive_serving.rst:65`: cross-ref retargeted
  from `/quickstart/first_world_model` (main's value, deleted by the
  Get Started consolidation earlier in this PR) to `/get_started` (the
  post-flatten Get Started page path).
- `developer_guides/usage_patterns.rst:122`: cross-ref retargeted from
  `/models/index` (main's value, deleted by the model-gallery absorption
  into benchmarks earlier in this PR) to `/benchmarks` (the post-flatten
  benchmarks page path).
- `developer_guides/index.rst`: appended a `:hidden:` toctree at the
  bottom listing the three non-orphan dev-guide children. main relied
  on a `:caption: Developer guides` block in the master toctree
  (`docs/source/index.rst`) to put those children in a toctree; the
  4-tab navbar restructure removed that block, so the toctree lives
  on `developer_guides/index.rst` here. `usage_patterns` and
  `interactive_serving` stay `:orphan:` (matching main).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Integrates PR #226 (community section) and PR #236 (landing-page
promo video) into the pydata-migrated site-merge branch.

- Promo video block on index.rst stays as resolved on site-merge
  (the canonical version landed via PR #236).
- community/contributing.rst (CONTRIBUTING.md include) is replaced
  by the shorter contribute.rst summary page; community/discord.rst
  is added as a new sub-page linked from the Where-to-find-us
  Discord tile.
- _fd_is_reference helper drops the community/contributing carve-
  out — both new community pages render in marketing-flow layout.
- conf.py html_sidebars and secondary_sidebar_items patterns
  enumerate contribute/discord/faq/support in place of
  contributing.
Splits the quickstart half of ebbe1ac (Flatten quickstart + benchmarks
sections to single source-root files) back out so it can ship as its
own PR. The benchmarks half of that commit stays — only the quickstart
file-name change is reverted here.

- `docs/source/get_started.rst` → `docs/source/quickstart/index.rst`
  (via `git mv`, history preserved).
- All inbound refs retargeted: `get_started` → `quickstart/index` in
  the master toctree + hero CTA + Try-FlashDreams callout in
  `index.rst`; `/get_started` → `/quickstart/index` in `benchmarks.rst`,
  `api/cli.rst`, `community/index.rst`, `developer_guides/interactive_serving.rst`.
- `conf.py` per-page-pattern maps: `"get_started": []` →
  `"quickstart/*": []`.
- `_templates/layout.html` `_fd_prose_narrow_indices`: `get_started`
  → `quickstart/index`; adjacent comments updated.

The navbar label stays "Get Started" — only the toctree target
changes. The rename lands separately on
dev/aidanf/flashdreams_site/get_started.
The Quickstart section landed on site-merge as a single consolidated
page (c6e7e56 folded `quickstart/installation.rst` and
`quickstart/first_world_model.rst` into `quickstart/index.rst`). Per
the project lead's direction, that consolidation should ship as its
own PR rather than mixed into the navbar restructure on site-merge.
This commit restores the 3-file structure that's on `origin/main`:

- `docs/source/quickstart/installation.rst` restored from main.
- `docs/source/quickstart/first_world_model.rst` restored from main.
- `docs/source/quickstart/index.rst` restored from main, with two
  small adjustments needed to fit the 4-tab navbar this branch
  carries:

  - Drop the `:orphan:` directive — `quickstart/index` is the
    navbar's Get Started target on site-merge, so it must be in the
    master toctree (it is, via index.rst), not orphaned.
  - H1 renamed "Quickstart" → "Get Started" to match the navbar
    label.
  - Add a `:hidden:` toctree listing the two sub-pages so they're
    reachable from the section landing.

- The two refs that were retargeted from `/quickstart/first_world_model`
  to `/quickstart/index` (`docs/source/api/cli.rst:59`,
  `docs/source/developer_guides/interactive_serving.rst:65`) restored
  back to `/quickstart/first_world_model`.

- The two refs inside the restored sub-pages that pointed at
  `/models/index` are retargeted to `/benchmarks` — `models/index`
  was removed on site-merge when the supported-models gallery was
  absorbed into `benchmarks.rst`, so the original main-state refs
  would break the build here.

The consolidation + rename now lives entirely on
dev/aidanf/flashdreams_site/get_started.
…rate PR)

The Benchmarks tab on this branch landed as a single combined page
(`docs/source/benchmarks.rst`) that mixed three things: benchmark
methodology + per-recipe results tables (new content), the
supported-models gallery (absorbed from `models/index.rst`), and a
hidden toctree to keep the 8 per-model pages reachable. The 8
per-model pages (`models/*.rst`) were also edited on this branch
alongside the absorption.

Per the project lead's direction, the benchmarks methodology + results
content, the supported-models gallery absorption, and the per-model
page edits all ship as a single follow-up PR on
dev/aidanf/flashdreams_site/benchmarks. This branch reverts to the
main-state shape for `models/` and drops `benchmarks.rst`.

- `docs/source/benchmarks.rst` removed (the methodology + results
  content moves to the new branch).
- `docs/source/models/index.rst` restored from `origin/main`, with two
  small adjustments to fit the 4-tab navbar:
  - `:orphan:` removed — `models/index` is the navbar's Benchmarks
    target on this branch, so it must be in the master toctree.
  - Hidden `:maxdepth: 1` toctree added listing the 8 per-model
    pages so they stay reachable from the Benchmarks tab.
- `docs/source/models/*.rst` (8 files) restored from `origin/main`.

Master toctree (`docs/source/index.rst`): the Benchmarks entry now
reads `Benchmarks <models/index>` so the navbar label stays
"Benchmarks" but the target is the models gallery.

Cross-reference retargets `/benchmarks` → `/models/index`:

- `docs/source/index.rst:119` Performance-section "benchmarks page"
  link.
- `docs/source/api/integrations.rst:34`.
- `docs/source/quickstart/installation.rst:88`.
- `docs/source/quickstart/first_world_model.rst:65`.
- `docs/source/developer_guides/usage_patterns.rst:122`.

Config changes:

- `docs/source/conf.py` `secondary_sidebar_items` and `html_sidebars`:
  drop the `"benchmarks": []` entries (the page no longer exists);
  `"models/*": []` already covers `models/index` and all 8 sub-pages.
- `docs/source/_templates/layout.html`: `_fd_prose_narrow_indices`
  `benchmarks` → `models/index`; adjacent comments updated.
- `docs/source/_static/custom.css`: two comments updated to point
  at "models gallery" rather than "benchmarks index".
Resolves four conflicting files plus two trailing docutils lints
that surfaced once the new content from base settled in.

Conflict resolutions:

- `docs/source/conf.py`: keep HEAD's `suppress_warnings = ["myst.xref_missing"]`
  block — needed to silence the GitHub-relative-link warnings the
  CONTRIBUTING.md include emits in Sphinx (e.g. links to `LICENSE`,
  `reuse.toml`).
- `docs/source/index.rst`: take HEAD entirely. Site brought a different
  landing-page prose shape (OmniDreams demo positioning, a
  comparison figure, multi-toctree caption structure for Models /
  Developer guides / API / Community) that conflicts with the
  project-lead's prescribed 5-section structure (Title + CTAs / Why
  FlashDreams / Performance / Try FlashDreams / Supported models) and
  the 4-tab navbar (Get Started · Documentation · Benchmarks ·
  Community). The landing-page-marketing-is-invented exemption to
  source-from-existing-docs applies here.
- `pyproject.toml` `docs` dependency group: keep HEAD's
  pydata-sphinx-theme migration (drop `furo>=2024.0` since the
  furo→pydata switch is part of site-merge); restore the version-pin
  convention from base — `sphinx>=7.0`, `sphinx-autobuild>=2024.0`,
  `sphinx-copybutton>=0.5`, `sphinx-design>=0.5`, `myst-parser>=4.0`,
  plus `pydata-sphinx-theme>=0.18` (matches the resolved 0.18.0 in
  uv.lock).
- `uv.lock`: regenerated via `uv lock`. Picks up the version bump to
  `0.1.0rc1` across the workspace packages (base PR #259) and resolves
  the docs group cleanly under the pinned floors above.

Lint fixes uncovered by `sphinx-build -W` after the merge:

- `docs/source/api/serving.rst:61` and
  `docs/source/developer_guides/usage_patterns.rst:124`:
  un-comment the `interactive_serving` cross-ref bullets. They were
  commented out on base (`.. -` prefix) but the page exists on
  site-merge, and the comment-then-bullet sequence triggered
  "Explicit markup ends without a blank line" / "Bullet list ends
  without a blank line" docutils warnings under `warningiserror`.
aidanfnv added a commit that referenced this pull request Jun 3, 2026
Resolves a single modify/delete conflict.

- `docs/source/models/index.rst`: deleted on the benchmarks branch
  (the supported-models gallery now lives as the Supported-models
  section of `benchmarks.rst`), but site-merge brought it back when
  PR #144 absorbed `origin/dev/aidanf/flashdreams-site`. Keep the
  deletion — the benchmarks branch's whole job is to replace
  `models/index.rst` with `benchmarks.rst`.

The auto-merge handled the rest:
- `conf.py` / `_templates/layout.html` / `_static/custom.css` kept
  this branch's `"benchmarks": []` patterns and
  `_fd_prose_narrow_indices = ('community/index', 'quickstart/index',
  'benchmarks')` — both directions agreed on the benchmarks-side
  shape.
- `docs/source/index.rst` kept this branch's master toctree
  (`benchmarks` as the Benchmarks tab target) and the
  `:doc:\`benchmarks page <benchmarks>\`` reference in the
  Performance section.
- `docs/source/models/*.rst` (8 files) auto-merged cleanly: this
  branch's marketing-flow rewrites win over site-merge's main-state
  shape, since the per-model edits are part of the benchmarks PR.
- `docs/source/api/integrations.rst` /
  `docs/source/quickstart/installation.rst` /
  `docs/source/quickstart/first_world_model.rst`: kept this branch's
  `/benchmarks` cross-refs.
aidanfnv added a commit that referenced this pull request Jun 3, 2026
Three modify/delete conflicts, two content conflicts, and two stale
cross-refs.

Modify/delete conflicts (each side wants its own outcome — pick
whichever side authored the deletion):

- `docs/source/benchmarks.rst`: deleted on site-merge (the Benchmarks
  navbar tab targets `models/index` there after the
  models→benchmarks split moved to
  `dev/aidanf/flashdreams_site/benchmarks`), modified here (cross-ref
  retargets only). Accept the deletion.
- `docs/source/quickstart/installation.rst` and
  `docs/source/quickstart/first_world_model.rst`: deleted here (the
  consolidation into the flat `get_started.rst` is this branch's job),
  modified by site-merge (PR #144 brought in main-state edits). Keep
  the deletions.

Content conflicts (combine both sides' worldviews — this branch keeps
`get_started`, site-merge brings `models/index` as the Benchmarks
target after the un-absorption):

- `docs/source/_templates/layout.html`: `_fd_prose_narrow_indices` is
  now `('community/index', 'get_started', 'models/index')` and the
  two adjacent comment blocks updated to match.
- `docs/source/conf.py`: comment blocks above `secondary_sidebar_items`
  and `html_sidebars` updated to describe the get_started + models
  gallery shape. Add a one-line note tying `get_started` to the
  branch's rename of `quickstart/index.rst`. The dict entries
  themselves auto-merged correctly — both sides agreed
  `"get_started": []` is the right key.

Stale cross-refs uncovered by `sphinx-build -W` after the merge:

- `docs/source/get_started.rst:121` and `:131`: `:doc:\`/benchmarks\``
  → `:doc:\`/models/index\``. The flat `benchmarks.rst` doesn't
  exist on this branch (site-merge removed it); the Benchmarks tab
  routes via `models/index`.
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