@manycore/aholo-splat-transform 1.2.7 → 1.2.9

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 (98) hide show
  1. package/CHANGELOG.md +120 -106
  2. package/COPYRIGHT.md +17 -0
  3. package/README.md +39 -39
  4. package/THIRD_PARTY_LICENSES.txt +1373 -0
  5. package/bin/cli.js +125 -118
  6. package/dist/SplatData.d.ts +67 -67
  7. package/dist/SplatData.js +167 -156
  8. package/dist/constant.d.ts +3 -3
  9. package/dist/constant.js +13 -13
  10. package/dist/file/IFile.d.ts +5 -5
  11. package/dist/file/IFile.js +1 -1
  12. package/dist/file/esz.d.ts +11 -0
  13. package/dist/file/esz.js +337 -0
  14. package/dist/file/index.d.ts +8 -7
  15. package/dist/file/index.js +7 -6
  16. package/dist/file/ksplat.d.ts +12 -12
  17. package/dist/file/ksplat.js +293 -232
  18. package/dist/file/lcc.d.ts +11 -11
  19. package/dist/file/lcc.js +161 -157
  20. package/dist/file/ply.d.ts +13 -13
  21. package/dist/file/ply.js +439 -388
  22. package/dist/file/sog.d.ts +80 -80
  23. package/dist/file/sog.js +525 -504
  24. package/dist/file/splat.d.ts +6 -6
  25. package/dist/file/splat.js +119 -99
  26. package/dist/file/spz.d.ts +11 -8
  27. package/dist/file/spz.js +597 -400
  28. package/dist/file/voxel.d.ts +43 -37
  29. package/dist/file/voxel.js +411 -280
  30. package/dist/index.d.ts +33 -33
  31. package/dist/index.js +54 -54
  32. package/dist/native/index.d.ts +54 -54
  33. package/dist/native/index.js +122 -128
  34. package/dist/native/utils.d.ts +1 -0
  35. package/dist/native/utils.js +54 -0
  36. package/dist/tasks/AutoChunkLodTask.d.ts +13 -13
  37. package/dist/tasks/AutoChunkLodTask.js +117 -117
  38. package/dist/tasks/AutoLodTask.d.ts +10 -10
  39. package/dist/tasks/AutoLodTask.js +20 -20
  40. package/dist/tasks/BaseTask.d.ts +15 -15
  41. package/dist/tasks/BaseTask.js +5 -5
  42. package/dist/tasks/FlexLodTask.d.ts +12 -12
  43. package/dist/tasks/FlexLodTask.js +54 -44
  44. package/dist/tasks/ModifyTask.d.ts +9 -9
  45. package/dist/tasks/ModifyTask.js +166 -156
  46. package/dist/tasks/ReadTask.d.ts +9 -9
  47. package/dist/tasks/ReadTask.js +29 -29
  48. package/dist/tasks/SkeletonLodTask.d.ts +10 -10
  49. package/dist/tasks/SkeletonLodTask.js +176 -156
  50. package/dist/tasks/VoxelTask.d.ts +35 -30
  51. package/dist/tasks/VoxelTask.js +40 -37
  52. package/dist/tasks/WriteTask.d.ts +12 -11
  53. package/dist/tasks/WriteTask.js +70 -70
  54. package/dist/utils/BufferReader.d.ts +12 -12
  55. package/dist/utils/BufferReader.js +45 -47
  56. package/dist/utils/Logger.d.ts +11 -11
  57. package/dist/utils/Logger.js +40 -38
  58. package/dist/utils/StreamChunkDecoder.d.ts +16 -16
  59. package/dist/utils/StreamChunkDecoder.js +31 -36
  60. package/dist/utils/index.d.ts +27 -27
  61. package/dist/utils/index.js +101 -101
  62. package/dist/utils/k-means.d.ts +4 -4
  63. package/dist/utils/k-means.js +340 -350
  64. package/dist/utils/math.d.ts +46 -46
  65. package/dist/utils/math.js +350 -351
  66. package/dist/utils/quantize-1d.d.ts +4 -4
  67. package/dist/utils/quantize-1d.js +164 -164
  68. package/dist/utils/sh-rotate.d.ts +2 -2
  69. package/dist/utils/sh-rotate.js +236 -175
  70. package/dist/utils/splat.d.ts +21 -20
  71. package/dist/utils/splat.js +397 -378
  72. package/dist/utils/voxel/binary.d.ts +8 -0
  73. package/dist/utils/voxel/binary.js +176 -0
  74. package/dist/utils/voxel/common.d.ts +178 -162
  75. package/dist/utils/voxel/common.js +1752 -1700
  76. package/dist/utils/voxel/coplanar-merge.d.ts +63 -63
  77. package/dist/utils/voxel/coplanar-merge.js +818 -819
  78. package/dist/utils/voxel/filter-cluster.d.ts +20 -0
  79. package/dist/utils/voxel/filter-cluster.js +628 -0
  80. package/dist/utils/voxel/gpu-dilation.d.ts +2 -2
  81. package/dist/utils/voxel/gpu-dilation.js +677 -665
  82. package/dist/utils/voxel/marching-cubes.d.ts +42 -42
  83. package/dist/utils/voxel/marching-cubes.js +1645 -1657
  84. package/dist/utils/voxel/mesh.d.ts +3 -3
  85. package/dist/utils/voxel/mesh.js +130 -130
  86. package/dist/utils/voxel/nav.d.ts +29 -29
  87. package/dist/utils/voxel/nav.js +1068 -1043
  88. package/dist/utils/voxel/postprocess.d.ts +23 -23
  89. package/dist/utils/voxel/postprocess.js +408 -375
  90. package/dist/utils/voxel/voxel-faces.d.ts +18 -18
  91. package/dist/utils/voxel/voxel-faces.js +662 -663
  92. package/dist/utils/voxel/voxelize.d.ts +34 -33
  93. package/dist/utils/voxel/voxelize.js +1208 -1193
  94. package/dist/utils/webgpu.d.ts +8 -8
  95. package/dist/utils/webgpu.js +122 -122
  96. package/package.json +37 -30
  97. package/dist/native/cpp/bin/linux/binding.node +0 -0
  98. package/dist/native/cpp/bin/windows/binding.node +0 -0
package/CHANGELOG.md CHANGED
@@ -1,106 +1,120 @@
1
- # ChangeLOG
2
-
3
- ## 1.2.7
4
-
5
- - `ReadTask`支持`maxShDegree`参数
6
-
7
- ## 1.2.6
8
-
9
- - 体素化新增 cpu 实现以及部分算法优化
10
- - 体素化输出格式优化
11
-
12
- ## 1.2.5
13
-
14
- - 修复 SplatData.counts = 0 时构造 lod 异常
15
-
16
- ## 1.2.4
17
-
18
- - 支持生成体素碰撞体
19
- - avif 编解码支持多任务
20
- - 使用 glibc 构建 linux 版本
21
- - 修复小文件生成 lod chunk 失败
22
- - 优化 logger
23
-
24
- ## 1.2.3
25
-
26
- - 优化内部代码,移除无用实现
27
- - 修改 chunk-lod 的 forward box 计算逻辑,匹配业务需求
28
-
29
- ## 1.2.2
30
-
31
- - 添加`libavif`
32
- - 整理文件结构,删除 IData 结构
33
- - 修复 modify 和 chunk-lod 冲突造成删除失败
34
-
35
- ## 1.2.1
36
-
37
- - 支持`GPU`设备选择
38
- - write 支持 MortonSort 用以提升压缩率
39
-
40
- ## 1.2.0
41
-
42
- - 重构 cli 命令
43
- - 底层修改成 pipeline task 支持组合,减少文件保存数量
44
- - 过程计算采用双精度,移除无效代码
45
- - 增加`getOrCreateDevice`用于共享 GPU 设备
46
- - 改进`auto-lod`使其更接近目标值
47
- - 优化输出
48
-
49
- ## 1.1.2
50
-
51
- - 加入 nanogs 检索算法
52
- - 增加 --max-chunk-counts 参数
53
-
54
- ## 1.1.1
55
-
56
- - 优化 lod 参数,防止出现长时间执行
57
-
58
- ## 1.1.0
59
-
60
- - 修改 cli 调用参数
61
- - 优化 lod:auto 时内存无法及时释放导致 oom 的情况
62
- - 新增 lod:auto-chunk 命令
63
- - 多级 lod 支持指数步进
64
- - auto-chunk 优化输出结果
65
-
66
- ## 1.0.8
67
-
68
- - 优化高斯空间分割
69
- - 优化高斯包围盒,移除偏移过大的数据
70
- - 修复`webP`有损编码`quality`读取错误的问题
71
- - 修复 lod 命令异常
72
- - 优化`cluster_average`并行粒度
73
-
74
- ## 1.0.7
75
-
76
- - 支持 SOG 格式输出
77
-
78
- ## 1.0.6
79
-
80
- - 优化 lod 内置参数
81
-
82
- ## 1.0.5
83
-
84
- - 优化 lod 内置参数
85
-
86
- ## 1.0.4
87
-
88
- - 修复`create`解析`deletedIndicesBitMap`异常
89
-
90
- ## 1.0.3
91
-
92
- - 优化`autoLod`效果和实现
93
-
94
- ## 1.0.2
95
-
96
- - 支持流式解析和写入,减少内存占用
97
- - 支持`autoLod`对 3dgs 生成 lod 结果
98
- - `splat-transform lod --type auto --ratio 0.3 simiao.ply simiao-lod.spz`
99
-
100
- ## 1.0.1
101
-
102
- - 新增`bin.est`防止和`@playcanvas/splat-transform`一起使用时出现冲突
103
-
104
- ## 1.0.0
105
-
106
- - 发包正式包
1
+ # ChangeLOG
2
+
3
+ ## 1.2.9
4
+
5
+ - 改进编码风格开启`verbatimModuleSyntax` & `isolatedModules`,迁移至`OXC`
6
+ - 改进native模块加载方式
7
+ - 体素输出更新版本号至1.2,新增支持 gzip 压缩以及一种紧凑的编码方式, 默认均不启用
8
+ - 体素输出默认启用 `filterCluster` 预过滤
9
+
10
+ ## 1.2.8
11
+
12
+ - 升级`typescript@^6.0.3`
13
+ - `WebP`编码防止压缩纯透明数据
14
+ - 支持`spz v4`输入和输出(默认还是v3)
15
+ - 支持`esz`格式输入和输出
16
+
17
+ ## 1.2.7
18
+
19
+ - `ReadTask`支持`maxShDegree`参数
20
+
21
+ ## 1.2.6
22
+
23
+ - 体素化新增 cpu 实现以及部分算法优化
24
+ - 体素化输出格式优化
25
+
26
+ ## 1.2.5
27
+
28
+ - 修复 SplatData.counts = 0 时构造 lod 异常
29
+
30
+ ## 1.2.4
31
+
32
+ - 支持生成体素碰撞体
33
+ - avif 编解码支持多任务
34
+ - 使用 glibc 构建 linux 版本
35
+ - 修复小文件生成 lod chunk 失败
36
+ - 优化 logger
37
+
38
+ ## 1.2.3
39
+
40
+ - 优化内部代码,移除无用实现
41
+ - 修改 chunk-lod 的 forward box 计算逻辑,匹配业务需求
42
+
43
+ ## 1.2.2
44
+
45
+ - 添加`libavif`
46
+ - 整理文件结构,删除 IData 结构
47
+ - 修复 modify 和 chunk-lod 冲突造成删除失败
48
+
49
+ ## 1.2.1
50
+
51
+ - 支持`GPU`设备选择
52
+ - write 支持 MortonSort 用以提升压缩率
53
+
54
+ ## 1.2.0
55
+
56
+ - 重构 cli 命令
57
+ - 底层修改成 pipeline task 支持组合,减少文件保存数量
58
+ - 过程计算采用双精度,移除无效代码
59
+ - 增加`getOrCreateDevice`用于共享 GPU 设备
60
+ - 改进`auto-lod`使其更接近目标值
61
+ - 优化输出
62
+
63
+ ## 1.1.2
64
+
65
+ - 加入 nanogs 检索算法
66
+ - 增加 --max-chunk-counts 参数
67
+
68
+ ## 1.1.1
69
+
70
+ - 优化 lod 参数,防止出现长时间执行
71
+
72
+ ## 1.1.0
73
+
74
+ - 修改 cli 调用参数
75
+ - 优化 lod:auto 时内存无法及时释放导致 oom 的情况
76
+ - 新增 lod:auto-chunk 命令
77
+ - 多级 lod 支持指数步进
78
+ - auto-chunk 优化输出结果
79
+
80
+ ## 1.0.8
81
+
82
+ - 优化高斯空间分割
83
+ - 优化高斯包围盒,移除偏移过大的数据
84
+ - 修复`webP`有损编码`quality`读取错误的问题
85
+ - 修复 lod 命令异常
86
+ - 优化`cluster_average`并行粒度
87
+
88
+ ## 1.0.7
89
+
90
+ - 支持 SOG 格式输出
91
+
92
+ ## 1.0.6
93
+
94
+ - 优化 lod 内置参数
95
+
96
+ ## 1.0.5
97
+
98
+ - 优化 lod 内置参数
99
+
100
+ ## 1.0.4
101
+
102
+ - 修复`create`解析`deletedIndicesBitMap`异常
103
+
104
+ ## 1.0.3
105
+
106
+ - 优化`autoLod`效果和实现
107
+
108
+ ## 1.0.2
109
+
110
+ - 支持流式解析和写入,减少内存占用
111
+ - 支持`autoLod`对 3dgs 生成 lod 结果
112
+ - `splat-transform lod --type auto --ratio 0.3 simiao.ply simiao-lod.spz`
113
+
114
+ ## 1.0.1
115
+
116
+ - 新增`bin.est`防止和`@playcanvas/splat-transform`一起使用时出现冲突
117
+
118
+ ## 1.0.0
119
+
120
+ - 发包正式包
package/COPYRIGHT.md ADDED
@@ -0,0 +1,17 @@
1
+ # Copyright and Use Notice
2
+
3
+ Copyright (c) Manycore. All rights reserved.
4
+
5
+ This notice applies to `@manycore/aholo-splat-transform`, including the distributed command-line tool, binaries, package files, and related materials (the "Tool").
6
+
7
+ The Tool is proprietary and is not open source. No open-source license or source-code license is granted for the Tool itself.
8
+
9
+ You may use the Tool, as distributed by Manycore, to generate, transform, process, or export content for any purpose, including commercial and non-commercial purposes. Manycore does not claim ownership of content solely because it was generated, transformed, processed, or exported with the Tool.
10
+
11
+ You are responsible for ensuring that you have the necessary rights to any input content, assets, data, or materials used with the Tool.
12
+
13
+ You may not copy, redistribute, sublicense, sell, rent, host, mirror, repackage, publish, or otherwise make the Tool available to any third party, whether modified or unmodified, except with prior written permission from Manycore.
14
+
15
+ Third-party components included with or used by the Tool remain subject to their respective license terms. See `THIRD_PARTY_LICENSES.txt` for third-party license notices.
16
+
17
+ The Tool is provided as is, without warranties or support obligations unless separately agreed in writing.
package/README.md CHANGED
@@ -1,39 +1,39 @@
1
- # splat-transform
2
-
3
- A 3DGS modifier used by aholo
4
-
5
- ## Requirement
6
-
7
- - node >= 20.19.0
8
- - system
9
- - windows: windows 22H2+, D3D12 or Vulkan compatible GPU(When use GPU features, dedicated GPU for better performance)
10
- - linux: glibc >=2.34, libstdc++ >= 3.4.30, Vulkan compatible GPU(When use GPU features, dedicated GPU for better performance)
11
- - osx: Not Supported
12
-
13
- ## Usage
14
-
15
- ```bash
16
- npm install @manycore/aholo-splat-transform -g
17
-
18
- splat-transform --help
19
-
20
- Execute a task pipeline from configuration file
21
-
22
- Arguments:
23
- path pipeline config filepath
24
-
25
- Options:
26
- -V, --version output the version number
27
- -h, --help display help for command
28
-
29
- Commands:
30
- create <input> <output> Merge & Transform gaussian splat file
31
- lod:loading [options] <input> <output> Generate loading-lod for gaussian splat file
32
- lod:flex [options] <input> <output> Generate flex-lod for gaussian splat file
33
- lod:auto [options] <input> <output> Generate auto-lod for gaussian splat file
34
- lod:auto-chunk [options] <input> <output> Generate auto-chunk-lod for gaussian splat file
35
- ```
36
-
37
- ## Notice
38
-
39
- The code of the tool(AKA. `@manycore/aholo-splat-transform`) is not open source, you may use the the tool to generate content for any purpose, but you cannot redistribute the tool.
1
+ # splat-transform
2
+
3
+ A 3DGS modifier used by aholo
4
+
5
+ ## Requirement
6
+
7
+ - node >= 22.22.1
8
+ - system
9
+ - windows: windows 22H2+, x86_64, D3D12 or Vulkan compatible GPU(When use GPU features, dedicated GPU for better performance)
10
+ - linux: x86_64, glibc >= 2.34, libstdc++ >= 3.4.30, Vulkan compatible GPU(When use GPU features, dedicated GPU for better performance)
11
+ - osx: Not Supported
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ npm install @manycore/aholo-splat-transform -g
17
+
18
+ splat-transform --help
19
+
20
+ Execute a task pipeline from configuration file
21
+
22
+ Arguments:
23
+ path pipeline config filepath
24
+
25
+ Options:
26
+ -V, --version output the version number
27
+ -h, --help display help for command
28
+
29
+ Commands:
30
+ create <input> <output> Merge & Transform gaussian splat file
31
+ lod:loading [options] <input> <output> Generate loading-lod for gaussian splat file
32
+ lod:flex [options] <input> <output> Generate flex-lod for gaussian splat file
33
+ lod:auto [options] <input> <output> Generate auto-lod for gaussian splat file
34
+ lod:auto-chunk [options] <input> <output> Generate auto-chunk-lod for gaussian splat file
35
+ ```
36
+
37
+ ## CopyRight
38
+
39
+ [CopyRight](./COPYRIGHT.md)