@divinevoxel/vlox 0.0.71 → 0.0.73
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/Contexts/Base/Main/InitDataGenerator.js +0 -9
- package/Contexts/Base/Remote/DataSync.types.d.ts +0 -5
- package/Contexts/Base/Remote/InitDataSync.js +17 -31
- package/Contexts/Render/DivineVoxelEngineRender.d.ts +1 -1
- package/Contexts/World/DivineVoxelEngineWorld.d.ts +1 -1
- package/Init/StartConstructor.js +7 -7
- package/Init/StartWorld.d.ts +1 -1
- package/Init/StartWorld.js +0 -12
- package/Math/Indexing.d.ts +12 -3
- package/Math/Indexing.js +24 -15
- package/Mesher/Functions/CompactVoxelMesh.d.ts +2 -2
- package/Mesher/Functions/CompactVoxelMesh.js +4 -5
- package/Mesher/Functions/MeshSection.d.ts +1 -1
- package/Mesher/Functions/MeshSection.js +72 -66
- package/Mesher/Functions/MeshTexture.d.ts +1 -1
- package/Mesher/Functions/MeshTexture.js +3 -4
- package/Mesher/Functions/MeshVoxel.js +20 -26
- package/Mesher/Geomtry/Primitives/QuadVertexData.d.ts +12 -10
- package/Mesher/Geomtry/Primitives/QuadVertexData.js +49 -56
- package/Mesher/Geomtry/VoxelGeometryBuilder.d.ts +2 -2
- package/Mesher/Geomtry/VoxelGeometryBuilder.js +108 -125
- package/Mesher/Geomtry/VoxelMesh.d.ts +1 -1
- package/Mesher/Geomtry/VoxelMesh.js +2 -2
- package/Mesher/{Tools → Geomtry}/VoxelMeshBVHBuilder.d.ts +2 -9
- package/Mesher/{Tools → Geomtry}/VoxelMeshBVHBuilder.js +4 -16
- package/Mesher/Geomtry/{Buffers.d.ts → VoxelMeshBuffers.d.ts} +9 -8
- package/Mesher/Geomtry/VoxelMeshBuffers.js +49 -0
- package/Mesher/{Tools → Geomtry}/VoxelMeshVertexStructCursor.d.ts +10 -0
- package/Mesher/{Tools → Geomtry}/VoxelMeshVertexStructCursor.js +10 -0
- package/Mesher/Geomtry/index.d.ts +0 -1
- package/Mesher/Geomtry/index.js +0 -1
- package/Mesher/InitMesher.js +2 -11
- package/Mesher/InitTask.js +10 -22
- package/Mesher/Models/Common/BoundsFunctions.d.ts +1 -3
- package/Mesher/Models/Common/BoundsFunctions.js +0 -16
- package/Mesher/Models/Common/Calc/CalcConstants.js +14 -31
- package/Mesher/Models/Common/Calc/FaceDataCalc.d.ts +2 -8
- package/Mesher/Models/Common/Calc/FaceDataCalc.js +50 -52
- package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.d.ts +2 -2
- package/Mesher/Models/Nodes/Custom/Liquid/FlowGradient.js +1 -1
- package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.d.ts +1 -5
- package/Mesher/Models/Nodes/Custom/Liquid/LiquidGeomtryNode.js +40 -42
- package/Mesher/Models/Nodes/GeometryNode.d.ts +3 -5
- package/Mesher/Models/Nodes/GeometryNode.js +1 -2
- package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.d.ts +3 -6
- package/Mesher/Models/Nodes/Ruled/BoxVoxelGeometryNode.js +55 -40
- package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.d.ts +2 -6
- package/Mesher/Models/Nodes/Ruled/QuadVoxelGeometryNode.js +52 -51
- package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.d.ts +2 -6
- package/Mesher/Models/Nodes/Ruleless/RulelessBoxVoxelGeometryNode.js +18 -19
- package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.d.ts +2 -6
- package/Mesher/Models/Nodes/Ruleless/RulelessQuadVoxelGeometryNode.js +37 -40
- package/Mesher/{Tools → Models/Protocols}/OutlinedVoxelTool.d.ts +1 -1
- package/Mesher/{Tools → Models/Protocols}/OutlinedVoxelTool.js +1 -1
- package/Mesher/Models/RenderedMaterials.d.ts +6 -0
- package/Mesher/{RenderedMaterials.js → Models/RenderedMaterials.js} +2 -2
- package/Mesher/Models/VoxelConstructor.d.ts +4 -5
- package/Mesher/Models/VoxelConstructor.js +23 -12
- package/Mesher/Models/{VoxelGeometryLookUp.d.ts → VoxelGeometryBuilderCacheSpace.d.ts} +6 -14
- package/Mesher/Models/{VoxelGeometryLookUp.js → VoxelGeometryBuilderCacheSpace.js} +26 -44
- package/Mesher/{Tools/VoxelMesherDataTool.d.ts → Models/VoxelModelBuilder.d.ts} +10 -8
- package/Mesher/{Tools/VoxelMesherDataTool.js → Models/VoxelModelBuilder.js} +44 -19
- package/Mesher/Models/VoxelModelConstructorRegister.js +3 -3
- package/Models/Defaults/CubeVoxelGeometry.js +4 -0
- package/Models/Defaults/CubeVoxelModels.js +344 -344
- package/Models/Defaults/LiquidVoxelModel.js +2 -2
- package/Models/Defaults/PanelVoxelModels.js +432 -432
- package/Models/Defaults/StairVoxelModel.js +576 -576
- package/Models/Examples.js +469 -456
- package/Models/Indexing/VoxelAOResultsIndex.d.ts +4 -4
- package/Models/Indexing/VoxelAOResultsIndex.js +15 -9
- package/Models/Indexing/VoxelFaceCullResultsIndex.d.ts +3 -3
- package/Models/Indexing/VoxelFaceCullResultsIndex.js +14 -9
- package/Models/Indexing/VoxelFaceTransparentResultsIndex.d.ts +1 -1
- package/Models/Indexing/VoxelFaceTransparentResultsIndex.js +1 -1
- package/Models/Rules/Functions/BuildFinalInputs.js +9 -7
- package/Models/Rules/Functions/BuildGeomtryInputs.js +8 -5
- package/Models/Rules/Functions/BuildRules.js +4 -4
- package/Models/Rules/{VoxelModelManager.d.ts → VoxelModelRuleBuilderRegister.d.ts} +1 -1
- package/Models/Rules/VoxelModelRuleBuilderRegister.js +178 -0
- package/Models/VoxelModel.types.d.ts +14 -5
- package/Renderer/Classes/SectorMesh.d.ts +3 -4
- package/Renderer/Classes/SectorMesh.js +6 -11
- package/Renderer/InitTasks.js +6 -7
- package/Renderer/MeshManager.js +2 -2
- package/Renderer/MeshRegister.js +2 -1
- package/Settings/EngineSettings.d.ts +1 -1
- package/Settings/EngineSettings.js +3 -5
- package/Settings/EngineSettings.types.d.ts +17 -18
- package/Settings/EngineSettings.types.js +16 -15
- package/Tasks/IWG/IWG.d.ts +2 -1
- package/Tasks/IWG/IWG.js +9 -3
- package/Tasks/IWG/Internal/Classes/BuildQueue.d.ts +11 -0
- package/Tasks/IWG/Internal/Classes/BuildQueue.js +49 -0
- package/Tasks/IWG/Internal/Classes/Generator.d.ts +6 -1
- package/Tasks/IWG/Internal/Classes/Generator.js +14 -2
- package/Tasks/IWG/Internal/Classes/IWGTaskBase.js +2 -2
- package/Tasks/IWG/Internal/Functions/getSectorState.js +4 -7
- package/Tasks/IWG/Internal/Functions/runBuildUpdate.js +21 -2
- package/Tasks/IWG/Internal/Functions/runWorldUpdate.js +5 -6
- package/Tasks/IWG/Internal/IWGTasks.d.ts +0 -4
- package/Tasks/IWG/Internal/IWGTasks.js +12 -31
- package/Tasks/IWG/Internal/IWGTools.d.ts +1 -1
- package/Tasks/IWG/Procedures/SaveAllSectors.js +2 -0
- package/Tasks/Propagation/Flow/FlowManager.d.ts +0 -2
- package/Tasks/Propagation/Flow/FlowManager.js +86 -87
- package/Tasks/Propagation/Flow/WorldFlow.js +2 -3
- package/Tasks/Propagation/Illumanation/WorldRGB.js +1 -2
- package/Tasks/Update/InitTasks.d.ts +2 -1
- package/Tasks/Update/InitTasks.js +6 -6
- package/Tasks/Update/UpdateTask.d.ts +3 -1
- package/Tasks/Update/UpdateTask.js +28 -2
- package/Tasks/Update/VoxelUpdate.js +21 -7
- package/Tasks/WorldGeneration/WorldGenBrush.js +2 -1
- package/Templates/Cursor/TemplateCursor.d.ts +2 -2
- package/Templates/Cursor/TemplateCursor.js +1 -2
- package/Templates/Functions/CreateTemplate.js +1 -1
- package/Templates/VoxelTemplate.js +6 -8
- package/Templates/VoxelTemplates.types.d.ts +1 -1
- package/Textures/Classes/CompiledTexture.d.ts +18 -0
- package/Textures/Classes/CompiledTexture.js +50 -0
- package/Textures/Classes/CompiledTextureAnimation.d.ts +12 -0
- package/Textures/Classes/CompiledTextureAnimation.js +27 -0
- package/Textures/Classes/TextureAnimationTexture.d.ts +10 -0
- package/Textures/Classes/TextureAnimationTexture.js +32 -0
- package/Textures/Functions/BuildTextureData.d.ts +10 -0
- package/Textures/Functions/BuildTextureData.js +205 -0
- package/Textures/Texture.types.d.ts +50 -64
- package/Textures/TextureManager.d.ts +8 -19
- package/Textures/TextureManager.js +28 -166
- package/Tools/Brush/Brush.d.ts +1 -3
- package/Tools/Brush/Brush.js +43 -12
- package/Util/Binary/BinaryArrays.d.ts +6 -0
- package/Util/Binary/BinaryArrays.js +25 -0
- package/Util/Binary/BinaryBuffer.d.ts +29 -0
- package/Util/Binary/BinaryBuffer.js +130 -0
- package/Util/Binary/BinaryFunctions.d.ts +3 -0
- package/Util/Binary/BinaryFunctions.js +11 -0
- package/Util/StringPalette.d.ts +1 -0
- package/Util/StringPalette.js +8 -0
- package/Voxels/Cursor/DataCursor.interface.d.ts +5 -0
- package/Voxels/Cursor/VoxelCursor.d.ts +6 -6
- package/Voxels/Cursor/VoxelCursor.interface.d.ts +11 -16
- package/Voxels/Cursor/VoxelCursor.interface.js +35 -58
- package/Voxels/Cursor/VoxelCursor.js +13 -12
- package/Voxels/Cursor/VoxelLightData.d.ts +3 -4
- package/Voxels/Cursor/VoxelLightData.js +8 -7
- package/Voxels/Data/VoxelPalettesRegister.d.ts +8 -0
- package/Voxels/Data/VoxelPalettesRegister.js +8 -0
- package/Voxels/Data/VoxelTag.types.d.ts +56 -0
- package/Voxels/Data/VoxelTag.types.js +23 -0
- package/Voxels/{State → Data}/VoxelTagStates.d.ts +2 -2
- package/Voxels/{State → Data}/VoxelTagStates.js +5 -5
- package/Voxels/Data/VoxelTagsRegister.d.ts +9 -0
- package/Voxels/Data/VoxelTagsRegister.js +32 -0
- package/Voxels/Functions/BuildStateData.js +12 -12
- package/Voxels/Functions/BuildTagAndPaletteData.d.ts +13 -0
- package/Voxels/Functions/BuildTagAndPaletteData.js +55 -0
- package/Voxels/Indexes/VoxelIndex.js +3 -3
- package/Voxels/InitVoxelData.js +31 -73
- package/Voxels/State/Schema/StateSchema.d.ts +1 -1
- package/Voxels/Types/Voxel.types.d.ts +20 -42
- package/Voxels/Types/Voxel.types.js +6 -17
- package/Voxels/Types/VoxelModelCompiledData.types.d.ts +11 -13
- package/Voxels/Types/VoxelSubstances.types.d.ts +2 -15
- package/Voxels/Types/VoxelSubstances.types.js +1 -9
- package/World/Archive/Archive.types.d.ts +38 -34
- package/World/Archive/Functions/ArchiveArea.js +18 -30
- package/World/Archive/Functions/ArchiveSector.js +484 -213
- package/World/Archive/Functions/ImportSector.d.ts +3 -3
- package/World/Archive/Functions/ImportSector.js +205 -151
- package/World/Archive/Functions/Shared.d.ts +6 -0
- package/World/Archive/Functions/Shared.js +75 -0
- package/World/Archive/InitTasks.js +30 -13
- package/World/Cursor/SectionCursor.d.ts +3 -2
- package/World/Cursor/SectionCursor.js +9 -4
- package/World/Cursor/SectorCursor.d.ts +3 -2
- package/World/Cursor/SectorCursor.js +5 -3
- package/World/Cursor/WorldCursor.d.ts +2 -2
- package/World/Cursor/WorldCursor.js +6 -3
- package/World/Cursor/WorldVoxelCursor.d.ts +7 -7
- package/World/Cursor/WorldVoxelCursor.js +21 -24
- package/World/InitTasks.d.ts +1 -1
- package/World/Lock/WorldLock.d.ts +1 -1
- package/World/Section/Section.d.ts +31 -23
- package/World/Section/Section.js +116 -18
- package/World/Section/SectionState.d.ts +10 -0
- package/World/Section/SectionState.js +11 -0
- package/World/Sector/Sector.d.ts +24 -9
- package/World/Sector/Sector.js +92 -21
- package/World/Sector/SectorHeightMap.js +3 -5
- package/World/Sector/SectorState.d.ts +21 -0
- package/World/Sector/SectorState.js +28 -0
- package/World/WorldRegister.d.ts +4 -0
- package/World/WorldRegister.js +15 -3
- package/World/WorldSpaces.d.ts +6 -0
- package/World/WorldSpaces.js +25 -6
- package/package.json +1 -1
- package/Data/Cursor/DataCursor.interface.d.ts +0 -5
- package/Data/Cursor/DataCursor.interface.js +0 -2
- package/Data/Register/MappedDataRegister.d.ts +0 -5
- package/Data/Register/MappedDataRegister.js +0 -9
- package/Data/Register/MappedRegisterBase.d.ts +0 -14
- package/Data/Register/MappedRegisterBase.js +0 -50
- package/Data/Structs/StructBuilder.d.ts +0 -34
- package/Data/Structs/StructBuilder.js +0 -157
- package/Data/Structs/StructBuilder.types.d.ts +0 -30
- package/Mesher/Functions/CompactMesh.d.ts +0 -2
- package/Mesher/Functions/CompactMesh.js +0 -42
- package/Mesher/Geomtry/Buffers.js +0 -81
- package/Mesher/Geomtry/GeometryNormals.d.ts +0 -10
- package/Mesher/Geomtry/GeometryNormals.js +0 -52
- package/Mesher/Geomtry/MeshData.types.d.ts +0 -13
- package/Mesher/Geomtry/MeshData.types.js +0 -6
- package/Mesher/Geomtry/Tools/MesherDataTools.d.ts +0 -7
- package/Mesher/Geomtry/Tools/MesherDataTools.js +0 -12
- package/Mesher/Geomtry/Tools/index.d.ts +0 -1
- package/Mesher/Geomtry/Tools/index.js +0 -1
- package/Mesher/RenderedMaterials.d.ts +0 -6
- package/Models/Rules/VoxelModelManager.js +0 -82
- package/Textures/TextureAnimations.d.ts +0 -4
- package/Textures/TextureAnimations.js +0 -35
- package/Textures/TextureArray.d.ts +0 -47
- package/Textures/TextureArray.js +0 -202
- package/Textures/TextureBuilder.d.ts +0 -13
- package/Textures/TextureBuilder.js +0 -120
- package/Textures/TextureRegister.d.ts +0 -9
- package/Textures/TextureRegister.js +0 -28
- package/Tools/Data/SubstanceDataTool.d.ts +0 -13
- package/Tools/Data/SubstanceDataTool.js +0 -51
- package/Voxels/Palettes/MaterialPalette.d.ts +0 -9
- package/Voxels/Palettes/MaterialPalette.js +0 -11
- package/Voxels/Palettes/SubstancePalette.d.ts +0 -9
- package/Voxels/Palettes/SubstancePalette.js +0 -11
- package/Voxels/Palettes/VoxelPalette.d.ts +0 -11
- package/Voxels/Palettes/VoxelPalette.js +0 -15
- package/Voxels/Segments/MaterialDataGenerator.d.ts +0 -6
- package/Voxels/Segments/MaterialDataGenerator.js +0 -12
- package/Voxels/Segments/SubstanceDataGenerator.d.ts +0 -6
- package/Voxels/Segments/SubstanceDataGenerator.js +0 -35
- package/Voxels/Segments/VoxelDataGenerator.d.ts +0 -10
- package/Voxels/Segments/VoxelDataGenerator.js +0 -56
- package/Voxels/Structs/Builder/SubstanceStructBuilder.d.ts +0 -2
- package/Voxels/Structs/Builder/SubstanceStructBuilder.js +0 -42
- package/Voxels/Structs/Builder/VoxelStructBuilder.d.ts +0 -2
- package/Voxels/Structs/Builder/VoxelStructBuilder.js +0 -68
- package/Voxels/Structs/SubstanceStruct.d.ts +0 -17
- package/Voxels/Structs/SubstanceStruct.js +0 -17
- package/Voxels/Structs/VoxelStruct.d.ts +0 -27
- package/Voxels/Structs/VoxelStruct.js +0 -29
- package/World/Section/SectionHeightMap.d.ts +0 -10
- package/World/Section/SectionHeightMap.js +0 -39
- package/World/Section/SectionStruct.d.ts +0 -8
- package/World/Section/SectionStruct.js +0 -29
- package/World/Section/SectionStructProperties.d.ts +0 -10
- package/World/Section/SectionStructProperties.js +0 -11
- package/World/Sector/SectorStruct.d.ts +0 -1
- package/World/Sector/SectorStruct.js +0 -46
- package/World/Sector/SectorStructIds.d.ts +0 -13
- package/World/Sector/SectorStructIds.js +0 -14
- package/World/Structs/WorldDataStructProperties.d.ts +0 -8
- package/World/Structs/WorldDataStructProperties.js +0 -9
- /package/Mesher/{VoxelShaderData.d.ts → Geomtry/VoxelShaderData.d.ts} +0 -0
- /package/Mesher/{VoxelShaderData.js → Geomtry/VoxelShaderData.js} +0 -0
- /package/{Data/Functions → Util/Binary}/Palettes.d.ts +0 -0
- /package/{Data/Functions → Util/Binary}/Palettes.js +0 -0
- /package/{Data/Structs/StructBuilder.types.js → Voxels/Cursor/DataCursor.interface.js} +0 -0
- /package/Voxels/{VoxelLevelReader.d.ts → Cursor/VoxelLevelReader.d.ts} +0 -0
- /package/Voxels/{VoxelLevelReader.js → Cursor/VoxelLevelReader.js} +0 -0
- /package/World/{Storage → Types}/WorldStorage.interface.d.ts +0 -0
- /package/World/{Storage → Types}/WorldStorage.interface.js +0 -0
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { BinaryNumberTypes, } from "@amodx/binary/";
|
|
2
|
-
import { BinaryStruct } from "@amodx/binary/";
|
|
3
|
-
export class StructBuilder {
|
|
4
|
-
id;
|
|
5
|
-
dataSegment;
|
|
6
|
-
_built = false;
|
|
7
|
-
_nodeMap = new Map();
|
|
8
|
-
_stringMaps = new Map();
|
|
9
|
-
_objectMaps = new Map();
|
|
10
|
-
_defaults = new Map();
|
|
11
|
-
_initData;
|
|
12
|
-
constructor(id, dataSegment) {
|
|
13
|
-
this.id = id;
|
|
14
|
-
this.dataSegment = dataSegment;
|
|
15
|
-
}
|
|
16
|
-
addNode(node) {
|
|
17
|
-
if (Array.isArray(node)) {
|
|
18
|
-
for (const n of node) {
|
|
19
|
-
this._nodeMap.set(n.id, n);
|
|
20
|
-
}
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
this._nodeMap.set(node.id, node);
|
|
24
|
-
}
|
|
25
|
-
getNode(id) {
|
|
26
|
-
return this._nodeMap.get(id);
|
|
27
|
-
}
|
|
28
|
-
setDefaults(tagManager) {
|
|
29
|
-
for (const [key, node] of this._nodeMap) {
|
|
30
|
-
const defaultValue = this._defaults.get(key);
|
|
31
|
-
if (!defaultValue)
|
|
32
|
-
continue;
|
|
33
|
-
tagManager.setProperty(key, Number(defaultValue));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
hasNode(id) {
|
|
37
|
-
return this._nodeMap.has(id);
|
|
38
|
-
}
|
|
39
|
-
setNode(id, value, tagManager) {
|
|
40
|
-
const node = this.getNode(id);
|
|
41
|
-
if (!node)
|
|
42
|
-
return;
|
|
43
|
-
if (node.type == "number") {
|
|
44
|
-
tagManager.setProperty(node.id, Number(value));
|
|
45
|
-
}
|
|
46
|
-
if (node.type == "boolean") {
|
|
47
|
-
tagManager.setProperty(node.id, Number(value));
|
|
48
|
-
}
|
|
49
|
-
if (node.type == "number-array") {
|
|
50
|
-
if (!Array.isArray(value))
|
|
51
|
-
return false;
|
|
52
|
-
let i = value.length;
|
|
53
|
-
while (i--) {
|
|
54
|
-
tagManager.setArrayPropertyValue(node.id, i, value[i]);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (node.type == "string-map") {
|
|
58
|
-
const data = this._stringMaps.get(node.id);
|
|
59
|
-
if (!data)
|
|
60
|
-
return false;
|
|
61
|
-
const v = String(value).trim();
|
|
62
|
-
if (data.found[v] === undefined) {
|
|
63
|
-
data.map.push(v);
|
|
64
|
-
data.found[v] = data.count;
|
|
65
|
-
data.count++;
|
|
66
|
-
}
|
|
67
|
-
tagManager.setProperty(node.id, data.found[v]);
|
|
68
|
-
}
|
|
69
|
-
if (node.type == "object-map") {
|
|
70
|
-
const data = this._objectMaps.get(node.id);
|
|
71
|
-
if (!data)
|
|
72
|
-
return false;
|
|
73
|
-
const v = JSON.stringify(value);
|
|
74
|
-
if (data.found[v] === undefined) {
|
|
75
|
-
data.map[data.count] = value;
|
|
76
|
-
data.found[v] = data.count;
|
|
77
|
-
data.count++;
|
|
78
|
-
}
|
|
79
|
-
tagManager.setProperty(node.id, data.found[v]);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
build(totalTagIndexes = 0) {
|
|
83
|
-
const tags = new BinaryStruct(this.id);
|
|
84
|
-
for (const [key, node] of this._nodeMap) {
|
|
85
|
-
if (node.type == "number") {
|
|
86
|
-
tags.registerProperty({
|
|
87
|
-
id: node.id,
|
|
88
|
-
type: "typed-number",
|
|
89
|
-
numberType: node.numberType,
|
|
90
|
-
});
|
|
91
|
-
this._defaults.set(node.id, node.default);
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
if (node.type == "number-array") {
|
|
95
|
-
tags.registerProperty({
|
|
96
|
-
id: node.id,
|
|
97
|
-
type: "typed-number-array",
|
|
98
|
-
numberType: node.numberType,
|
|
99
|
-
length: node.length,
|
|
100
|
-
});
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
if (node.type == "boolean") {
|
|
104
|
-
tags.registerProperty({
|
|
105
|
-
id: node.id,
|
|
106
|
-
type: "boolean",
|
|
107
|
-
});
|
|
108
|
-
this._defaults.set(node.id, node.default ? 1 : 0);
|
|
109
|
-
}
|
|
110
|
-
if (node.type == "string-map") {
|
|
111
|
-
tags.registerProperty({
|
|
112
|
-
id: node.id,
|
|
113
|
-
type: "typed-number",
|
|
114
|
-
numberType: BinaryNumberTypes.Uint16,
|
|
115
|
-
});
|
|
116
|
-
this._stringMaps.set(node.id, {
|
|
117
|
-
count: 0,
|
|
118
|
-
found: {},
|
|
119
|
-
map: [],
|
|
120
|
-
allowedComms: node.allowedComms,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
if (node.type == "object-map") {
|
|
124
|
-
tags.registerProperty({
|
|
125
|
-
id: node.id,
|
|
126
|
-
type: "typed-number",
|
|
127
|
-
numberType: BinaryNumberTypes.Uint16,
|
|
128
|
-
});
|
|
129
|
-
this._objectMaps.set(node.id, {
|
|
130
|
-
count: 0,
|
|
131
|
-
found: {},
|
|
132
|
-
map: [],
|
|
133
|
-
allowedComms: node.allowedComms,
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
tags.init({
|
|
138
|
-
indexBufferMode: "shared",
|
|
139
|
-
numberOfIndexes: totalTagIndexes,
|
|
140
|
-
});
|
|
141
|
-
return tags;
|
|
142
|
-
}
|
|
143
|
-
getMaps() {
|
|
144
|
-
const objectMaps = {};
|
|
145
|
-
const stringMaps = {};
|
|
146
|
-
for (const [key, value] of this._stringMaps) {
|
|
147
|
-
stringMaps[key] = value.map;
|
|
148
|
-
}
|
|
149
|
-
for (const [key, value] of this._objectMaps) {
|
|
150
|
-
objectMaps[key] = value.map;
|
|
151
|
-
}
|
|
152
|
-
return {
|
|
153
|
-
objectMaps,
|
|
154
|
-
stringMaps,
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { BinaryNumberTypes } from "@amodx/binary/";
|
|
2
|
-
type TagBuilderNodeBase = {
|
|
3
|
-
id: string;
|
|
4
|
-
};
|
|
5
|
-
type TagBuilderNumberNode = {
|
|
6
|
-
type: "number";
|
|
7
|
-
numberType: BinaryNumberTypes;
|
|
8
|
-
default: number;
|
|
9
|
-
} & TagBuilderNodeBase;
|
|
10
|
-
type TagBuilderNumberArrayNode = {
|
|
11
|
-
type: "number-array";
|
|
12
|
-
numberType: BinaryNumberTypes;
|
|
13
|
-
length: number;
|
|
14
|
-
} & TagBuilderNodeBase;
|
|
15
|
-
type TagBuilderStringMapNode = {
|
|
16
|
-
type: "string-map";
|
|
17
|
-
allowedComms: string[];
|
|
18
|
-
default?: string;
|
|
19
|
-
} & TagBuilderNodeBase;
|
|
20
|
-
type TagBuilderObjectMapNode = {
|
|
21
|
-
type: "object-map";
|
|
22
|
-
allowedComms: string[];
|
|
23
|
-
default?: any;
|
|
24
|
-
} & TagBuilderNodeBase;
|
|
25
|
-
type TagBuilderBooleanNode = {
|
|
26
|
-
type: "boolean";
|
|
27
|
-
default: boolean;
|
|
28
|
-
} & TagBuilderNodeBase;
|
|
29
|
-
export type TagBuilderNodes = TagBuilderNumberNode | TagBuilderNumberArrayNode | TagBuilderStringMapNode | TagBuilderBooleanNode | TagBuilderObjectMapNode;
|
|
30
|
-
export {};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export function CompactMesh(materialId, tool) {
|
|
2
|
-
/* let webGPU = EngineSettings.settings.rendererSettings.mode == "webgpu";
|
|
3
|
-
|
|
4
|
-
const mesh = tool.mesh!;
|
|
5
|
-
const byteRanges: [
|
|
6
|
-
byteStart: number,
|
|
7
|
-
length: number,
|
|
8
|
-
type: BinaryNumberTypes,
|
|
9
|
-
][] = [];
|
|
10
|
-
const dataMap: CompactSubMesh = [materialId, []];
|
|
11
|
-
let totalSize = 0;
|
|
12
|
-
for (let [key, [array, stride, type]] of mesh.attributes) {
|
|
13
|
-
if (key == MeshDefaultAttributes.Indices) {
|
|
14
|
-
if (array.length > 60_000) {
|
|
15
|
-
type = BinaryNumberTypes.Uint32;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
let current = totalSize;
|
|
19
|
-
|
|
20
|
-
totalSize += MappedByteCounts[type] * array.length;
|
|
21
|
-
byteRanges.push([current, array.length, type]);
|
|
22
|
-
dataMap[1].push([key, array as any, stride]);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const finalBuffer = new ArrayBuffer(totalSize);
|
|
26
|
-
|
|
27
|
-
for (let i = 0; i < dataMap[1].length; i++) {
|
|
28
|
-
const startByte = byteRanges[i][0];
|
|
29
|
-
const length = byteRanges[i][1];
|
|
30
|
-
const type = byteRanges[i][2];
|
|
31
|
-
const newArray = new TypedArrayClassMap[type](
|
|
32
|
-
finalBuffer,
|
|
33
|
-
//@ts-ignore
|
|
34
|
-
startByte,
|
|
35
|
-
length
|
|
36
|
-
) as Float32Array;
|
|
37
|
-
newArray.set(dataMap[1][i][0] as any as number[]);
|
|
38
|
-
dataMap[1][i][1] = newArray;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return [0, finalBuffer, [dataMap]]; */
|
|
42
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
export class VoxelVertexBuffer {
|
|
2
|
-
vertexFloatSize;
|
|
3
|
-
sectorVertexSize;
|
|
4
|
-
_buffers = [];
|
|
5
|
-
constructor(vertexFloatSize, sectorVertexSize, startingSectorSize = 4) {
|
|
6
|
-
this.vertexFloatSize = vertexFloatSize;
|
|
7
|
-
this.sectorVertexSize = sectorVertexSize;
|
|
8
|
-
const sectorSize = vertexFloatSize * sectorVertexSize;
|
|
9
|
-
for (let i = 0; i < startingSectorSize; i++) {
|
|
10
|
-
this._buffers.push(new Float32Array(sectorSize));
|
|
11
|
-
}
|
|
12
|
-
const array = this;
|
|
13
|
-
return new Proxy([], {
|
|
14
|
-
get: (target, property) => {
|
|
15
|
-
if (property == "length")
|
|
16
|
-
return array.length;
|
|
17
|
-
if (property == "_buffers")
|
|
18
|
-
return array._buffers;
|
|
19
|
-
const index = +property;
|
|
20
|
-
const bufferIndex = Math.floor(index / sectorSize);
|
|
21
|
-
if (!array._buffers[bufferIndex])
|
|
22
|
-
this._buffers[bufferIndex] = new Float32Array(sectorSize);
|
|
23
|
-
const arrayIndex = index - bufferIndex * sectorSize;
|
|
24
|
-
return array._buffers[bufferIndex][arrayIndex];
|
|
25
|
-
},
|
|
26
|
-
set: (target, property, value) => {
|
|
27
|
-
if (property == "length")
|
|
28
|
-
return false;
|
|
29
|
-
const index = +property;
|
|
30
|
-
const bufferIndex = Math.floor(index / sectorSize);
|
|
31
|
-
if (!array._buffers[bufferIndex])
|
|
32
|
-
array._buffers[bufferIndex] = new Float32Array(sectorSize);
|
|
33
|
-
const arrayIndex = index - bufferIndex * sectorSize;
|
|
34
|
-
array._buffers[bufferIndex][arrayIndex] = value;
|
|
35
|
-
return true;
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
get length() {
|
|
40
|
-
return this._buffers.length * this.vertexFloatSize;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
export class VoxelIndiceBuffer {
|
|
44
|
-
sectorSize;
|
|
45
|
-
_buffers = [];
|
|
46
|
-
constructor(sectorSize, startingSectorSize = 4) {
|
|
47
|
-
this.sectorSize = sectorSize;
|
|
48
|
-
for (let i = 0; i < startingSectorSize; i++) {
|
|
49
|
-
this._buffers.push(new Uint32Array(sectorSize));
|
|
50
|
-
}
|
|
51
|
-
const array = this;
|
|
52
|
-
return new Proxy([], {
|
|
53
|
-
get: (target, property) => {
|
|
54
|
-
if (property == "length")
|
|
55
|
-
return array.length;
|
|
56
|
-
if (property == "_buffers")
|
|
57
|
-
return array._buffers;
|
|
58
|
-
const index = +property;
|
|
59
|
-
const bufferIndex = Math.floor(index / sectorSize);
|
|
60
|
-
if (!array._buffers[bufferIndex])
|
|
61
|
-
this._buffers[bufferIndex] = new Uint32Array(sectorSize);
|
|
62
|
-
const arrayIndex = index - bufferIndex * sectorSize;
|
|
63
|
-
return array._buffers[bufferIndex][arrayIndex];
|
|
64
|
-
},
|
|
65
|
-
set: (target, property, value) => {
|
|
66
|
-
if (property == "length")
|
|
67
|
-
return false;
|
|
68
|
-
const index = +property;
|
|
69
|
-
const bufferIndex = Math.floor(index / sectorSize);
|
|
70
|
-
if (!array._buffers[bufferIndex])
|
|
71
|
-
array._buffers[bufferIndex] = new Uint32Array(sectorSize);
|
|
72
|
-
const arrayIndex = index - bufferIndex * sectorSize;
|
|
73
|
-
array._buffers[bufferIndex][arrayIndex] = value;
|
|
74
|
-
return true;
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
get length() {
|
|
79
|
-
return this._buffers.length * this.sectorSize;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Vec3Array } from "@amodx/math";
|
|
2
|
-
export declare class GeometryNormals {
|
|
3
|
-
static subtract(v1: Vec3Array, v2: Vec3Array): Vec3Array;
|
|
4
|
-
static cross(v1: Vec3Array, v2: Vec3Array): Vec3Array;
|
|
5
|
-
static scale(v: Vec3Array, scaleFactor: number): Vec3Array;
|
|
6
|
-
static add(v1: Vec3Array, v2: Vec3Array): Vec3Array;
|
|
7
|
-
static normalize(v: Vec3Array): Vec3Array;
|
|
8
|
-
static getTriangleNormals(p1: Vec3Array, p2: Vec3Array, p3: Vec3Array): Vec3Array;
|
|
9
|
-
static getQuadNormal(p1: Vec3Array, p2: Vec3Array, p3: Vec3Array, p4: Vec3Array): [n1: Vec3Array, n2: Vec3Array, n3: Vec3Array, n4: Vec3Array];
|
|
10
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
export class GeometryNormals {
|
|
2
|
-
static subtract(v1, v2) {
|
|
3
|
-
return [v1[0] - v2[0], v1[1] - v2[1], v1[2] - v2[2]];
|
|
4
|
-
}
|
|
5
|
-
static cross(v1, v2) {
|
|
6
|
-
return [
|
|
7
|
-
v1[1] * v2[2] - v1[2] * v2[1],
|
|
8
|
-
v1[2] * v2[0] - v1[0] * v2[2],
|
|
9
|
-
v1[0] * v2[1] - v1[1] * v2[0],
|
|
10
|
-
];
|
|
11
|
-
}
|
|
12
|
-
static scale(v, scaleFactor) {
|
|
13
|
-
return [v[0] * scaleFactor, v[1] * scaleFactor, v[2] * scaleFactor];
|
|
14
|
-
}
|
|
15
|
-
static add(v1, v2) {
|
|
16
|
-
return [v1[0] + v2[0], v1[1] + v2[1], v1[2] + v2[2]];
|
|
17
|
-
}
|
|
18
|
-
static normalize(v) {
|
|
19
|
-
const length = Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
|
|
20
|
-
return length > 0
|
|
21
|
-
? [v[0] / length, v[1] / length, v[2] / length]
|
|
22
|
-
: [0, 0, 0];
|
|
23
|
-
}
|
|
24
|
-
static getTriangleNormals(p1, p2, p3) {
|
|
25
|
-
const a = this.subtract(p2, p1);
|
|
26
|
-
const b = this.subtract(p3, p1);
|
|
27
|
-
const substract = this.cross(a, b);
|
|
28
|
-
const normal = this.scale(substract, -1);
|
|
29
|
-
return this.normalize(normal);
|
|
30
|
-
}
|
|
31
|
-
static getQuadNormal(p1, p2, p3, p4) {
|
|
32
|
-
const vectorA1 = [p2[0] - p1[0], p2[1] - p1[1], p2[2] - p1[2]];
|
|
33
|
-
const vectorA2 = [p3[0] - p1[0], p3[1] - p1[1], p3[2] - p1[2]];
|
|
34
|
-
const normalA = this.normalize(this.cross(vectorA1, vectorA2));
|
|
35
|
-
const vectorB1 = [p3[0] - p1[0], p3[1] - p1[1], p3[2] - p1[2]];
|
|
36
|
-
const vectorB2 = [p4[0] - p1[0], p4[1] - p1[1], p4[2] - p1[2]];
|
|
37
|
-
const normalB = this.normalize(this.cross(vectorB1, vectorB2));
|
|
38
|
-
const n1 = this.normalize([
|
|
39
|
-
(normalA[0] + normalB[0]) / 2,
|
|
40
|
-
(normalA[1] + normalB[1]) / 2,
|
|
41
|
-
(normalA[2] + normalB[2]) / 2,
|
|
42
|
-
]);
|
|
43
|
-
const n2 = normalA;
|
|
44
|
-
const n3 = this.normalize([
|
|
45
|
-
(normalA[0] + normalB[0]) / 2,
|
|
46
|
-
(normalA[1] + normalB[1]) / 2,
|
|
47
|
-
(normalA[2] + normalB[2]) / 2,
|
|
48
|
-
]);
|
|
49
|
-
const n4 = normalB;
|
|
50
|
-
return [n1, n2, n3, n4];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { TypedArrays } from "@amodx/binary";
|
|
2
|
-
export declare enum MeshDefaultAttributes {
|
|
3
|
-
Position = "position",
|
|
4
|
-
Normal = "normal",
|
|
5
|
-
Indices = "indices"
|
|
6
|
-
}
|
|
7
|
-
export type MeshAttributes = [
|
|
8
|
-
id: string,
|
|
9
|
-
data: TypedArrays,
|
|
10
|
-
stride: number,
|
|
11
|
-
componentTypes?: number,
|
|
12
|
-
noramlizer?: number
|
|
13
|
-
][];
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export var MeshDefaultAttributes;
|
|
2
|
-
(function (MeshDefaultAttributes) {
|
|
3
|
-
MeshDefaultAttributes["Position"] = "position";
|
|
4
|
-
MeshDefaultAttributes["Normal"] = "normal";
|
|
5
|
-
MeshDefaultAttributes["Indices"] = "indices";
|
|
6
|
-
})(MeshDefaultAttributes || (MeshDefaultAttributes = {}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./MesherDataTools.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./MesherDataTools.js";
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { StringPalette } from "../../Util/StringPalette";
|
|
2
|
-
import { VoxelRuleGeometry } from "./Classes/VoxelRulesGeometry";
|
|
3
|
-
import { VoxelRulesModoel } from "./Classes/VoxelRulesModel";
|
|
4
|
-
const addGeo = (modelId, stateId, nodes) => {
|
|
5
|
-
const registred = [];
|
|
6
|
-
for (const geoLinkNode of nodes) {
|
|
7
|
-
const geo = VoxelModelManager.geometry.get(geoLinkNode.geometryId);
|
|
8
|
-
if (!geo)
|
|
9
|
-
throw new Error(`Geometry ${geoLinkNode.geometryId} is not registered.`);
|
|
10
|
-
const newId = getGeometryLinkId(geoLinkNode);
|
|
11
|
-
if (VoxelModelManager.geometry.has(newId))
|
|
12
|
-
continue;
|
|
13
|
-
registred.push([stateId, newId]);
|
|
14
|
-
if (!VoxelModelManager.geometryPalette.isRegistered(newId))
|
|
15
|
-
VoxelModelManager.geometryPalette.register(newId);
|
|
16
|
-
const newData = structuredClone(geo.data);
|
|
17
|
-
newData.nodes = newData.nodes.map((_) => ({
|
|
18
|
-
..._,
|
|
19
|
-
tranform: {
|
|
20
|
-
...(geoLinkNode.position ? { position: geoLinkNode.position } : {}),
|
|
21
|
-
...(geoLinkNode.scale ? { scale: geoLinkNode.scale } : {}),
|
|
22
|
-
...(geoLinkNode.rotation ? { rotation: geoLinkNode.rotation } : {}),
|
|
23
|
-
...(geoLinkNode.rotationPivot
|
|
24
|
-
? { rotationPivot: geoLinkNode.rotationPivot }
|
|
25
|
-
: {}),
|
|
26
|
-
...(geoLinkNode.flip ? { flip: geoLinkNode.flip } : {}),
|
|
27
|
-
},
|
|
28
|
-
}));
|
|
29
|
-
VoxelModelManager.geometry.set(newId, new VoxelRuleGeometry(newId, newData));
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
return registred;
|
|
33
|
-
};
|
|
34
|
-
const getGeometryLinkId = (node) => {
|
|
35
|
-
return `${node.geometryId}${node.position ? `-p${node.position.toString()}` : ""}${node.rotation ? `-r${node.rotation.toString()}` : ""}${node.scale ? `-s${node.scale.toString()}` : ""}`.trim();
|
|
36
|
-
};
|
|
37
|
-
export class VoxelModelManager {
|
|
38
|
-
static geometryPalette = new StringPalette();
|
|
39
|
-
static getGeometryLinkId = getGeometryLinkId;
|
|
40
|
-
static voxels = new Map();
|
|
41
|
-
static geometry = new Map();
|
|
42
|
-
static models = new Map();
|
|
43
|
-
static registerGeometry(...geometry) {
|
|
44
|
-
for (const geo of geometry) {
|
|
45
|
-
if (!this.geometryPalette.isRegistered(geo.id))
|
|
46
|
-
this.geometryPalette.register(geo.id);
|
|
47
|
-
this.geometry.set(geo.id, new VoxelRuleGeometry(geo.id, {
|
|
48
|
-
ogData: geo,
|
|
49
|
-
id: geo.id,
|
|
50
|
-
nodes: geo.nodes.map((node) => ({
|
|
51
|
-
node,
|
|
52
|
-
tranform: {},
|
|
53
|
-
})),
|
|
54
|
-
}));
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
static getGeomtryFromLink(link) {
|
|
58
|
-
return this.geometry.get(getGeometryLinkId(link));
|
|
59
|
-
}
|
|
60
|
-
static registerModels(...models) {
|
|
61
|
-
for (const model of models) {
|
|
62
|
-
const rulesModel = new VoxelRulesModoel(model);
|
|
63
|
-
this.models.set(model.id, rulesModel);
|
|
64
|
-
for (const stateId in model.shapeStatesNodes) {
|
|
65
|
-
const nodes = model.shapeStatesNodes[stateId];
|
|
66
|
-
addGeo(model.id, stateId, nodes).forEach((_) => rulesModel.registerShapeState(..._));
|
|
67
|
-
}
|
|
68
|
-
for (const stateId in model.shapeStatesConditonalNodes) {
|
|
69
|
-
const nodes = model.shapeStatesConditonalNodes[stateId];
|
|
70
|
-
addGeo(model.id, stateId, nodes).forEach((_) => rulesModel.registerCondiotnalNode(..._));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
static registerVoxel(id, data) {
|
|
75
|
-
let voxelModels = this.voxels.get(data.id);
|
|
76
|
-
if (!voxelModels) {
|
|
77
|
-
voxelModels = [];
|
|
78
|
-
this.voxels.set(data.id, voxelModels);
|
|
79
|
-
}
|
|
80
|
-
voxelModels.push({ id, data });
|
|
81
|
-
}
|
|
82
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export const TextureAnimationCreator = {
|
|
2
|
-
createAnimations(texture) {
|
|
3
|
-
if (!texture.paths.size)
|
|
4
|
-
return;
|
|
5
|
-
const animaitonUniform = [];
|
|
6
|
-
let i = 0;
|
|
7
|
-
for (const anim of texture.animationsMap) {
|
|
8
|
-
animaitonUniform[anim[0]] = anim[0];
|
|
9
|
-
let keyCounts = [];
|
|
10
|
-
const animTime = texture.animationTimes[i];
|
|
11
|
-
if (animTime.length == 1) {
|
|
12
|
-
for (let k = 0; k < anim.length; k++) {
|
|
13
|
-
keyCounts.push(animTime[0]);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
keyCounts = texture.animationTimes[i];
|
|
18
|
-
}
|
|
19
|
-
texture.animations.push({
|
|
20
|
-
uniformIndex: anim[0],
|
|
21
|
-
keys: anim,
|
|
22
|
-
currentFrame: 0,
|
|
23
|
-
currentCount: 0,
|
|
24
|
-
keyCounts: keyCounts,
|
|
25
|
-
});
|
|
26
|
-
i++;
|
|
27
|
-
}
|
|
28
|
-
for (let i = 0; i < texture.totalTextures; i++) {
|
|
29
|
-
if (!animaitonUniform[i]) {
|
|
30
|
-
animaitonUniform[i] = 0;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
texture.animationUniform = new Float32Array(animaitonUniform);
|
|
34
|
-
},
|
|
35
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { TextureData } from "./Texture.types";
|
|
2
|
-
export declare class TextureArray {
|
|
3
|
-
id: string;
|
|
4
|
-
extension: string;
|
|
5
|
-
totalTextures: number;
|
|
6
|
-
textureMap: Map<string, TextureData>;
|
|
7
|
-
textures: TextureData[];
|
|
8
|
-
textureIndex: Record<string, number>;
|
|
9
|
-
animationsMap: number[][];
|
|
10
|
-
animationTimes: number[][];
|
|
11
|
-
animations: {
|
|
12
|
-
uniformIndex: number;
|
|
13
|
-
overlay?: boolean;
|
|
14
|
-
keys: number[];
|
|
15
|
-
currentFrame: number;
|
|
16
|
-
currentCount: number;
|
|
17
|
-
keyCounts: number[];
|
|
18
|
-
}[];
|
|
19
|
-
varyingID: string;
|
|
20
|
-
animationUniforID: string;
|
|
21
|
-
animationUniform: Float32Array;
|
|
22
|
-
paths: Map<string, HTMLImageElement | string | false>;
|
|
23
|
-
images: HTMLImageElement[];
|
|
24
|
-
shaderTexture: any | null;
|
|
25
|
-
textureID: string;
|
|
26
|
-
attributeID: string;
|
|
27
|
-
constructor(id: string);
|
|
28
|
-
/**# clearData
|
|
29
|
-
* ---
|
|
30
|
-
* Clear all un-needed data.
|
|
31
|
-
*/
|
|
32
|
-
clearData(): void;
|
|
33
|
-
/**# flush
|
|
34
|
-
* ---
|
|
35
|
-
* Clear all data.
|
|
36
|
-
*/
|
|
37
|
-
flush(): void;
|
|
38
|
-
flushAll(): void;
|
|
39
|
-
build(): Promise<void>;
|
|
40
|
-
getTextureIndex(textureId: string, varation?: string): number;
|
|
41
|
-
addTexture(data: TextureData): void;
|
|
42
|
-
runAnimations(): void;
|
|
43
|
-
getTextureIndexMap(): Record<string, number>;
|
|
44
|
-
_processVariations(textureData: TextureData, paths: Map<string, HTMLImageElement | string | false>, map: Record<string, number>, animations: number[][], textureAnimatioTimes: number[][], extension: string, count: number): number;
|
|
45
|
-
_getPath(textureData: TextureData, varation: string | undefined, extension: string): string;
|
|
46
|
-
buildTextureIndex(): false | undefined;
|
|
47
|
-
}
|