Skip to content

Commit 44b24e8

Browse files
committed
feat(core): allow raycast to accept null and assign () => null for null raycasting
1 parent cafcf51 commit 44b24e8

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

Diff for: libs/core/src/lib/renderer/index.ts

+9
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,10 @@ export class NgtRenderer implements Renderer2 {
397397

398398
if (rS[NgtRendererClassId.type] === 'three') {
399399
if (name === SPECIAL_PROPERTIES.PARAMETERS) {
400+
// NOTE: short-cut for null raycast to prevent upstream from creating a nullRaycast property
401+
if ('raycast' in value && value['raycast'] === null) {
402+
value['raycast'] = () => null;
403+
}
400404
applyProps(el, value);
401405
return;
402406
}
@@ -425,6 +429,11 @@ export class NgtRenderer implements Renderer2 {
425429
return;
426430
}
427431

432+
// NOTE: short-cut for null raycast to prevent upstream from creating a nullRaycast property
433+
if (name === 'raycast' && value === null) {
434+
value = () => null;
435+
}
436+
428437
applyProps(el, { [name]: value });
429438
return;
430439
}

Diff for: libs/core/src/lib/three-types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ export type NgtObject3DNode<TOriginal, TConstructor, TNoEvent = NoEvent<TOrigina
210210
quaternion: NgtQuaternion;
211211
layers: NgtLayers;
212212
dispose: (() => void) | null;
213+
raycast: Object3D['raycast'] | null;
213214
addEventListener<TEventKey extends keyof NgtAllObject3DEventsMap>(
214215
type: TEventKey,
215216
listener: (this: NgtObject3DNode<TOriginal, TConstructor>, ev: NgtAllObject3DEventsMap[TEventKey]) => any,

0 commit comments

Comments
 (0)