lythreeframe 1.0.43 → 1.0.45
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.
- package/dist/bundle.cjs.js +52 -11
- package/dist/bundle.esm.js +50 -12
- package/dist/index.d.ts +3 -0
- package/dist/lythreeframe/AssetManagement/AssetManager.d.ts +9 -6
- package/dist/lythreeframe/AssetManagement/AssetPointer/AssetPointer.d.ts +1 -1
- package/dist/lythreeframe/AssetManagement/AssetPointer/Assets/GeometryAssetPointer.d.ts +5 -0
- package/dist/lythreeframe/AssetManagement/AssetPointer/Assets/MaterialAssetPointer.d.ts +9 -0
- package/dist/lythreeframe/AssetManagement/AssetPointer/Assets/TextureAssetPointer.d.ts +5 -0
- package/package.json +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -852,7 +852,7 @@ class TAssetPointer extends TSmartPointer {
|
|
|
852
852
|
get uuid() {
|
|
853
853
|
return this._uuid;
|
|
854
854
|
}
|
|
855
|
-
constructor(value, referenceCount =
|
|
855
|
+
constructor(value, referenceCount = 0) {
|
|
856
856
|
super(value, referenceCount);
|
|
857
857
|
this._uuid = value.uuid;
|
|
858
858
|
value.userData["assetPointer"] = this;
|
|
@@ -875,6 +875,37 @@ class TAssetPointer extends TSmartPointer {
|
|
|
875
875
|
}
|
|
876
876
|
}
|
|
877
877
|
|
|
878
|
+
class MaterialAssetPointer extends TAssetPointer {
|
|
879
|
+
constructor(value, usedTextures, referenceCount = 0) {
|
|
880
|
+
super(value, referenceCount);
|
|
881
|
+
this.textures = usedTextures;
|
|
882
|
+
}
|
|
883
|
+
release() {
|
|
884
|
+
for (let texture of this.textures.values()) {
|
|
885
|
+
texture.release();
|
|
886
|
+
}
|
|
887
|
+
super.release();
|
|
888
|
+
}
|
|
889
|
+
forceRelease() {
|
|
890
|
+
for (let texture of this.textures.values()) {
|
|
891
|
+
texture.release();
|
|
892
|
+
}
|
|
893
|
+
super.forceRelease();
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
class TextureAssetPointer extends TAssetPointer {
|
|
898
|
+
constructor(value, referenceCount = 1) {
|
|
899
|
+
super(value, referenceCount);
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
class GeometryAssetPointer extends TAssetPointer {
|
|
904
|
+
constructor(value, referenceCount = 1) {
|
|
905
|
+
super(value, referenceCount);
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
|
|
878
909
|
class AssetManager {
|
|
879
910
|
constructor(app) {
|
|
880
911
|
this.geometryAssets = new Map();
|
|
@@ -1054,7 +1085,7 @@ class AssetManager {
|
|
|
1054
1085
|
onLoadFinished(data);
|
|
1055
1086
|
});
|
|
1056
1087
|
}
|
|
1057
|
-
addAsset(asset, referenceCount =
|
|
1088
|
+
addAsset(asset, referenceCount = 0) {
|
|
1058
1089
|
if (asset instanceof webgpu.BufferGeometry) {
|
|
1059
1090
|
return this.addGeometryAsset(asset, referenceCount);
|
|
1060
1091
|
}
|
|
@@ -1066,35 +1097,42 @@ class AssetManager {
|
|
|
1066
1097
|
}
|
|
1067
1098
|
return undefined;
|
|
1068
1099
|
}
|
|
1069
|
-
addMaterialAsset(asset, referenceCount =
|
|
1100
|
+
addMaterialAsset(asset, referenceCount = 0) {
|
|
1070
1101
|
let pointer = (asset.userData["assetPointer"]);
|
|
1071
1102
|
if (!pointer) {
|
|
1072
|
-
|
|
1103
|
+
let textureMap = new Map();
|
|
1104
|
+
for (let k in asset) {
|
|
1105
|
+
if (asset[k] instanceof webgpu.Texture) {
|
|
1106
|
+
let ptr = this.addTextureAsset(asset[k], 1);
|
|
1107
|
+
textureMap.set(k, ptr);
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
pointer = new MaterialAssetPointer(asset, textureMap, referenceCount);
|
|
1111
|
+
this.geometryAssets.set(asset.uuid, pointer);
|
|
1073
1112
|
}
|
|
1074
1113
|
else {
|
|
1075
|
-
pointer = asset.userData["assetPointer"];
|
|
1076
1114
|
pointer.addRef(referenceCount);
|
|
1077
1115
|
}
|
|
1078
1116
|
return pointer;
|
|
1079
1117
|
}
|
|
1080
|
-
addTextureAsset(asset, referenceCount =
|
|
1118
|
+
addTextureAsset(asset, referenceCount = 0) {
|
|
1081
1119
|
let pointer = (asset.userData["assetPointer"]);
|
|
1082
1120
|
if (!pointer) {
|
|
1083
|
-
pointer = new
|
|
1121
|
+
pointer = new TextureAssetPointer(asset, referenceCount);
|
|
1122
|
+
this.textureAssets.set(asset.uuid, pointer);
|
|
1084
1123
|
}
|
|
1085
1124
|
else {
|
|
1086
|
-
pointer = asset.userData["assetPointer"];
|
|
1087
1125
|
pointer.addRef(referenceCount);
|
|
1088
1126
|
}
|
|
1089
1127
|
return pointer;
|
|
1090
1128
|
}
|
|
1091
|
-
addGeometryAsset(asset, referenceCount =
|
|
1129
|
+
addGeometryAsset(asset, referenceCount = 0) {
|
|
1092
1130
|
let pointer = (asset.userData["assetPointer"]);
|
|
1093
1131
|
if (!pointer) {
|
|
1094
|
-
pointer = new
|
|
1132
|
+
pointer = new GeometryAssetPointer(asset, referenceCount);
|
|
1133
|
+
this.geometryAssets.set(asset.uuid, pointer);
|
|
1095
1134
|
}
|
|
1096
1135
|
else {
|
|
1097
|
-
pointer = asset.userData["assetPointer"];
|
|
1098
1136
|
pointer.addRef(referenceCount);
|
|
1099
1137
|
}
|
|
1100
1138
|
return pointer;
|
|
@@ -3122,7 +3160,9 @@ exports.Delegate = Delegate;
|
|
|
3122
3160
|
exports.DirectionalLightActor = DirectionalLightActor;
|
|
3123
3161
|
exports.DirectionalLightComponent = DirectionalLightComponent;
|
|
3124
3162
|
exports.FirstPerson = FirstPerson;
|
|
3163
|
+
exports.GeometryAssetPointer = GeometryAssetPointer;
|
|
3125
3164
|
exports.LabelComponent = LabelComponent;
|
|
3165
|
+
exports.MaterialAssetPointer = MaterialAssetPointer;
|
|
3126
3166
|
exports.MeshComponent = MeshComponent;
|
|
3127
3167
|
exports.Orbital = Orbital;
|
|
3128
3168
|
exports.PlaneActor = PlaneActor;
|
|
@@ -3133,6 +3173,7 @@ exports.SkyComponent = SkyComponent;
|
|
|
3133
3173
|
exports.SphereComponent = SphereComponent;
|
|
3134
3174
|
exports.TAssetPointer = TAssetPointer;
|
|
3135
3175
|
exports.TSmartPointer = TSmartPointer;
|
|
3176
|
+
exports.TextureAssetPointer = TextureAssetPointer;
|
|
3136
3177
|
exports.ThreeJsApp = ThreeJsApp;
|
|
3137
3178
|
exports.ThreeObjectLibrary = ThreeObjectLibrary;
|
|
3138
3179
|
exports.ToneMappingOptions = ToneMappingOptions;
|
package/dist/bundle.esm.js
CHANGED
|
@@ -850,7 +850,7 @@ class TAssetPointer extends TSmartPointer {
|
|
|
850
850
|
get uuid() {
|
|
851
851
|
return this._uuid;
|
|
852
852
|
}
|
|
853
|
-
constructor(value, referenceCount =
|
|
853
|
+
constructor(value, referenceCount = 0) {
|
|
854
854
|
super(value, referenceCount);
|
|
855
855
|
this._uuid = value.uuid;
|
|
856
856
|
value.userData["assetPointer"] = this;
|
|
@@ -873,6 +873,37 @@ class TAssetPointer extends TSmartPointer {
|
|
|
873
873
|
}
|
|
874
874
|
}
|
|
875
875
|
|
|
876
|
+
class MaterialAssetPointer extends TAssetPointer {
|
|
877
|
+
constructor(value, usedTextures, referenceCount = 0) {
|
|
878
|
+
super(value, referenceCount);
|
|
879
|
+
this.textures = usedTextures;
|
|
880
|
+
}
|
|
881
|
+
release() {
|
|
882
|
+
for (let texture of this.textures.values()) {
|
|
883
|
+
texture.release();
|
|
884
|
+
}
|
|
885
|
+
super.release();
|
|
886
|
+
}
|
|
887
|
+
forceRelease() {
|
|
888
|
+
for (let texture of this.textures.values()) {
|
|
889
|
+
texture.release();
|
|
890
|
+
}
|
|
891
|
+
super.forceRelease();
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
class TextureAssetPointer extends TAssetPointer {
|
|
896
|
+
constructor(value, referenceCount = 1) {
|
|
897
|
+
super(value, referenceCount);
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
class GeometryAssetPointer extends TAssetPointer {
|
|
902
|
+
constructor(value, referenceCount = 1) {
|
|
903
|
+
super(value, referenceCount);
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
|
|
876
907
|
class AssetManager {
|
|
877
908
|
constructor(app) {
|
|
878
909
|
this.geometryAssets = new Map();
|
|
@@ -1052,7 +1083,7 @@ class AssetManager {
|
|
|
1052
1083
|
onLoadFinished(data);
|
|
1053
1084
|
});
|
|
1054
1085
|
}
|
|
1055
|
-
addAsset(asset, referenceCount =
|
|
1086
|
+
addAsset(asset, referenceCount = 0) {
|
|
1056
1087
|
if (asset instanceof BufferGeometry) {
|
|
1057
1088
|
return this.addGeometryAsset(asset, referenceCount);
|
|
1058
1089
|
}
|
|
@@ -1064,35 +1095,42 @@ class AssetManager {
|
|
|
1064
1095
|
}
|
|
1065
1096
|
return undefined;
|
|
1066
1097
|
}
|
|
1067
|
-
addMaterialAsset(asset, referenceCount =
|
|
1098
|
+
addMaterialAsset(asset, referenceCount = 0) {
|
|
1068
1099
|
let pointer = (asset.userData["assetPointer"]);
|
|
1069
1100
|
if (!pointer) {
|
|
1070
|
-
|
|
1101
|
+
let textureMap = new Map();
|
|
1102
|
+
for (let k in asset) {
|
|
1103
|
+
if (asset[k] instanceof Texture) {
|
|
1104
|
+
let ptr = this.addTextureAsset(asset[k], 1);
|
|
1105
|
+
textureMap.set(k, ptr);
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
pointer = new MaterialAssetPointer(asset, textureMap, referenceCount);
|
|
1109
|
+
this.geometryAssets.set(asset.uuid, pointer);
|
|
1071
1110
|
}
|
|
1072
1111
|
else {
|
|
1073
|
-
pointer = asset.userData["assetPointer"];
|
|
1074
1112
|
pointer.addRef(referenceCount);
|
|
1075
1113
|
}
|
|
1076
1114
|
return pointer;
|
|
1077
1115
|
}
|
|
1078
|
-
addTextureAsset(asset, referenceCount =
|
|
1116
|
+
addTextureAsset(asset, referenceCount = 0) {
|
|
1079
1117
|
let pointer = (asset.userData["assetPointer"]);
|
|
1080
1118
|
if (!pointer) {
|
|
1081
|
-
pointer = new
|
|
1119
|
+
pointer = new TextureAssetPointer(asset, referenceCount);
|
|
1120
|
+
this.textureAssets.set(asset.uuid, pointer);
|
|
1082
1121
|
}
|
|
1083
1122
|
else {
|
|
1084
|
-
pointer = asset.userData["assetPointer"];
|
|
1085
1123
|
pointer.addRef(referenceCount);
|
|
1086
1124
|
}
|
|
1087
1125
|
return pointer;
|
|
1088
1126
|
}
|
|
1089
|
-
addGeometryAsset(asset, referenceCount =
|
|
1127
|
+
addGeometryAsset(asset, referenceCount = 0) {
|
|
1090
1128
|
let pointer = (asset.userData["assetPointer"]);
|
|
1091
1129
|
if (!pointer) {
|
|
1092
|
-
pointer = new
|
|
1130
|
+
pointer = new GeometryAssetPointer(asset, referenceCount);
|
|
1131
|
+
this.geometryAssets.set(asset.uuid, pointer);
|
|
1093
1132
|
}
|
|
1094
1133
|
else {
|
|
1095
|
-
pointer = asset.userData["assetPointer"];
|
|
1096
1134
|
pointer.addRef(referenceCount);
|
|
1097
1135
|
}
|
|
1098
1136
|
return pointer;
|
|
@@ -3099,4 +3137,4 @@ class TransformGizmo extends Pawn {
|
|
|
3099
3137
|
}
|
|
3100
3138
|
}
|
|
3101
3139
|
|
|
3102
|
-
export { Actor, AssetManager, AttachmentRules, BoxActor, BoxComponent, Controller, DefaultAppParam, DefaultBloomParam, DefaultCameraParam, DefaultDOFParam, DefaultDenoiseParam, DefaultGTAOParam, DefaultOutlineParams, DefaultPostProcessParam, DefaultRenderParam, DefaultSSRParam, DefaultSkyParam, DefaultToneMappingParams, Delegate, DirectionalLightActor, DirectionalLightComponent, FirstPerson, LabelComponent, MeshComponent, Orbital, PlaneActor, PlaneComponent, SceneComponent, SkyActor, SkyComponent, SphereComponent, TAssetPointer, TSmartPointer, ThreeJsApp, ThreeObjectLibrary, ToneMappingOptions, TransformGizmo, Viewport, WebGPUPostProcessFactory, World };
|
|
3140
|
+
export { Actor, AssetManager, AttachmentRules, BoxActor, BoxComponent, Controller, DefaultAppParam, DefaultBloomParam, DefaultCameraParam, DefaultDOFParam, DefaultDenoiseParam, DefaultGTAOParam, DefaultOutlineParams, DefaultPostProcessParam, DefaultRenderParam, DefaultSSRParam, DefaultSkyParam, DefaultToneMappingParams, Delegate, DirectionalLightActor, DirectionalLightComponent, FirstPerson, GeometryAssetPointer, LabelComponent, MaterialAssetPointer, MeshComponent, Orbital, PlaneActor, PlaneComponent, SceneComponent, SkyActor, SkyComponent, SphereComponent, TAssetPointer, TSmartPointer, TextureAssetPointer, ThreeJsApp, ThreeObjectLibrary, ToneMappingOptions, TransformGizmo, Viewport, WebGPUPostProcessFactory, World };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export { AssetManager } from "./lythreeframe/AssetManagement/AssetManager";
|
|
2
2
|
export { TAssetPointer } from "./lythreeframe/AssetManagement/AssetPointer/AssetPointer";
|
|
3
3
|
export { TSmartPointer } from './lythreeframe/Container/SmartPointer';
|
|
4
|
+
export { MaterialAssetPointer } from "./lythreeframe/AssetManagement/AssetPointer/Assets/MaterialAssetPointer";
|
|
5
|
+
export { GeometryAssetPointer } from "./lythreeframe/AssetManagement/AssetPointer/Assets/GeometryAssetPointer";
|
|
6
|
+
export { TextureAssetPointer } from "./lythreeframe/AssetManagement/AssetPointer/Assets/TextureAssetPointer";
|
|
4
7
|
export { AttachmentRules } from "./lythreeframe/Defines";
|
|
5
8
|
export { Delegate } from "./lythreeframe/Delegate";
|
|
6
9
|
export { ThreeJsApp } from "./lythreeframe/ThreeJsApp";
|
|
@@ -4,10 +4,13 @@ import { TAssetPointer } from "./AssetPointer/AssetPointer";
|
|
|
4
4
|
import { DRACOLoader, GLTF, GLTFLoader } from 'three/examples/jsm/Addons.js';
|
|
5
5
|
import { Object3D } from "three";
|
|
6
6
|
import { ThreeJsApp } from "../ThreeJsApp";
|
|
7
|
+
import { MaterialAssetPointer } from "./AssetPointer/Assets/MaterialAssetPointer";
|
|
8
|
+
import { TextureAssetPointer } from "./AssetPointer/Assets/TextureAssetPointer";
|
|
9
|
+
import { GeometryAssetPointer } from "./AssetPointer/Assets/GeometryAssetPointer";
|
|
7
10
|
export declare class AssetManager {
|
|
8
|
-
protected geometryAssets: Map<string,
|
|
9
|
-
protected textureAssets: Map<string,
|
|
10
|
-
protected materialAssets: Map<string,
|
|
11
|
+
protected geometryAssets: Map<string, GeometryAssetPointer>;
|
|
12
|
+
protected textureAssets: Map<string, TextureAssetPointer>;
|
|
13
|
+
protected materialAssets: Map<string, MaterialAssetPointer>;
|
|
11
14
|
protected dracoLoader: DRACOLoader | null;
|
|
12
15
|
protected readonly gltfLoader: GLTFLoader;
|
|
13
16
|
protected readonly loadingManager: LoadingManager;
|
|
@@ -21,9 +24,9 @@ export declare class AssetManager {
|
|
|
21
24
|
loadGltfFromBuffer(data: ArrayBuffer | string, path: string, onLoadFinished: (gltf: GLTF) => void): void;
|
|
22
25
|
loadFile(filepath: string | undefined, onLoadFinished: (data: any) => void): void;
|
|
23
26
|
addAsset(asset: BufferGeometry | Material | Texture, referenceCount?: number): TAssetPointer<BufferGeometry | Material | Texture> | undefined;
|
|
24
|
-
addMaterialAsset(asset: Material, referenceCount?: number):
|
|
25
|
-
addTextureAsset(asset: Texture, referenceCount?: number):
|
|
26
|
-
addGeometryAsset(asset: BufferGeometry, referenceCount?: number):
|
|
27
|
+
addMaterialAsset(asset: Material, referenceCount?: number): MaterialAssetPointer;
|
|
28
|
+
addTextureAsset(asset: Texture, referenceCount?: number): TextureAssetPointer;
|
|
29
|
+
addGeometryAsset(asset: BufferGeometry, referenceCount?: number): GeometryAssetPointer;
|
|
27
30
|
releaseAsset(asset: BufferGeometry | Material | Texture): void;
|
|
28
31
|
clearAssets(): void;
|
|
29
32
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BufferGeometry, Material, Texture } from "three/webgpu";
|
|
2
2
|
import { TSmartPointer } from "../../Container/SmartPointer";
|
|
3
|
-
export declare class TAssetPointer<T extends BufferGeometry | Texture | Material> extends TSmartPointer<T> {
|
|
3
|
+
export declare abstract class TAssetPointer<T extends BufferGeometry | Texture | Material> extends TSmartPointer<T> {
|
|
4
4
|
get uuid(): string;
|
|
5
5
|
private readonly _uuid;
|
|
6
6
|
constructor(value: T, referenceCount?: number);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Material } from "three/webgpu";
|
|
2
|
+
import { TAssetPointer } from "../AssetPointer";
|
|
3
|
+
import { TextureAssetPointer } from "./TextureAssetPointer";
|
|
4
|
+
export declare class MaterialAssetPointer extends TAssetPointer<Material> {
|
|
5
|
+
protected textures: Map<string, TextureAssetPointer>;
|
|
6
|
+
constructor(value: Material, usedTextures: Map<string, TextureAssetPointer>, referenceCount?: number);
|
|
7
|
+
release(): void;
|
|
8
|
+
forceRelease(): void;
|
|
9
|
+
}
|