@fps-games/editor 0.1.3-beta.1 → 0.1.3-beta.3

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.
Files changed (38) hide show
  1. package/dist/local-editor-harness.d.ts.map +1 -1
  2. package/dist/local-editor-harness.js +21 -0
  3. package/dist/local-editor-harness.js.map +1 -1
  4. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts +5 -0
  5. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts.map +1 -0
  6. package/node_modules/@fps-games/babylon-renderer/dist/index.js +5 -0
  7. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -0
  8. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.d.ts +17 -0
  9. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.d.ts.map +1 -0
  10. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js +64 -0
  11. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -0
  12. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.d.ts +7 -0
  13. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.d.ts.map +1 -0
  14. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js +176 -0
  15. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -0
  16. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.d.ts +5 -0
  17. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.d.ts.map +1 -0
  18. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js +837 -0
  19. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -0
  20. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.d.ts +96 -0
  21. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.d.ts.map +1 -0
  22. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js +45 -0
  23. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -0
  24. package/node_modules/@fps-games/babylon-renderer/package.json +20 -0
  25. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +7 -0
  26. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  27. package/node_modules/@fps-games/editor-babylon/dist/projection.js +59 -9
  28. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  29. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts +1 -0
  30. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts.map +1 -1
  31. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js +4 -0
  32. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  33. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  34. package/node_modules/@fps-games/editor-browser/package.json +2 -2
  35. package/node_modules/@fps-games/editor-core/package.json +2 -2
  36. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  37. package/node_modules/@fps-games/editor-protocol/package.json +1 -1
  38. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planar-shadow-system.js","sourceRoot":"","sources":["../../src/shadows/planar-shadow-system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import type { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
2
+ export interface PlanarShadowVec3 {
3
+ x: number;
4
+ y: number;
5
+ z: number;
6
+ }
7
+ export interface PlanarShadowColorRGBA {
8
+ r: number;
9
+ g: number;
10
+ b: number;
11
+ a: number;
12
+ }
13
+ export type PlanarShadowPlaneHeightMode = 'fixed' | 'receiver';
14
+ export interface PlanarShadowPlaneOptions {
15
+ normal: PlanarShadowVec3;
16
+ height: number;
17
+ heightMode?: PlanarShadowPlaneHeightMode;
18
+ bias: number;
19
+ }
20
+ export interface PlanarShadowAppearanceOptions {
21
+ color: PlanarShadowColorRGBA;
22
+ }
23
+ export interface PlanarShadowDirectionOptions {
24
+ mode: 'follow-light';
25
+ }
26
+ export interface PlanarShadowProjectionOptions {
27
+ footprintScale?: number;
28
+ }
29
+ export interface PlanarShadowStencilOptions {
30
+ enabled: boolean;
31
+ receiverRenderingGroup?: number;
32
+ shadowRenderingGroup?: number;
33
+ }
34
+ export interface PlanarShadowCasterOptions {
35
+ autoDetectAll?: boolean;
36
+ includePatterns?: string[];
37
+ excludePatterns?: string[];
38
+ rootBoundaryPatterns?: string[];
39
+ minVolume?: number;
40
+ }
41
+ export interface PlanarShadowReceiverOptions {
42
+ patterns?: string[];
43
+ }
44
+ export interface PlanarShadowOptions {
45
+ enabled: boolean;
46
+ plane: PlanarShadowPlaneOptions;
47
+ appearance: PlanarShadowAppearanceOptions;
48
+ direction?: PlanarShadowDirectionOptions;
49
+ projection?: PlanarShadowProjectionOptions;
50
+ stencil?: PlanarShadowStencilOptions;
51
+ casters?: PlanarShadowCasterOptions;
52
+ receivers?: PlanarShadowReceiverOptions;
53
+ debug?: boolean;
54
+ }
55
+ export interface ResolvedPlanarShadowOptions {
56
+ enabled: boolean;
57
+ plane: PlanarShadowPlaneOptions;
58
+ appearance: PlanarShadowAppearanceOptions;
59
+ direction: PlanarShadowDirectionOptions;
60
+ projection: Required<PlanarShadowProjectionOptions>;
61
+ stencil: Required<PlanarShadowStencilOptions>;
62
+ casters: Required<Pick<PlanarShadowCasterOptions, 'autoDetectAll' | 'includePatterns' | 'excludePatterns' | 'rootBoundaryPatterns' | 'minVolume'>>;
63
+ receivers: Required<PlanarShadowReceiverOptions>;
64
+ debug: boolean;
65
+ }
66
+ export interface PlanarShadowCasterInfo {
67
+ source: AbstractMesh;
68
+ shadow: AbstractMesh;
69
+ hasSkeleton: boolean;
70
+ }
71
+ export interface PlanarShadowReceiverInfo {
72
+ mesh: AbstractMesh;
73
+ originalRenderingGroup: number;
74
+ material: {
75
+ stencil?: {
76
+ enabled: boolean;
77
+ };
78
+ } | null;
79
+ }
80
+ export interface PlanarShadowSystem {
81
+ initialize(): void;
82
+ addCaster(mesh: AbstractMesh): void;
83
+ removeCaster(mesh: AbstractMesh): void;
84
+ addReceiver(mesh: AbstractMesh): void;
85
+ removeReceiver(mesh: AbstractMesh): void;
86
+ enableCasterAutoDetection(patterns: string[]): void;
87
+ enableAutoDetectionForAll(): void;
88
+ refresh(): void;
89
+ setOptions(options: Partial<PlanarShadowOptions>): void;
90
+ getOptions(): ResolvedPlanarShadowOptions;
91
+ getCasterCount(): number;
92
+ getReceiverCount(): number;
93
+ dispose(): void;
94
+ }
95
+ export declare const DEFAULT_PLANAR_SHADOW_OPTIONS: ResolvedPlanarShadowOptions;
96
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shadows/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ export const DEFAULT_PLANAR_SHADOW_OPTIONS = {
2
+ enabled: true,
3
+ plane: {
4
+ normal: { x: 0, y: 1, z: 0 },
5
+ height: 0,
6
+ heightMode: 'receiver',
7
+ bias: 0.4,
8
+ },
9
+ appearance: {
10
+ color: { r: 0, g: 0, b: 0, a: 0.35 },
11
+ },
12
+ direction: { mode: 'follow-light' },
13
+ projection: {
14
+ footprintScale: 1,
15
+ },
16
+ stencil: {
17
+ enabled: false,
18
+ receiverRenderingGroup: 0,
19
+ shadowRenderingGroup: 1,
20
+ },
21
+ casters: {
22
+ autoDetectAll: false,
23
+ includePatterns: [],
24
+ excludePatterns: [
25
+ '_planarshadow',
26
+ '_shadow',
27
+ 'placeholder',
28
+ 'collision',
29
+ 'trigger',
30
+ 'helper',
31
+ 'camera',
32
+ 'light',
33
+ 'gizmo',
34
+ 'grid',
35
+ 'ui',
36
+ ],
37
+ rootBoundaryPatterns: [],
38
+ minVolume: 0.001,
39
+ },
40
+ receivers: {
41
+ patterns: [],
42
+ },
43
+ debug: false,
44
+ };
45
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shadows/types.ts"],"names":[],"mappings":"AA0GA,MAAM,CAAC,MAAM,6BAA6B,GAAgC;IACxE,OAAO,EAAE,IAAI;IACb,KAAK,EAAE;QACL,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC5B,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,GAAG;KACV;IACD,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;KACrC;IACD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;IACnC,UAAU,EAAE;QACV,cAAc,EAAE,CAAC;KAClB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,sBAAsB,EAAE,CAAC;QACzB,oBAAoB,EAAE,CAAC;KACxB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE;YACf,eAAe;YACf,SAAS;YACT,aAAa;YACb,WAAW;YACX,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,OAAO;YACP,MAAM;YACN,IAAI;SACL;QACD,oBAAoB,EAAE,EAAE;QACxB,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;KACb;IACD,KAAK,EAAE,KAAK;CACb,CAAC"}
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@fps-games/babylon-renderer",
3
+ "version": "0.1.3-beta.3",
4
+ "private": true,
5
+ "type": "module",
6
+ "description": "Babylon-backed renderer capabilities for fps-game-editor.",
7
+ "sideEffects": false,
8
+ "main": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ },
15
+ "./package.json": "./package.json"
16
+ },
17
+ "peerDependencies": {
18
+ "@babylonjs/core": "^8.0.0"
19
+ }
20
+ }
@@ -102,11 +102,18 @@ export interface BabylonEditorProjectionOptions {
102
102
  importModel?: BabylonEditorProjectionImporter;
103
103
  logger?: Pick<Console, 'warn'>;
104
104
  onProjectionReady?: (event: BabylonEditorProjectionReadyEvent) => void;
105
+ onProjectionBatchSettled?: (event: BabylonEditorProjectionBatchSettledEvent) => void;
105
106
  }
106
107
  export interface BabylonEditorProjectionReadyEvent {
107
108
  nodeId: string;
108
109
  async: boolean;
109
110
  }
111
+ export interface BabylonEditorProjectionBatchSettledEvent {
112
+ batchId: number;
113
+ nodeIds: string[];
114
+ asyncNodeIds: string[];
115
+ settledNodeIds: string[];
116
+ }
110
117
  export interface ProjectedBabylonEditorNode {
111
118
  nodeId: string;
112
119
  root: any;
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,49 @@ function requireBabylonCtor(value, name) {
6
6
  }
7
7
  export function createBabylonEditorProjection(options) {
8
8
  const projections = new Map();
9
+ let nextBatchId = 1;
10
+ let projectionGeneration = 0;
11
+ const createBatch = (nodeIds) => {
12
+ const batch = {
13
+ id: nextBatchId,
14
+ generation: projectionGeneration,
15
+ nodeIds,
16
+ asyncNodeIds: [],
17
+ pendingNodeIds: new Set(),
18
+ settledNodeIds: new Set(),
19
+ notifyScheduled: false,
20
+ };
21
+ nextBatchId += 1;
22
+ return batch;
23
+ };
24
+ const scheduleBatchSettled = (batch) => {
25
+ if (batch.pendingNodeIds.size > 0 || batch.notifyScheduled)
26
+ return;
27
+ batch.notifyScheduled = true;
28
+ void Promise.resolve().then(() => {
29
+ batch.notifyScheduled = false;
30
+ if (batch.generation !== projectionGeneration || batch.pendingNodeIds.size > 0)
31
+ return;
32
+ options.onProjectionBatchSettled?.({
33
+ batchId: batch.id,
34
+ nodeIds: [...batch.nodeIds],
35
+ asyncNodeIds: [...batch.asyncNodeIds],
36
+ settledNodeIds: [...batch.settledNodeIds],
37
+ });
38
+ });
39
+ };
40
+ const trackAsyncProjection = (batch, node, projection) => {
41
+ batch.asyncNodeIds.push(node.id);
42
+ batch.pendingNodeIds.add(node.id);
43
+ return loadModelProjection(options, node, projection).finally(() => {
44
+ batch.pendingNodeIds.delete(node.id);
45
+ batch.settledNodeIds.add(node.id);
46
+ if (projections.get(node.id) === projection && !projection.root.isDisposed?.()) {
47
+ options.onProjectionReady?.({ nodeId: node.id, async: true });
48
+ }
49
+ scheduleBatchSettled(batch);
50
+ });
51
+ };
9
52
  const disposeProjectedNode = (projection) => {
10
53
  for (const animationGroup of projection.animationGroups) {
11
54
  animationGroup.dispose?.();
@@ -16,12 +59,13 @@ export function createBabylonEditorProjection(options) {
16
59
  projection.root?.dispose?.();
17
60
  };
18
61
  const disposeAll = () => {
62
+ projectionGeneration += 1;
19
63
  for (const projection of projections.values()) {
20
64
  disposeProjectedNode(projection);
21
65
  }
22
66
  projections.clear();
23
67
  };
24
- const projectNode = (node) => {
68
+ const projectNodeInBatch = (node, batch) => {
25
69
  removeNode(node.id);
26
70
  const root = createProjectionRoot(options.babylon, options.scene, node);
27
71
  if (!root)
@@ -42,7 +86,7 @@ export function createBabylonEditorProjection(options) {
42
86
  }
43
87
  else if (!attachRuntimeProjection(options.babylon, options.scene, node, projection)) {
44
88
  if (node.asset && options.importModel) {
45
- projection.loadPromise = loadModelProjection(options, node, projection);
89
+ projection.loadPromise = trackAsyncProjection(batch, node, projection);
46
90
  }
47
91
  else if (node.primitive) {
48
92
  attachPrimitiveProjection(options.babylon, options.scene, node, projection);
@@ -51,6 +95,14 @@ export function createBabylonEditorProjection(options) {
51
95
  attachFallbackProjection(options.babylon, options.scene, node, projection, !!node.asset);
52
96
  }
53
97
  }
98
+ if (!projection.loadPromise)
99
+ batch.settledNodeIds.add(node.id);
100
+ return projection;
101
+ };
102
+ const projectNode = (node) => {
103
+ const batch = createBatch([node.id]);
104
+ const projection = projectNodeInBatch(node, batch);
105
+ scheduleBatchSettled(batch);
54
106
  return projection;
55
107
  };
56
108
  const removeNode = (nodeId) => {
@@ -62,9 +114,12 @@ export function createBabylonEditorProjection(options) {
62
114
  };
63
115
  return {
64
116
  projectNodes(nodes) {
117
+ const nodeList = [...nodes];
65
118
  disposeAll();
66
- for (const node of nodes)
67
- projectNode(node);
119
+ const batch = createBatch(nodeList.map(node => node.id));
120
+ for (const node of nodeList)
121
+ projectNodeInBatch(node, batch);
122
+ scheduleBatchSettled(batch);
68
123
  },
69
124
  projectNode,
70
125
  removeNode,
@@ -287,11 +342,6 @@ async function loadModelProjection(options, node, projection) {
287
342
  attachFallbackProjection(options.babylon, options.scene, node, projection, true);
288
343
  }
289
344
  }
290
- finally {
291
- if (!projection.root.isDisposed?.()) {
292
- options.onProjectionReady?.({ nodeId: node.id, async: true });
293
- }
294
- }
295
345
  }
296
346
  function attachImportedProjectionResult(babylon, scene, node, asset, projection, result) {
297
347
  const TransformNode = babylon.TransformNode;