@flighthq/lighting 0.2.1-next.451.d9a4a4e → 0.2.1-next.530.a223ca9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"lightAnalysis.d.ts","sourceRoot":"","sources":["../src/lightAnalysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAc,MAAM,iBAAiB,CAAC;AAe7E,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAqC7F;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAUhE;AAMD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAc/G;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAMpE"}
1
+ {"version":3,"file":"lightAnalysis.d.ts","sourceRoot":"","sources":["../src/lightAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAc,MAAM,iBAAiB,CAAC;AAe7E,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAqC7F;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAUhE;AAMD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,OAAO,CA0B/G;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAMpE"}
@@ -1,4 +1,3 @@
1
- import { createBoundingSphere } from '@flighthq/geometry';
2
1
  import { AmbientLightKind, AreaLightKind, DirectionalLightKind, EnvironmentKind, HemisphereLightKind, PointLightKind, SpotLightKind, } from '@flighthq/types';
3
2
  // Writes the world-space influence bounding sphere of a light into `out`. The sphere bounds the
4
3
  // region the light can illuminate. Lights with a finite `range` produce a sphere centered at
@@ -61,20 +60,29 @@ export function getLightLuminance(light) {
61
60
  // lights with a finite range, tests whether the influence sphere intersects `bounds` using a
62
61
  // sphere-sphere overlap test. An empty `bounds` (radius < 0) is treated as no overlap.
63
62
  export function hasLightInfluenceOnBounds(light, bounds) {
64
- // Use module-level scratch to avoid per-call allocation.
65
- getLightInfluenceBounds(scratchSphere, light);
66
- // Sentinel radius (-1) = unlimited reach.
67
- if (scratchSphere.radius < 0)
63
+ const kind = light.kind;
64
+ if (kind === AmbientLightKind ||
65
+ kind === HemisphereLightKind ||
66
+ kind === EnvironmentKind ||
67
+ kind === DirectionalLightKind) {
68
+ return true;
69
+ }
70
+ // Preserve getLightInfluenceBounds' open-kind sentinel: an unknown/non-spatial light is unlimited
71
+ // rather than silently culled.
72
+ if (kind !== PointLightKind && kind !== SpotLightKind && kind !== AreaLightKind)
73
+ return true;
74
+ const spatial = light;
75
+ if (spatial.range < 0)
68
76
  return true;
69
77
  // Empty bounds — treat as no overlap.
70
78
  if (bounds.radius < 0)
71
79
  return false;
72
80
  // Sphere-sphere overlap: distance between centers <= sum of radii.
73
- const dx = scratchSphere.center.x - bounds.center.x;
74
- const dy = scratchSphere.center.y - bounds.center.y;
75
- const dz = scratchSphere.center.z - bounds.center.z;
81
+ const dx = spatial.position.x - bounds.center.x;
82
+ const dy = spatial.position.y - bounds.center.y;
83
+ const dz = spatial.position.z - bounds.center.z;
76
84
  const distSq = dx * dx + dy * dy + dz * dz;
77
- const radSum = scratchSphere.radius + bounds.radius;
85
+ const radSum = spatial.range + bounds.radius;
78
86
  return distSq <= radSum * radSum;
79
87
  }
80
88
  // Returns true when the light is configured to cast shadows. Non-shadow-capable light types
@@ -86,6 +94,4 @@ export function isLightShadowCasting(light) {
86
94
  }
87
95
  return light.castsShadow;
88
96
  }
89
- // Scratch sphere used by hasLightInfluenceOnBounds to avoid per-call allocation.
90
- const scratchSphere = createBoundingSphere(0, 0, 0, -1);
91
97
  //# sourceMappingURL=lightAnalysis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lightAnalysis.js","sourceRoot":"","sources":["../src/lightAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lightAnalysis.js","sourceRoot":"","sources":["../src/lightAnalysis.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { SceneLights } from '@flighthq/types';
2
- export declare function createSceneLights(options?: Readonly<Partial<SceneLights>>): SceneLights;
1
+ import type { SceneLights, SceneLightsLike } from '@flighthq/types';
2
+ export declare function createSceneLights(options?: Readonly<Partial<SceneLightsLike>>): SceneLights;
3
3
  //# sourceMappingURL=sceneLights.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sceneLights.d.ts","sourceRoot":"","sources":["../src/sceneLights.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAYnD,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAQvF"}
1
+ {"version":3,"file":"sceneLights.d.ts","sourceRoot":"","sources":["../src/sceneLights.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAWpE,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,WAAW,CAQ3F"}
@@ -1,20 +1,20 @@
1
+ import { createEntity } from '@flighthq/entity';
1
2
  // Constructs a `SceneLights` draw-argument, filling every absent slot: the single ambient/directional
2
3
  // terms default to `null` and the punctual arrays to empty. Prefer this over a bare object literal —
3
4
  // a literal that omits a slot passes `undefined` where the packer expects a light-or-null, which the
4
5
  // strict `!== null` presence check reads as "present" and then dereferences (the classic
5
6
  // `undefined.direction` crash). Going through the constructor makes an omitted slot unrepresentable.
6
7
  //
7
- // `SceneLights` is a per-draw argument (lights are not scene members), so it is NOT an Entity: it
8
- // carries no GPU binding identity of its own the packed `SceneLightBlock` is what a backend caches,
9
- // keyed off the render state. The individual lights it references (`createPointLight`, …) are the
10
- // entities. This is the constructor for the plain-data collection, not an entity factory.
8
+ // `SceneLights` is a per-draw argument (lights are not scene members), but the exported `create*`
9
+ // product still carries Flight's Entity shape invariant. That identity does not imply a GPU binding:
10
+ // the packed `SceneLightBlock` is what a backend caches, keyed off the render state.
11
11
  export function createSceneLights(options) {
12
- return {
12
+ return createEntity({
13
13
  ambient: options?.ambient ?? null,
14
14
  directional: options?.directional ?? null,
15
15
  hemisphere: options?.hemisphere ?? [],
16
16
  point: options?.point ?? [],
17
17
  spot: options?.spot ?? [],
18
- };
18
+ });
19
19
  }
20
20
  //# sourceMappingURL=sceneLights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sceneLights.js","sourceRoot":"","sources":["../src/sceneLights.ts"],"names":[],"mappings":"AAEA,sGAAsG;AACtG,qGAAqG;AACrG,qGAAqG;AACrG,yFAAyF;AACzF,qGAAqG;AACrG,EAAE;AACF,kGAAkG;AAClG,sGAAsG;AACtG,kGAAkG;AAClG,0FAA0F;AAC1F,MAAM,UAAU,iBAAiB,CAAC,OAAwC;IACxE,OAAO;QACL,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;QACjC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;QACzC,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;QACrC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;QAC3B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;KAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sceneLights.js","sourceRoot":"","sources":["../src/sceneLights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,sGAAsG;AACtG,qGAAqG;AACrG,qGAAqG;AACrG,yFAAyF;AACzF,qGAAqG;AACrG,EAAE;AACF,kGAAkG;AAClG,qGAAqG;AACrG,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAAC,OAA4C;IAC5E,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;QACjC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;QACzC,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;QACrC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;QAC3B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/lighting",
3
- "version": "0.2.1-next.451.d9a4a4e",
3
+ "version": "0.2.1-next.530.a223ca9",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/flighthq/flight.git",
@@ -32,9 +32,9 @@
32
32
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
33
33
  },
34
34
  "dependencies": {
35
- "@flighthq/entity": "0.2.1-next.451.d9a4a4e",
36
- "@flighthq/geometry": "0.2.1-next.451.d9a4a4e",
37
- "@flighthq/types": "0.2.1-next.451.d9a4a4e"
35
+ "@flighthq/entity": "0.2.1-next.530.a223ca9",
36
+ "@flighthq/geometry": "0.2.1-next.530.a223ca9",
37
+ "@flighthq/types": "0.2.1-next.530.a223ca9"
38
38
  },
39
39
  "devDependencies": {
40
40
  "typescript": "^5.3.0"
@@ -1,3 +1,4 @@
1
+ import { EntityRuntimeKey } from '@flighthq/types';
1
2
  import { describe, expect, it } from 'vitest';
2
3
 
3
4
  import { createAmbientLight } from './ambientLight';
@@ -13,6 +14,7 @@ describe('createSceneLights', () => {
13
14
  expect(lights.point).toEqual([]);
14
15
  expect(lights.spot).toEqual([]);
15
16
  expect(lights.hemisphere).toEqual([]);
17
+ expect(EntityRuntimeKey in lights).toBe(true);
16
18
  });
17
19
 
18
20
  it('carries the provided lights and defaults the omitted ones (no undefined slot)', () => {