All docs
lsdtools.lod reference
Generated public SDK reference for lsdtools.lod.
SDK distribution 1.0.0; API contract 1.0; generator 1.0.0.
Product source digest: 170db6f659e9f79609ddaaec494ffad41f1d659a96001371132843e0c17a7e27.
Generated from declared public exports and source syntax. Signatures and annotations are declaration spellings; decorators, factories and annotations are never executed. Class members below are declared members; base classes remain explicit. Source docstrings describe their owning implementation; they do not grant app permissions.
Mesh detail and general per-consumer detail policies.
``prepare_family`` runs during asset preparation. Store ``MeshFamily.to_bytes()``
as a ``.meshfamily`` asset; runtime consumers only select its resident levels.
``DetailWorld`` shares camera measurements across independent ``DetailScheduler``
consumers. ``DetailDecision.tiers`` can select materials, lights, effects or any
owner-defined behavior; ``due`` optionally schedules periodic work. Owners apply
decisions and acknowledge successful work with ``commit``. No system is disabled
implicitly, and absent camera demand preserves full detail.
lsdtools.lod.CameraLODSettings#
Kind: class. Source: core/lod/src/lsd_lod/model.py:100.
Implementation alias: lsd_lod.model.CameraLODSettings.
lsdtools.lod.CameraLODSettings.lod#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:101.
lod: str
lod = 'auto'
lsdtools.lod.CameraLODSettings.culling#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:102.
culling: str
culling = 'frustum'
lsdtools.lod.CameraLODSettings.pixel_error#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:103.
pixel_error: float
pixel_error = 1.0
lsdtools.lod.CameraLODSettings.hysteresis#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:104.
hysteresis: float
hysteresis = 0.15
lsdtools.lod.CameraLODSettings.spatial#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:105.
spatial: str
spatial = 'flat'
lsdtools.lod.CameraLODSettings.to_dict#
Kind: method. Source: core/lod/src/lsd_lod/model.py:117.
to_dict(self)
self: (unannotated)
lsdtools.lod.CameraLODSettings.from_dict#
Kind: method. Source: core/lod/src/lsd_lod/model.py:121.
from_dict(cls, value)
cls: (unannotated)
value: (unannotated)
lsdtools.lod.DetailCamera#
Kind: class. Source: core/lod/src/lsd_lod/selector.py:95.
Implementation alias: lsd_lod.selector.Camera.
lsdtools.lod.DetailCamera.position#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:96.
position: object
position = (0.0, 0.0, 0.0)
lsdtools.lod.DetailCamera.rotation#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:97.
rotation: object
rotation = ((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0))
lsdtools.lod.DetailCamera.projection#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:98.
projection: str
projection = 'perspective'
lsdtools.lod.DetailCamera.width#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:99.
width: int
width = 1280
lsdtools.lod.DetailCamera.height#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:100.
height: int
height = 720
lsdtools.lod.DetailCamera.fov_y_degrees#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:101.
fov_y_degrees: float
fov_y_degrees = 60.0
lsdtools.lod.DetailCamera.ortho_height#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:102.
ortho_height: float
ortho_height = 80.0
lsdtools.lod.DetailCamera.near#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:103.
near: float
near = 0.1
lsdtools.lod.DetailCamera.far#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:104.
far: float
far = 1000.0
lsdtools.lod.DetailCamera.pixel_error#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:105.
pixel_error: float
pixel_error = 1.0
lsdtools.lod.DetailCamera.hysteresis#
Kind: attribute. Source: core/lod/src/lsd_lod/selector.py:106.
hysteresis: float
hysteresis = 0.15
lsdtools.lod.DetailCamera.native#
Kind: method. Source: core/lod/src/lsd_lod/selector.py:108.
native(self)
self: (unannotated)
lsdtools.lod.DetailDecision#
Kind: class. Source: core/lod/src/lsd_lod/detail.py:374.
Source docstring:
Immutable stable-row work request. Commit only successfully performed rows.
Implementation alias: lsd_lod.detail.DetailDecision.
lsdtools.lod.DetailDecision.tick#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:377.
tick: int
lsdtools.lod.DetailDecision.tiers#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:378.
tiers: np.ndarray
lsdtools.lod.DetailDecision.period_ticks#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:379.
period_ticks: np.ndarray
lsdtools.lod.DetailDecision.paused#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:380.
paused: np.ndarray
lsdtools.lod.DetailDecision.changed#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:381.
changed: np.ndarray
lsdtools.lod.DetailDecision.due#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:382.
due: np.ndarray
lsdtools.lod.DetailDecision.elapsed_ticks#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:383.
elapsed_ticks: np.ndarray
lsdtools.lod.DetailDecision.visible#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:384.
visible: np.ndarray
lsdtools.lod.DetailDecision.known#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:385.
known: bool
lsdtools.lod.DetailDecision.incarnations#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:386.
incarnations: np.ndarray
lsdtools.lod.DetailMetrics#
Kind: class. Source: core/lod/src/lsd_lod/detail.py:204.
Source docstring:
Immutable, complete stable-row camera measurements; stale snapshots reject.
Implementation alias: lsd_lod.detail.DetailMetrics.
lsdtools.lod.DetailMetrics.revision#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:207.
revision: int
lsdtools.lod.DetailMetrics.views#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:208.
views: Mapping[str, _ViewMetrics | None]
lsdtools.lod.DetailMetrics.importance#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:209.
importance: np.ndarray
lsdtools.lod.DetailMetrics.active#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:210.
active: np.ndarray
lsdtools.lod.DetailMetrics.incarnations#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:211.
incarnations: np.ndarray
lsdtools.lod.DetailMetrics.current#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:215.
current(self)
self: (unannotated)
lsdtools.lod.DetailMetrics.population_id#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:219.
population_id(self)
self: (unannotated)
lsdtools.lod.DetailPolicy#
Kind: class. Source: core/lod/src/lsd_lod/detail.py:106.
Source docstring:
Explicit per-system policy; the default requests full work every tick.
Distance thresholds increase, pixel-diameter thresholds decrease. Tier zero
must be full and unpaused; coarser tiers cannot demand more frequent work.
Offscreen behavior is separately opt-in. Missing/unknown views fail open.
Implementation alias: lsd_lod.detail.DetailPolicy.
lsdtools.lod.DetailPolicy.metric#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:114.
metric: str
metric = 'distance'
lsdtools.lod.DetailPolicy.thresholds#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:115.
thresholds: tuple[float, ...]
thresholds = ()
lsdtools.lod.DetailPolicy.tiers#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:116.
tiers: tuple[DetailTier, ...]
tiers = (DetailTier(),)
lsdtools.lod.DetailPolicy.offscreen_tier#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:117.
offscreen_tier: int | None
offscreen_tier = None
lsdtools.lod.DetailPolicy.view_names#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:118.
view_names: tuple[str, ...] | None
view_names = None
lsdtools.lod.DetailPolicy.hysteresis#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:119.
hysteresis: float
hysteresis = 0.15
lsdtools.lod.DetailPolicy.to_dict#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:155.
to_dict(self)
self: (unannotated)
lsdtools.lod.DetailPolicy.from_dict#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:162.
from_dict(cls, value)
cls: (unannotated)
value: (unannotated)
lsdtools.lod.DetailScheduler#
Kind: class. Source: core/lod/src/lsd_lod/detail.py:391.
DetailScheduler(self, count, *, policy=DetailPolicy(), max_bytes=128 << 20)
Source docstring:
Independent policy/history for one optional animation, AI or other consumer.
Integer row phases distribute work without deadline drift. A skipped tick
yields one current update with its complete elapsed tick count, not a burst
of stale callbacks. Refinement, reveal from pause, replacement and explicit
dependency/dirty pins wake immediately. Authoritative simulation stays outside.
Implementation alias: lsd_lod.detail.DetailScheduler.
lsdtools.lod.DetailScheduler.__init__#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:400.
__init__(self, count, *, policy=DetailPolicy(), max_bytes=128 << 20)
count: (unannotated)
max_bytes: (unannotated)
policy: (unannotated)
self: (unannotated)
lsdtools.lod.DetailScheduler.policy#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:422.
policy(self)
self: (unannotated)
lsdtools.lod.DetailScheduler.set_policy#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:425.
set_policy(self, policy)
policy: (unannotated)
self: (unannotated)
lsdtools.lod.DetailScheduler.evaluate#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:468.
evaluate(self, metrics, *, tick, required=None, dirty=None)
dirty: (unannotated)
metrics: (unannotated)
required: (unannotated)
self: (unannotated)
tick: (unannotated)
Source docstring:
Plan work; repeated unchanged calls before commit return the same value.
lsdtools.lod.DetailScheduler.commit#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:508.
commit(self, decision, rows=None, *, changed_rows=None)
changed_rows: (unannotated)
decision: (unannotated)
rows: (unannotated)
self: (unannotated)
Source docstring:
Acknowledge work and tier application independently, or successful subsets.
``rows`` defaults to all due optional work; ``changed_rows`` defaults to
all tier/paused transitions. Pass an empty integer list for a lane that
did no work. Paused materials/lights can therefore apply their new tier.
lsdtools.lod.DetailScheduler.reset#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:540.
reset(self)
self: (unannotated)
Source docstring:
Forget this consumer's history and population binding, retaining policy.
lsdtools.lod.DetailScheduler.capture#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:553.
capture(self)
self: (unannotated)
Source docstring:
Return owned JSON-data scheduling state; pending requests are not acknowledgements.
The owner also captures its authoritative population and consumer state.
Restore requires exactly matching population metadata/row incarnations.
Captures are explicit O(N) operations, outside the camera/tick fast path.
lsdtools.lod.DetailScheduler.restore#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:569.
restore(self, state, *, metrics)
metrics: (unannotated)
self: (unannotated)
state: (unannotated)
Source docstring:
Atomically restore a complete v1 capture into a matching current population.
lsdtools.lod.DetailScheduler.count#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:401.
count: (unannotated)
count = _integer(count, 'count', 0, MAX_ROWS)
lsdtools.lod.DetailScheduler.byte_bound#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:403.
byte_bound: (unannotated)
byte_bound = self.count * 192
lsdtools.lod.DetailTier#
Kind: class. Source: core/lod/src/lsd_lod/detail.py:80.
Source docstring:
Generic tier metadata: optional work period in authoritative integer ticks.
``paused`` only describes this subscriber's optional work. It never means
global invisibility, disabling a light, or stopping authoritative simulation.
Consumers may use the tier index for their own material/light/quality choice.
Implementation alias: lsd_lod.detail.DetailTier.
lsdtools.lod.DetailTier.period_ticks#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:88.
period_ticks: int
period_ticks = 1
lsdtools.lod.DetailTier.paused#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:89.
paused: bool
paused = False
lsdtools.lod.DetailTier.to_dict#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:96.
to_dict(self)
self: (unannotated)
lsdtools.lod.DetailTier.from_dict#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:100.
from_dict(cls, value)
cls: (unannotated)
value: (unannotated)
lsdtools.lod.DetailView#
Kind: class. Source: core/lod/src/lsd_lod/detail.py:173.
Source docstring:
Named complete view/pass input. ``camera=None`` explicitly means unknown.
An optional complete visible mask may come from a pass owner (for example,
shadow relevance). The mask never authorizes skipping required simulation.
Camera uses the shared selector's float64, positive-Z convention.
Implementation alias: lsd_lod.detail.DetailView.
lsdtools.lod.DetailView.name#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:181.
name: str
lsdtools.lod.DetailView.camera#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:182.
camera: Camera | None
lsdtools.lod.DetailView.visible#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:183.
visible: np.ndarray | None
visible = None
lsdtools.lod.DetailWorld#
Kind: class. Source: core/lod/src/lsd_lod/detail.py:223.
DetailWorld(self, centers, radii, *, importance=None, active=None, max_views=MAX_VIEWS, max_bytes=128 << 20, population_id=None)
Source docstring:
Fixed-capacity owner shared by independent optional-work consumers.
``patch`` changes current object data. ``replace`` explicitly resets row
incarnations, including replacement while active. Publication is synchronous:
each measure call supplies the complete relevant view set. Unresolved views
must be included with camera=None, never represented by an old camera.
Implementation alias: lsd_lod.detail.DetailWorld.
lsdtools.lod.DetailWorld.__init__#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:232.
__init__(self, centers, radii, *, importance=None, active=None, max_views=MAX_VIEWS, max_bytes=128 << 20, population_id=None)
active: (unannotated)
centers: (unannotated)
importance: (unannotated)
max_bytes: (unannotated)
max_views: (unannotated)
population_id: (unannotated)
radii: (unannotated)
self: (unannotated)
lsdtools.lod.DetailWorld.signature#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:260.
signature(self)
self: (unannotated)
Source docstring:
Exact metadata identity for deterministic owner-controlled restore.
lsdtools.lod.DetailWorld.patch#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:276.
patch(self, rows, *, centers=None, radii=None, importance=None, active=None)
active: (unannotated)
centers: (unannotated)
importance: (unannotated)
radii: (unannotated)
rows: (unannotated)
self: (unannotated)
Source docstring:
Atomically update rows. Retirement/reactivation resets their incarnations.
lsdtools.lod.DetailWorld.replace#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:280.
replace(self, rows, *, centers, radii, importance=None, active=None)
active: (unannotated)
centers: (unannotated)
importance: (unannotated)
radii: (unannotated)
rows: (unannotated)
self: (unannotated)
Source docstring:
Admit new objects into existing slots; no old scheduling debt is inherited.
lsdtools.lod.DetailWorld.measure#
Kind: method. Source: core/lod/src/lsd_lod/detail.py:317.
measure(self, views)
self: (unannotated)
views: (unannotated)
Source docstring:
Measure changed camera/bounds inputs once; unchanged calls reuse snapshots.
lsdtools.lod.DetailWorld.count#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:237.
count: (unannotated)
count = _integer(len(values), 'count', 0, MAX_ROWS)
lsdtools.lod.DetailWorld.max_views#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:238.
max_views: (unannotated)
max_views = _integer(max_views, 'max_views', 1, MAX_VIEWS)
lsdtools.lod.DetailWorld.population_id#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:239.
population_id: (unannotated)
population_id = _name(uuid.uuid4().hex if population_id is None else population_id)
lsdtools.lod.DetailWorld.byte_bound#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:243.
byte_bound: (unannotated)
byte_bound = self.count * (192 + self.max_views * 64)
lsdtools.lod.DetailWorld.centers#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:247.
centers: (unannotated)
centers = _frozen(_numbers(values, (n, 3), 'centers'))
lsdtools.lod.DetailWorld.radii#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:248.
radii: (unannotated)
radii = _frozen(_numbers(radii, (n,), 'radii', nonnegative=True))
lsdtools.lod.DetailWorld.importance#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:249.
importance: (unannotated)
importance = _frozen(np.ones(n) if importance is None else _numbers(importance, (n,), 'importance', positive=True))
lsdtools.lod.DetailWorld.active#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:251.
active: (unannotated)
active = _frozen(np.ones(n, bool) if active is None else _mask(active, n, 'active'))
lsdtools.lod.DetailWorld.incarnations#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:252.
incarnations: (unannotated)
incarnations = _frozen(np.ones(n, np.uint64))
lsdtools.lod.DetailWorld.revision#
Kind: attribute. Source: core/lod/src/lsd_lod/detail.py:253.
revision: (unannotated)
revision = 0
lsdtools.lod.INACTIVE_TIER#
Kind: value. Source: core/lod/src/lsd_lod/detail.py:23.
INACTIVE_TIER = 255
Implementation alias: lsd_lod.detail.INACTIVE_TIER.
lsdtools.lod.MeshFamily#
Kind: class. Source: core/lod/src/lsd_lod/model.py:186.
Implementation alias: lsd_lod.model.MeshFamily.
lsdtools.lod.MeshFamily.levels#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:187.
levels: tuple[MeshLevel, ...]
lsdtools.lod.MeshFamily.settings#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:188.
settings: MeshLODSettings
settings = field(default_factory=MeshLODSettings)
lsdtools.lod.MeshFamily.reason#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:189.
reason: str | None
reason = None
lsdtools.lod.MeshFamily.provenance#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:190.
provenance: Mapping
provenance = field(default_factory=dict)
lsdtools.lod.MeshFamily.center#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:191.
center: np.ndarray
center = field(init=False)
lsdtools.lod.MeshFamily.radius#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:192.
radius: float
radius = field(init=False)
lsdtools.lod.MeshFamily.errors#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:193.
errors: np.ndarray
errors = field(init=False)
lsdtools.lod.MeshFamily.level_count#
Kind: method. Source: core/lod/src/lsd_lod/model.py:222.
level_count(self)
self: (unannotated)
lsdtools.lod.MeshFamily.resident_bytes#
Kind: method. Source: core/lod/src/lsd_lod/model.py:226.
resident_bytes(self)
self: (unannotated)
lsdtools.lod.MeshFamily.to_bytes#
Kind: method. Source: core/lod/src/lsd_lod/model.py:229.
to_bytes(self)
self: (unannotated)
lsdtools.lod.MeshFamily.from_bytes#
Kind: method. Source: core/lod/src/lsd_lod/model.py:234.
from_bytes(cls, data)
cls: (unannotated)
data: (unannotated)
lsdtools.lod.MeshFamily.digest#
Kind: method. Source: core/lod/src/lsd_lod/model.py:239.
digest(self)
self: (unannotated)
lsdtools.lod.MeshLODSettings#
Kind: class. Source: core/lod/src/lsd_lod/model.py:64.
Implementation alias: lsd_lod.model.MeshLODSettings.
lsdtools.lod.MeshLODSettings.mode#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:65.
mode: str
mode = 'auto'
lsdtools.lod.MeshLODSettings.max_levels#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:66.
max_levels: int
max_levels = 4
lsdtools.lod.MeshLODSettings.min_source_triangles#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:67.
min_source_triangles: int
min_source_triangles = 512
lsdtools.lod.MeshLODSettings.min_reduction_fraction#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:68.
min_reduction_fraction: float
min_reduction_fraction = 0.25
lsdtools.lod.MeshLODSettings.min_triangles_saved#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:69.
min_triangles_saved: int
min_triangles_saved = 128
lsdtools.lod.MeshLODSettings.ratios#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:70.
ratios: tuple[float, ...]
ratios = (0.5, 0.25, 0.125)
lsdtools.lod.MeshLODSettings.max_family_bytes#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:71.
max_family_bytes: int
max_family_bytes = 64 << 20
lsdtools.lod.MeshLODSettings.to_dict#
Kind: method. Source: core/lod/src/lsd_lod/model.py:91.
to_dict(self)
self: (unannotated)
lsdtools.lod.MeshLODSettings.from_dict#
Kind: method. Source: core/lod/src/lsd_lod/model.py:95.
from_dict(cls, value)
cls: (unannotated)
value: (unannotated)
lsdtools.lod.MeshLevel#
Kind: class. Source: core/lod/src/lsd_lod/model.py:139.
Implementation alias: lsd_lod.model.MeshLevel.
lsdtools.lod.MeshLevel.positions#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:140.
positions: np.ndarray
lsdtools.lod.MeshLevel.indices#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:141.
indices: np.ndarray
lsdtools.lod.MeshLevel.normals#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:142.
normals: np.ndarray | None
normals = None
lsdtools.lod.MeshLevel.uv#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:143.
uv: np.ndarray | None
uv = None
lsdtools.lod.MeshLevel.error#
Kind: attribute. Source: core/lod/src/lsd_lod/model.py:144.
error: float
error = 0.0
lsdtools.lod.MeshLevel.resident_bytes#
Kind: method. Source: core/lod/src/lsd_lod/model.py:181.
resident_bytes(self)
self: (unannotated)
lsdtools.lod.decode_families#
Kind: function. Source: core/lod/src/lsd_lod/codec.py:146.
decode_families(data)
data: (unannotated)
Implementation alias: lsd_lod.codec.decode_families.
lsdtools.lod.encode_families#
Kind: function. Source: core/lod/src/lsd_lod/codec.py:125.
encode_families(families)
families: (unannotated)
Source docstring:
Encode ``mesh_id -> (MeshFamily, float64 world_origin[3])`` for delivery.
Implementation alias: lsd_lod.codec.encode_families.
lsdtools.lod.prepare_family#
Kind: function. Source: core/lod/src/lsd_lod/prepare.py:11.
prepare_family(positions, indices, *, normals=None, uv=None, settings=None, eligible=True, unsupported_reason=None)
eligible: (unannotated)
indices: (unannotated)
normals: (unannotated)
positions: (unannotated)
settings: (unannotated)
unsupported_reason: (unannotated)
uv: (unannotated)
Implementation alias: lsd_lod.prepare.prepare_family.