@voluma/vlam 0.1.0 → 0.2.1

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 (127) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +68 -0
  3. package/THIRD_PARTY_NOTICES.md +86 -0
  4. package/dist/budget-governor.d.ts +154 -0
  5. package/dist/camera-budget-governor.d.ts +234 -0
  6. package/dist/chunk-cache-budget.d.ts +156 -0
  7. package/dist/chunk-fetch-scheduler.d.ts +168 -0
  8. package/dist/chunk-loader.d.ts +85 -0
  9. package/dist/compute-sorter.d.ts +131 -0
  10. package/dist/create-splat-renderer.d.ts +99 -0
  11. package/dist/dataset-source.d.ts +55 -0
  12. package/dist/depth-of-field.d.ts +73 -0
  13. package/dist/effects.d.ts +337 -0
  14. package/dist/effects.js +180 -0
  15. package/dist/effects.js.map +1 -0
  16. package/dist/formats/ksplat/index.d.ts +8 -0
  17. package/dist/formats/ksplat/parse-ksplat.d.ts +9 -0
  18. package/dist/formats/ksplat.js +167 -0
  19. package/dist/formats/ksplat.js.map +1 -0
  20. package/dist/formats/lcc/collision-mesh.d.ts +37 -0
  21. package/dist/formats/lcc/collision-partition.d.ts +35 -0
  22. package/dist/formats/lcc/index.d.ts +16 -0
  23. package/dist/formats/lcc/lcc.d.ts +28 -0
  24. package/dist/formats/lcc/lcc2-transform.d.ts +18 -0
  25. package/dist/formats/lcc/lcc2.d.ts +4 -0
  26. package/dist/formats/lcc/parse-collision-lci.d.ts +28 -0
  27. package/dist/formats/lcc/parse-lcc.d.ts +177 -0
  28. package/dist/formats/lcc/parse-mesh-ply.d.ts +21 -0
  29. package/dist/formats/lcc.js +969 -0
  30. package/dist/formats/lcc.js.map +1 -0
  31. package/dist/formats/ply/index.d.ts +12 -0
  32. package/dist/formats/ply/parse-compressed-ply.d.ts +16 -0
  33. package/dist/formats/ply/parse-splat-ply.d.ts +46 -0
  34. package/dist/formats/ply.js +230 -0
  35. package/dist/formats/ply.js.map +1 -0
  36. package/dist/formats/rad/frontier-worker-protocol.d.ts +177 -0
  37. package/dist/formats/rad/index.d.ts +10 -0
  38. package/dist/formats/rad/parse-rad.d.ts +88 -0
  39. package/dist/formats/rad/rad-column-decoders.d.ts +15 -0
  40. package/dist/formats/rad/rad-foveated-source.d.ts +71 -0
  41. package/dist/formats/rad/rad-parent-sizes.d.ts +45 -0
  42. package/dist/formats/rad/rad.d.ts +132 -0
  43. package/dist/formats/rad.js +1098 -0
  44. package/dist/formats/rad.js.map +1 -0
  45. package/dist/formats/sog/index.d.ts +9 -0
  46. package/dist/formats/sog/parse-sog.d.ts +45 -0
  47. package/dist/formats/sog.js +257 -0
  48. package/dist/formats/sog.js.map +1 -0
  49. package/dist/formats/splat/index.d.ts +8 -0
  50. package/dist/formats/splat/parse-splat.d.ts +10 -0
  51. package/dist/formats/splat.js +39 -0
  52. package/dist/formats/splat.js.map +1 -0
  53. package/dist/formats/spz/index.d.ts +8 -0
  54. package/dist/formats/spz/parse-spz.d.ts +10 -0
  55. package/dist/formats/spz.js +218 -0
  56. package/dist/formats/spz.js.map +1 -0
  57. package/dist/frontier-worker-CAnK_Cmu.js +566 -0
  58. package/dist/frontier-worker-CAnK_Cmu.js.map +1 -0
  59. package/dist/half-float-Cs4FDq8Q.js +30 -0
  60. package/dist/half-float-Cs4FDq8Q.js.map +1 -0
  61. package/dist/half-float.d.ts +15 -0
  62. package/dist/index.d.ts +54 -0
  63. package/dist/index.js +9054 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/load-scene.d.ts +50 -0
  66. package/dist/load-worker-protocol.d.ts +82 -0
  67. package/dist/loading-wLo8vRbA.js +102 -0
  68. package/dist/loading-wLo8vRbA.js.map +1 -0
  69. package/dist/loading.d.ts +150 -0
  70. package/dist/lod-manifest.d.ts +61 -0
  71. package/dist/lod-scheduler.d.ts +229 -0
  72. package/dist/lod-source.d.ts +207 -0
  73. package/dist/logging-BfPdd7NJ.js +19 -0
  74. package/dist/logging-BfPdd7NJ.js.map +1 -0
  75. package/dist/logging.d.ts +37 -0
  76. package/dist/one-shot-worker-G80btnth.js +664 -0
  77. package/dist/one-shot-worker-G80btnth.js.map +1 -0
  78. package/dist/orientation.d.ts +35 -0
  79. package/dist/ply-header-BwgExCn-.js +125 -0
  80. package/dist/ply-header-BwgExCn-.js.map +1 -0
  81. package/dist/ply-header.d.ts +87 -0
  82. package/dist/radix-sort.d.ts +28 -0
  83. package/dist/radix-sorter.d.ts +46 -0
  84. package/dist/relighting.d.ts +50 -0
  85. package/dist/selection-volume.d.ts +87 -0
  86. package/dist/sh-pack-D5wAe5gg.js +54 -0
  87. package/dist/sh-pack-D5wAe5gg.js.map +1 -0
  88. package/dist/sh-pack.d.ts +49 -0
  89. package/dist/sort-scheduler.d.ts +62 -0
  90. package/dist/sort-worker-protocol.d.ts +37 -0
  91. package/dist/sorter.d.ts +31 -0
  92. package/dist/source-transform.d.ts +57 -0
  93. package/dist/splat-budget-PSojLJPO.js +157 -0
  94. package/dist/splat-budget-PSojLJPO.js.map +1 -0
  95. package/dist/splat-budget.d.ts +404 -0
  96. package/dist/splat-data-BZM5dhhx.js +10 -0
  97. package/dist/splat-data-BZM5dhhx.js.map +1 -0
  98. package/dist/splat-data.d.ts +150 -0
  99. package/dist/splat-depth-pack.d.ts +39 -0
  100. package/dist/splat-mesh-material.d.ts +255 -0
  101. package/dist/splat-mesh-picking.d.ts +87 -0
  102. package/dist/splat-mesh-pool.d.ts +241 -0
  103. package/dist/splat-mesh-types-8QDjTbZO.js +390 -0
  104. package/dist/splat-mesh-types-8QDjTbZO.js.map +1 -0
  105. package/dist/splat-mesh-types.d.ts +390 -0
  106. package/dist/splat-mesh.d.ts +737 -0
  107. package/dist/splat-modifier-stack.d.ts +38 -0
  108. package/dist/splat-modifier.d.ts +156 -0
  109. package/dist/splat-partition.d.ts +37 -0
  110. package/dist/splat-query.d.ts +51 -0
  111. package/dist/splat-scene.d.ts +127 -0
  112. package/dist/splat-sort-bounds.d.ts +11 -0
  113. package/dist/static-lod-splat-mesh.d.ts +53 -0
  114. package/dist/static-lod-worker-D2fyqQZO.js +474 -0
  115. package/dist/static-lod-worker-D2fyqQZO.js.map +1 -0
  116. package/dist/static-lod-worker-protocol.d.ts +37 -0
  117. package/dist/static-lod.d.ts +24 -0
  118. package/dist/storage-attribute-mirror.d.ts +103 -0
  119. package/dist/streamed-splat-mesh-utils.d.ts +146 -0
  120. package/dist/streamed-splat-mesh.d.ts +985 -0
  121. package/dist/unified-splat-renderer.d.ts +205 -0
  122. package/dist/webgpu-limits.d.ts +133 -0
  123. package/dist/work-buffer-gather.d.ts +119 -0
  124. package/dist/work-buffer-material.d.ts +42 -0
  125. package/dist/worker-sorter.d.ts +57 -0
  126. package/dist/xr-view.d.ts +92 -0
  127. package/package.json +135 -21
package/package.json CHANGED
@@ -1,21 +1,135 @@
1
- {
2
- "name": "@voluma/vlam",
3
- "version": "0.1.0",
4
- "description": "VLAM!, a WebGPU gaussian splat viewer for three.js",
5
- "license": "MIT",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/voluma-ai/vlam"
9
- },
10
- "homepage": "https://voluma.ai",
11
- "keywords": [
12
- "gaussian-splatting",
13
- "3dgs",
14
- "3dgs-lod",
15
- "3dgs-stream",
16
- "webgpu",
17
- "three-js",
18
- "viewer"
19
- ],
20
- "type": "module"
21
- }
1
+ {
2
+ "name": "@voluma/vlam",
3
+ "version": "0.2.1",
4
+ "description": "VLAM! - A lightweight WebGPU Gaussian splat viewer for three.js, built for high performance, streaming LOD, and fully customizable rendering through an open shader pipeline.",
5
+ "license": "MIT",
6
+ "author": "Voluma",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/Voluma-ai/vlam.git"
10
+ },
11
+ "bugs": {
12
+ "url": "https://github.com/Voluma-ai/vlam/issues"
13
+ },
14
+ "homepage": "https://vlam.voluma.ai",
15
+ "keywords": [
16
+ "gaussian-splatting",
17
+ "3dgs",
18
+ "3dgs-lod",
19
+ "3dgs-stream",
20
+ "webgpu",
21
+ "three-js",
22
+ "viewer"
23
+ ],
24
+ "type": "module",
25
+ "sideEffects": false,
26
+ "files": [
27
+ "dist",
28
+ "LICENSE",
29
+ "THIRD_PARTY_NOTICES.md"
30
+ ],
31
+ "engines": {
32
+ "node": ">=20"
33
+ },
34
+ "publishConfig": {
35
+ "access": "public",
36
+ "provenance": true
37
+ },
38
+ "main": "./dist/index.js",
39
+ "module": "./dist/index.js",
40
+ "types": "./dist/index.d.ts",
41
+ "exports": {
42
+ ".": {
43
+ "types": "./dist/index.d.ts",
44
+ "import": "./dist/index.js"
45
+ },
46
+ "./effects": {
47
+ "types": "./dist/effects.d.ts",
48
+ "import": "./dist/effects.js"
49
+ },
50
+ "./formats/ply": {
51
+ "types": "./dist/formats/ply/index.d.ts",
52
+ "import": "./dist/formats/ply.js"
53
+ },
54
+ "./formats/sog": {
55
+ "types": "./dist/formats/sog/index.d.ts",
56
+ "import": "./dist/formats/sog.js"
57
+ },
58
+ "./formats/rad": {
59
+ "types": "./dist/formats/rad/index.d.ts",
60
+ "import": "./dist/formats/rad.js"
61
+ },
62
+ "./formats/lcc": {
63
+ "types": "./dist/formats/lcc/index.d.ts",
64
+ "import": "./dist/formats/lcc.js"
65
+ },
66
+ "./formats/spz": {
67
+ "types": "./dist/formats/spz/index.d.ts",
68
+ "import": "./dist/formats/spz.js"
69
+ },
70
+ "./formats/splat": {
71
+ "types": "./dist/formats/splat/index.d.ts",
72
+ "import": "./dist/formats/splat.js"
73
+ },
74
+ "./formats/ksplat": {
75
+ "types": "./dist/formats/ksplat/index.d.ts",
76
+ "import": "./dist/formats/ksplat.js"
77
+ },
78
+ "./package.json": "./package.json"
79
+ },
80
+ "scripts": {
81
+ "dev": "npm run docs:api:site && vitepress dev site",
82
+ "docs:api:site": "typedoc --options typedoc.site.json",
83
+ "build:site": "npm run typecheck && node scripts/build-site.mjs",
84
+ "build:lib": "vite build --config vite.config.lib.ts && tsc -p tsconfig.lib.json",
85
+ "build": "npm run build:site && npm run build:lib",
86
+ "prepack": "npm run build:lib",
87
+ "typecheck": "tsc --noEmit",
88
+ "lint": "eslint . && prettier --check .",
89
+ "format": "prettier --write .",
90
+ "prepare": "husky",
91
+ "test": "vitest run",
92
+ "test:coverage": "vitest run --coverage",
93
+ "docs:check": "node scripts/docs-check.mjs",
94
+ "docs:samples": "tsc --noEmit -p docs/guide/samples/tsconfig.json && tsc --noEmit -p docs/examples/samples/tsconfig.json",
95
+ "docs:api": "typedoc",
96
+ "size:check": "node scripts/check-bundle-size.mjs",
97
+ "deploy": "npm run build:site && wrangler deploy"
98
+ },
99
+ "peerDependencies": {
100
+ "three": ">=0.185.0"
101
+ },
102
+ "devDependencies": {
103
+ "@eslint/js": "^10.0.1",
104
+ "@types/react": "^18.3.31",
105
+ "@types/react-dom": "^18.3.7",
106
+ "@types/three": "^0.185.0",
107
+ "@vitest/coverage-v8": "^4.1.10",
108
+ "@voluma/three-transform-gizmo": "^0.9.0",
109
+ "camera-controls": "^3.1.2",
110
+ "eslint": "^10.7.0",
111
+ "eslint-config-prettier": "^10.1.8",
112
+ "husky": "^9.1.7",
113
+ "prettier": "^3.9.5",
114
+ "react": "^18.3.1",
115
+ "react-dom": "^18.3.1",
116
+ "three": "^0.185.0",
117
+ "three-mesh-bvh": "^0.9.11",
118
+ "typedoc": "^0.28.20",
119
+ "typedoc-plugin-markdown": "^4.12.0",
120
+ "typedoc-vitepress-theme": "^1.1.3",
121
+ "typescript": "^5.5.0",
122
+ "typescript-eslint": "^8.64.0",
123
+ "vite": "~6.4.2",
124
+ "vitepress": "^1.6.4",
125
+ "vitest": "^4.1.10",
126
+ "wrangler": "^4.119.0"
127
+ },
128
+ "overrides": {
129
+ "brace-expansion": "5.0.9",
130
+ "nanoid": "3.3.18",
131
+ "postcss": "8.5.26",
132
+ "undici": "7.29.0",
133
+ "vite": "$vite"
134
+ }
135
+ }