gfxlite 0.1.0

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 (53) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +74 -0
  3. package/dist/gfxlite.es.js +6081 -0
  4. package/dist/gfxlite.umd.js +1455 -0
  5. package/dist/types/core/camera/Camera.d.ts +13 -0
  6. package/dist/types/core/camera/OrthographicCamera.d.ts +11 -0
  7. package/dist/types/core/camera/PerspectiveCamera.d.ts +9 -0
  8. package/dist/types/core/controls/OrbitControls.d.ts +84 -0
  9. package/dist/types/core/environment/Environment.d.ts +25 -0
  10. package/dist/types/core/environment/EnvironmentManager.d.ts +44 -0
  11. package/dist/types/core/geometry/BoxGeometry.d.ts +13 -0
  12. package/dist/types/core/geometry/CircleGeometry.d.ts +11 -0
  13. package/dist/types/core/geometry/ConeGeometry.d.ts +17 -0
  14. package/dist/types/core/geometry/CylinderGeometry.d.ts +19 -0
  15. package/dist/types/core/geometry/Geometry.d.ts +27 -0
  16. package/dist/types/core/geometry/PlaneGeometry.d.ts +15 -0
  17. package/dist/types/core/geometry/SphereGeometry.d.ts +13 -0
  18. package/dist/types/core/geometry/TorusGeometry.d.ts +15 -0
  19. package/dist/types/core/light/DirectionalLight.d.ts +19 -0
  20. package/dist/types/core/light/Light.d.ts +7 -0
  21. package/dist/types/core/material/BasicMaterial.d.ts +20 -0
  22. package/dist/types/core/material/LambertMaterial.d.ts +20 -0
  23. package/dist/types/core/material/Material.d.ts +34 -0
  24. package/dist/types/core/material/PhongMaterial.d.ts +22 -0
  25. package/dist/types/core/material/StandardMaterial.d.ts +42 -0
  26. package/dist/types/core/material/Texture.d.ts +24 -0
  27. package/dist/types/core/material/TextureManager.d.ts +18 -0
  28. package/dist/types/core/object/Mesh.d.ts +8 -0
  29. package/dist/types/core/object/Object3D.d.ts +35 -0
  30. package/dist/types/core/renderer/BatchManager.d.ts +82 -0
  31. package/dist/types/core/renderer/CullingComputePhase.d.ts +13 -0
  32. package/dist/types/core/renderer/DepthPrePhase.d.ts +17 -0
  33. package/dist/types/core/renderer/LightingManager.d.ts +20 -0
  34. package/dist/types/core/renderer/MainRenderPhase.d.ts +62 -0
  35. package/dist/types/core/renderer/Program.d.ts +25 -0
  36. package/dist/types/core/renderer/RenderPhase.d.ts +10 -0
  37. package/dist/types/core/renderer/Renderer.d.ts +61 -0
  38. package/dist/types/core/renderer/ShadowRenderPhase.d.ts +32 -0
  39. package/dist/types/core/renderer/SkyboxRenderPhase.d.ts +26 -0
  40. package/dist/types/core/scene/Scene.d.ts +16 -0
  41. package/dist/types/index.d.ts +28 -0
  42. package/dist/types/loaders/GLTFInterfaces.d.ts +144 -0
  43. package/dist/types/loaders/GLTFLoader.d.ts +30 -0
  44. package/dist/types/math/Box3.d.ts +21 -0
  45. package/dist/types/math/Euler.d.ts +12 -0
  46. package/dist/types/math/Matrix3.d.ts +20 -0
  47. package/dist/types/math/Matrix4.d.ts +31 -0
  48. package/dist/types/math/Quaternion.d.ts +22 -0
  49. package/dist/types/math/Utils.d.ts +3 -0
  50. package/dist/types/math/Vector2.d.ts +16 -0
  51. package/dist/types/math/Vector3.d.ts +32 -0
  52. package/dist/types/math/index.d.ts +10 -0
  53. package/package.json +53 -0
@@ -0,0 +1,22 @@
1
+ import { Euler } from './Euler';
2
+ import { Matrix3 } from './Matrix3';
3
+ import { Vector3 } from './Vector3';
4
+ export declare class Quaternion {
5
+ x: number;
6
+ y: number;
7
+ z: number;
8
+ w: number;
9
+ constructor(x?: number, y?: number, z?: number, w?: number);
10
+ set(x: number, y: number, z: number, w: number): this;
11
+ copy(q: Quaternion): this;
12
+ setFromEuler(euler: Euler): this;
13
+ setFromAxisAngle(axis: Vector3, angle: number): this;
14
+ setFromRotationMatrix(m: Matrix3): this;
15
+ multiply(q: Quaternion): this;
16
+ premultiply(q: Quaternion): this;
17
+ multiplyQuaternions(a: Quaternion, b: Quaternion): this;
18
+ dot(q: Quaternion): number;
19
+ clone(): Quaternion;
20
+ slerp(other: Quaternion, coef: number): Quaternion;
21
+ normalize(): Quaternion;
22
+ }
@@ -0,0 +1,3 @@
1
+ export declare function clamp(a: number, b: number, c: number): number;
2
+ export declare function degToRad(a: number): number;
3
+ export declare function radToDeg(a: number): number;
@@ -0,0 +1,16 @@
1
+ export declare class Vector2 {
2
+ x: number;
3
+ y: number;
4
+ constructor(x?: number, y?: number);
5
+ add(v: Vector2): this;
6
+ addScalar(s: number): this;
7
+ sub(v: Vector2): this;
8
+ subScalar(s: number): this;
9
+ multiply(v: Vector2): this;
10
+ multiplyScalar(s: number): this;
11
+ divide(v: Vector2): this;
12
+ divideScalar(s: number): this;
13
+ dot(v: Vector2): number;
14
+ cross(v: Vector2): number;
15
+ clone(): Vector2;
16
+ }
@@ -0,0 +1,32 @@
1
+ import { Quaternion } from './Quaternion';
2
+ import { Matrix4 } from './Matrix4';
3
+ export declare class Vector3 {
4
+ x: number;
5
+ y: number;
6
+ z: number;
7
+ constructor(x?: number, y?: number, z?: number);
8
+ set(x: number, y: number, z: number): this;
9
+ copy(v: Vector3): this;
10
+ add(v: Vector3): this;
11
+ addScalar(s: number): this;
12
+ sub(v: Vector3): this;
13
+ subScalar(s: number): this;
14
+ multiply(v: Vector3): this;
15
+ multiplyScalar(s: number): this;
16
+ divide(v: Vector3): this;
17
+ divideScalar(s: number): this;
18
+ dot(v: Vector3): number;
19
+ cross(v: Vector3): this;
20
+ length(): number;
21
+ normalize(): this;
22
+ toArray(): number[];
23
+ clone(): Vector3;
24
+ lerp(other: Vector3, coef: number): Vector3;
25
+ distanceTo(v: Vector3): number;
26
+ applyQuaternion(q: Quaternion): this;
27
+ applyMatrix4(m: Matrix4): this;
28
+ min(v: Vector3): this;
29
+ max(v: Vector3): this;
30
+ addVectors(a: Vector3, b: Vector3): this;
31
+ subVectors(a: Vector3, b: Vector3): this;
32
+ }
@@ -0,0 +1,10 @@
1
+ export { Vector2 } from './Vector2';
2
+ export { Vector3 } from './Vector3';
3
+ export { Box3 } from './Box3';
4
+ export { Euler } from './Euler';
5
+ export { Quaternion } from './Quaternion';
6
+ export { Matrix3 } from './Matrix3';
7
+ export { Matrix4 } from './Matrix4';
8
+ export { clamp } from './Utils';
9
+ export { degToRad } from './Utils';
10
+ export { radToDeg } from './Utils';
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "gfxlite",
3
+ "version": "0.1.0",
4
+ "description": "A simple WebGPU 3D render library",
5
+ "author": "Pablo Soto",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/somepablo/gfxlite.git"
10
+ },
11
+ "bugs": {
12
+ "url": "https://github.com/somepablo/gfxlite/issues"
13
+ },
14
+ "homepage": "https://gfxlite.dev",
15
+ "keywords": [
16
+ "webgpu",
17
+ "3d",
18
+ "graphics",
19
+ "renderer"
20
+ ],
21
+ "type": "module",
22
+ "main": "./dist/gfxlite.umd.js",
23
+ "module": "./dist/gfxlite.es.js",
24
+ "types": "./dist/types/index.d.ts",
25
+ "files": [
26
+ "dist"
27
+ ],
28
+ "scripts": {
29
+ "dev": "vite",
30
+ "build": "tsc && vite build",
31
+ "format": "biome format --write",
32
+ "lint": "biome lint --write",
33
+ "preview": "vite preview",
34
+ "docs:dev": "vitepress dev docs",
35
+ "docs:build": "vitepress build docs",
36
+ "docs:preview": "vitepress preview docs"
37
+ },
38
+ "devDependencies": {
39
+ "@biomejs/biome": "2.3.11",
40
+ "@eslint/js": "^9.29.0",
41
+ "@types/node": "^24.0.3",
42
+ "@types/stats.js": "^0.17.4",
43
+ "@webgpu/types": "^0.1.61",
44
+ "globals": "^16.2.0",
45
+ "lil-gui": "^0.21.0",
46
+ "stats.js": "^0.17.0",
47
+ "typescript": "~5.8.3",
48
+ "vite": "^6.3.5",
49
+ "vite-plugin-dts": "^4.5.4",
50
+ "vitepress": "^1.6.4",
51
+ "vue": "^3.5.26"
52
+ }
53
+ }