lightspeed.trex.project_settings.core#

Project-scoped USD Settings prim API for persistent toolkit settings.

Settings are stored as USD prims under /ProjectSettings/<area>/<feature> on the project’s root layer, so they follow the project file across machines and shared installations.

Camera clipping override#

The first concrete setting exposed by this extension is the project-wide camera clipping override (REMIX-4628 / GH#912 item #1 / GH#1008):

from lightspeed.trex.project_settings.core import (
    CameraClippingOverride,
    get_camera_clipping_override,
    set_camera_clipping_override,
)

# Read current state
override = get_camera_clipping_override(stage)
# override.enabled, override.near_clip, override.far_clip

# Write new state
set_camera_clipping_override(
    stage,
    CameraClippingOverride(enabled=True, near_clip=0.01, far_clip=100000.0),
)

The setting is stored on the prim /ProjectSettings/Viewport/CameraClippingOverride with attributes enabled (bool), nearClip (float), farClip (float). Parent prims are created on demand as typeless def prims.

Future settings#

This extension is the canonical home for any future project-scoped persistent USD setting. New settings should follow the same pattern: a typed prim under /ProjectSettings/<area>/<feature> with typed attributes, plus a dataclass + read/write helpers exposed from the package.