Skip to content

docs: vendor-neutralize official docs (scrub gratuitous Leia/SR mentions) + fix stale drivers/leia refs #412

@dfattal

Description

@dfattal

Goal

Scrub gratuitous vendor-specific mentions ("Leia", "SR weaver", "SR SDK", "SR Hydra", "Dimenco", etc.) from the official, vendor-neutral docs so architecture/conventions don't bake in one vendor's behavior. This is the doc-side follow-through on the vendor-isolation principle (ADR-003/007/019) and the color-management work in #409 / ADR-021 (#411).

Scope decision (already made): Aggressive + fix stale content along the way.

Out of scope / leave alone: docs/vendors/** (vendor-specific by design), docs/archive/** (historical), docs/internal/** (not published). Source-code comments are a separate concern — not this issue.

Category rules (apply per-mention)

Category Example Action
1. Gratuitous stand-in "SR weaver", "Compositor queries SR weaver", "e.g. LeiaSR D3D11 weaver" Neutralize → "the display processor / the vendor DP / the vendor weaver"
2. Spec authorship metadata "Author | Leia Inc.", "David Fattal (Leia Inc.)" Keep (factual)
3. Real artifact / registry strings DisplayXR-LeiaSR.dll, the leia-sr registry/JSON examples, literal CI guard SimulatedReality Keep (concrete + correct)
4. Worked numeric examples "Leia (3840×2160)", "Leia SR (3840x2160 display, 0.5x0.5)" Genericize → "a 4K 3D display (e.g. 3840×2160, 0.5×0.5)"
5. Vendor SDK behavior in extension specs win32_window_binding §7 SR-weaver WndProc/race-condition internals; display_info SwitchableLensHint Relocate to docs/vendors/leia/ + leave a neutral pointer in the spec

File inventory (from grep Leia|LeiaSR|SR Hydra|Dimenco|SimulatedReality|SR SDK|SR weaver)

ADRs (cat 1 mostly; cat 3 in 019/020 — keep DLL names): ADR-001, ADR-003, ADR-004, ADR-007, ADR-010, ADR-015, ADR-018, ADR-019, ADR-020

architecture/:

  • in-process-vs-service.md — heavy "SR weaver" throughout (cat 1) — neutralize to "the display processor".
  • project-structure.mdSTALE (fix): documents a src/xrt/drivers/leia/ tree (lines ~20, 59-78, 165, 198, 275) that ADR-019 extracted to the displayxr-leia-plugin repo; the runtime no longer ships it. Rewrite that section to reflect plugin extraction (drivers/ now = sim_display + qwerty; vendor DPs are plug-ins) + neutralize.
  • compositor-pipeline.md:14 — "Leia does lenticular interlacing" → "a lenticular vendor DP".
  • separation-of-concerns.md:114 — "e.g., LeiaSR LookaroundFilter" → generic.

specs/runtime/: multiview-tiling.md (cat 4 numeric examples + cat 1), legacy-app-support.md (cat 4), plugin-discovery.md (mostly cat 3 — keep registry/JSON/DLL examples; neutralize prose stand-ins only).

specs/extensions/: XR_EXT_win32_window_binding.md (cat 5 relocate — large §7 SR-weaver internals, plus cat 1 throughout), XR_EXT_display_info.md (cat 2 keep author; cat 5 SwitchableLensHint; cat 1/4 prose), XR_EXT_cocoa_window_binding.md (cat 2 author; cat 1 prose), XR_EXT_workspace_file_dialog.md (cat 2 author), XR_EXT_spatial_workspace.md.

specs/vendor/: eye-tracking-modes.md, display-processor-interface.md — these describe the vendor contract; neutralize stand-ins, keep the worked DP-table examples generic.

reference/: xrt_plugin_iface.md ("Leia is MANAGED-only; sim_display is MANUAL-only" → "a typical hardware DP is MANAGED-only"), qwerty-device.md (pose-delegation prose), window-drag-rendering.md (SR-weaver thread-safety prose → "the vendor weaver").

roadmap/: surround-2d-rollout.md, multi-display-single-machine.md, probe-displays-iface-sketch.md, overview.md, prfaq.md, vendor-plugin-architecture.md, spatial-workspace-controller-detection.md, avatar-overlay-native.md — neutralize stand-ins; product/roadmap "first vendor integration" framing may stay if factual.

guides/: vendor-plugin-onboarding.md — keep the worked example but mark it explicitly as "example vendor"; neutralize incidental stand-ins.

getting-started/: building.md, full-stack-install.md, android-*.md, overview.md — install guides: keep artifact/plugin names (users install the real plug-in); neutralize only incidental prose.

README: docs/README.md — neutralize stand-ins.

Done-when

  • grep -rIE 'Leia|SR weaver|SR SDK|SR Hydra|Dimenco' docs/ --exclude-dir=vendors --exclude-dir=archive --exclude-dir=internal returns only category-2 (authorship) and category-3 (literal artifact/registry/CI strings) hits.
  • project-structure.md no longer claims a src/xrt/drivers/leia/ tree exists in this repo.
  • Relocated vendor SDK behavior lives under docs/vendors/leia/ with neutral pointers from the specs.
  • Inbound anchor links still resolve (renaming headings breaks anchors — grep for #color-space-style links before/after, as in docs(color): ADR-021 encoding-state invariant + DP-declared handoff [#409] #411).

Process notes

  • Docs-only → per repo convention, no PR: branch off main, neutralize, merge locally, push direct. (Stale-content fix to project-structure.md is still docs.)
  • Shared clone has concurrent sessions — re-check git branch --show-current before commit; don't clobber others' WIP.
  • Keep ADR/architecture/spec prose vendor-neutral; the concrete vendor mechanism for color lives in docs/vendors/leia/weaver.md (added in docs(color): ADR-021 encoding-state invariant + DP-declared handoff [#409] #411) as the model to follow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions