Skip to content

Update the splat LOD docs for engine 2.23's distance-only LOD - #1267

Open
willeastcott wants to merge 1 commit into
mainfrom
claude/suspicious-almeida-f404cf
Open

willeastcott wants to merge 1 commit into
mainfrom
claude/suspicious-almeida-f404cf

Conversation

@willeastcott

Copy link
Copy Markdown
Contributor

Updates the engine Gaussian splatting LOD docs (en + ja) for PlayCanvas Engine 2.23.0, where splat LOD became distance-only again (playcanvas/engine#9584). I checked the text against gsplat-params.js, component.js, constants.js and the budget balancer at engine tag v2.23.0.

What changed

Streamed SOG (building/lod-streaming.md)

  • How LOD Is Chosen now describes per-component LOD distances: lodBaseDistance (default 5, minimum 0.1, world units, the LOD 0 → 1 transition) and lodMultiplier (default 3, minimum 1.2, the factor between successive transitions). It includes a worked example of the transition distances and the FOV compensation.
  • LOD Mode and LOD Falloff are replaced by Budget Mode, covering splatBudgetMode:
    • GSPLAT_BUDGET_TARGET (default) raises detail until the budget is used up. The engine scales every splat's LOD distances by one shared factor, so the distances only shape the falloff.
    • GSPLAT_BUDGET_LIMIT lets the distances decide the detail, and the budget only lowers it.
  • A budget of 0 or less now means no budget, with what that does in each mode.
  • Dropped the error-metric explanation and the 2.22 default note.

Performance (building/performance.md)

  • Global Splat Budget: dropped "always active" and "spending it where it improves the image the most". The section now says the budget is a target by default, that 0 or less means no budget, and that fixed (non-streamed) assets render in full and use up part of the budget.
  • LOD Mode and Falloff is now LOD Distances and Budget Mode, with a lodBaseDistance / lodMultiplier / splatBudgetMode snippet instead of lodMode / lodFalloff.
  • The Recommended Configuration step about tuning LOD distances names the two properties and when to switch to limit mode.

Streamed SOG format spec (formats/streamed-sog.md, §3.3)

  • The engine no longer reads the lodErrors / errors data, so the line "the PlayCanvas engine spends its splat budget by error removed per splat" now says it picks LOD levels by camera distance and does not read them. The format section itself is unchanged.

Japanese

  • The ja twins of all three pages are translated to match. Headings that were rewritten or added carry explicit English IDs ({#how-lod-is-chosen}, {#budget-mode}, {#lod-distances-and-budget-mode}).

Not changed

  • Web Components manual: already updated on the docs-web-components-0-28-0 branch.
  • Editor manual (editor/scenes/components/gsplat.md LOD Falloff, editor/interface/settings/rendering.md): it documents the Editor UI, and Editor main still exposes LOD Falloff and LOD Mode (src/editor/inspector/components/gsplat.ts, settings-panels/rendering.ts). Those pages should change when the Editor picks up engine 2.23.

Verification

  • npm run lint: 0 issues.
  • npm run build (en + ja): succeeds with no broken links or anchors.

🤖 Generated with Claude Code

Engine 2.23 (playcanvas/engine#9584) removed GSplatParams#lodMode and
GSplatComponent#lodFalloff. LOD is chosen by distance from
lodBaseDistance and lodMultiplier, and the new splatBudgetMode makes the
splat budget a target to fill (default) or a limit. A budget of 0 or
less means no budget.

Rewrite the Streamed SOG and Performance LOD sections (en + ja) to match,
and correct the Streamed SOG format spec, which said the engine spends
its budget by the lodErrors data it no longer reads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
Preview — 025e6493 Deployed Oct 4, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant