@quake2ts/engine 0.0.795 → 0.0.796
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/browser/index.global.js +8 -8
- package/dist/browser/index.global.js.map +1 -1
- package/dist/cjs/index.cjs +14 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.js +14 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/render/camera.d.ts +9 -0
- package/dist/types/render/camera.d.ts.map +1 -1
- package/dist/types/render/frame.d.ts +2 -0
- package/dist/types/render/frame.d.ts.map +1 -1
- package/dist/types/render/types/camera.d.ts +21 -0
- package/dist/types/render/types/camera.d.ts.map +1 -0
- package/dist/types/render/types/coordinates.d.ts +39 -0
- package/dist/types/render/types/coordinates.d.ts.map +1 -0
- package/dist/types/render/types/renderer.d.ts +18 -0
- package/dist/types/render/types/renderer.d.ts.map +1 -0
- package/package.json +5 -5
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { mat4, vec3 } from 'gl-matrix';
|
|
2
|
+
import { CameraState as RendererCameraState } from './types/camera.js';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use RendererCameraState for full state, or specific event payload type.
|
|
5
|
+
*/
|
|
2
6
|
export interface CameraState {
|
|
3
7
|
position: vec3;
|
|
4
8
|
angles: vec3;
|
|
@@ -36,6 +40,11 @@ export declare class Camera {
|
|
|
36
40
|
set fov(value: number);
|
|
37
41
|
get aspect(): number;
|
|
38
42
|
set aspect(value: number);
|
|
43
|
+
/**
|
|
44
|
+
* Export camera state in Quake-space coordinates.
|
|
45
|
+
* For use with new renderer architecture.
|
|
46
|
+
*/
|
|
47
|
+
toState(): RendererCameraState;
|
|
39
48
|
setPosition(x: number, y: number, z: number): void;
|
|
40
49
|
setRotation(pitch: number, yaw: number, roll: number): void;
|
|
41
50
|
setFov(fov: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../src/render/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../src/render/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;CACd;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,IAAI,CAAQ;IAEpB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,MAAM,CAAQ;IAGf,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;gBAExC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAM3C,IAAI,QAAQ,IAAI,IAAI,CAEnB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,EAMvB;IAED,IAAI,MAAM,IAAI,IAAI,CAEjB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,EAMrB;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,EAGxB;IAED,IAAI,UAAU,IAAI,IAAI,CAErB;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,EAGzB;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,EAGxB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAG1B;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAGpB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAGvB;IAED;;;OAGG;IACH,OAAO,IAAI,mBAAmB;IAY9B,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IASlD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IA+B1B,OAAO,CAAC,gBAAgB;IASxB,IAAI,UAAU,IAAI,IAAI,CAGrB;IAED,IAAI,gBAAgB,IAAI,IAAI,CAG3B;IAED,IAAI,oBAAoB,IAAI,IAAI,CAG/B;IAED,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAY/C,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE;IAsDpC,OAAO,CAAC,cAAc;CAyFvB"}
|
|
@@ -3,6 +3,7 @@ import { BspSurfacePipeline } from './bspPipeline.js';
|
|
|
3
3
|
import { gatherVisibleFaces } from './bspTraversal.js';
|
|
4
4
|
import { extractFrustumPlanes } from './culling.js';
|
|
5
5
|
import { Camera } from './camera.js';
|
|
6
|
+
import { CameraState } from './types/camera.js';
|
|
6
7
|
import type { BspSurfaceGeometry, LightmapAtlas } from './bsp.js';
|
|
7
8
|
import { Texture2D } from './resources.js';
|
|
8
9
|
import type { MaterialManager } from './materials.js';
|
|
@@ -44,6 +45,7 @@ export interface RenderModeConfig {
|
|
|
44
45
|
}
|
|
45
46
|
interface FrameRenderOptions {
|
|
46
47
|
readonly camera: Camera;
|
|
48
|
+
readonly cameraState?: CameraState;
|
|
47
49
|
readonly world?: WorldRenderState;
|
|
48
50
|
readonly sky?: SkyRenderState;
|
|
49
51
|
readonly viewModel?: ViewModelRenderState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../src/render/frame.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../src/render/frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReadonlyVec3 } from 'gl-matrix';
|
|
2
|
+
/**
|
|
3
|
+
* Pure data representation of the camera state in Quake coordinate space.
|
|
4
|
+
*
|
|
5
|
+
* Coordinate System:
|
|
6
|
+
* - Position: Quake world coordinates
|
|
7
|
+
* - Angles: [pitch, yaw, roll] in degrees
|
|
8
|
+
* - All values in game-engine space (no GL/WebGPU transforms)
|
|
9
|
+
*
|
|
10
|
+
* This interface is designed to be the single source of truth for renderers,
|
|
11
|
+
* allowing them to build their own view/projection matrices natively.
|
|
12
|
+
*/
|
|
13
|
+
export interface CameraState {
|
|
14
|
+
readonly position: ReadonlyVec3;
|
|
15
|
+
readonly angles: ReadonlyVec3;
|
|
16
|
+
readonly fov: number;
|
|
17
|
+
readonly aspect: number;
|
|
18
|
+
readonly near: number;
|
|
19
|
+
readonly far: number;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=camera.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/render/types/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coordinate System Reference
|
|
3
|
+
*
|
|
4
|
+
* QUAKE (Game Engine):
|
|
5
|
+
* - +X: Forward
|
|
6
|
+
* - +Y: Left
|
|
7
|
+
* - +Z: Up
|
|
8
|
+
* - Right-handed
|
|
9
|
+
* - Angles: [pitch, yaw, roll] in degrees
|
|
10
|
+
*
|
|
11
|
+
* OPENGL/WEBGL:
|
|
12
|
+
* - +X: Right
|
|
13
|
+
* - +Y: Up
|
|
14
|
+
* - +Z: Back (toward camera)
|
|
15
|
+
* - Right-handed
|
|
16
|
+
* - NDC: [-1, 1] for X, Y, Z
|
|
17
|
+
* - Depth: 1 (near) to -1 (far)
|
|
18
|
+
*
|
|
19
|
+
* WEBGPU:
|
|
20
|
+
* - +X: Right
|
|
21
|
+
* - +Y: Up
|
|
22
|
+
* - +Z: Forward (away from camera)
|
|
23
|
+
* - Left-handed (affected by projection matrix)
|
|
24
|
+
* - NDC: [-1, 1] for X, Y; [0, 1] for Z
|
|
25
|
+
* - Depth: 0 (near) to 1 (far)
|
|
26
|
+
*/
|
|
27
|
+
export declare enum CoordinateSystem {
|
|
28
|
+
QUAKE = "quake",
|
|
29
|
+
OPENGL = "opengl",
|
|
30
|
+
WEBGPU = "webgpu"
|
|
31
|
+
}
|
|
32
|
+
export interface CoordinateConvention {
|
|
33
|
+
readonly system: CoordinateSystem;
|
|
34
|
+
readonly handedness: 'left' | 'right';
|
|
35
|
+
readonly forward: '+X' | '+Y' | '+Z' | '-X' | '-Y' | '-Z';
|
|
36
|
+
readonly up: '+X' | '+Y' | '+Z' | '-X' | '-Y' | '-Z';
|
|
37
|
+
readonly ndcDepthRange: [number, number];
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=coordinates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinates.d.ts","sourceRoot":"","sources":["../../../../src/render/types/coordinates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface RendererCapabilities {
|
|
2
|
+
readonly maxTextureSize: number;
|
|
3
|
+
readonly maxLights: number;
|
|
4
|
+
readonly supportsCompute: boolean;
|
|
5
|
+
readonly supportsTimestampQuery: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface RenderCommand {
|
|
8
|
+
readonly type: 'draw' | 'clear' | 'setViewport' | 'setScissor';
|
|
9
|
+
readonly timestamp?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface RenderCommandLog {
|
|
12
|
+
readonly commands: ReadonlyArray<RenderCommand>;
|
|
13
|
+
readonly stats: {
|
|
14
|
+
readonly drawCalls: number;
|
|
15
|
+
readonly triangles: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/render/types/renderer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,CAAC;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quake2ts/engine",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.796",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/cjs/index.cjs",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"_comment_gl": "gl is optional only in test-utils and installed on demand and in the webgl github action",
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"gl-matrix": "^3.4.4",
|
|
34
|
-
"@quake2ts/shared": "0.0.
|
|
34
|
+
"@quake2ts/shared": "0.0.796"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@wasm-audio-decoders/ogg-vorbis": "^0.1.20"
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"tsup": "^8.5.1",
|
|
48
48
|
"vitest": "^4.0.16",
|
|
49
49
|
"webgpu": "^0.3.8",
|
|
50
|
-
"@quake2ts/game": "0.0.
|
|
51
|
-
"@quake2ts/shared": "0.0.
|
|
52
|
-
"@quake2ts/test-utils": "^0.0.
|
|
50
|
+
"@quake2ts/game": "0.0.796",
|
|
51
|
+
"@quake2ts/shared": "0.0.796",
|
|
52
|
+
"@quake2ts/test-utils": "^0.0.796"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"build": "pnpm run build:types && pnpm run build:bundles",
|