@dunes/render 0.9.18 → 0.9.20

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.
@@ -1,6 +1,9 @@
1
1
  export declare abstract class Engine {
2
2
  #private;
3
3
  constructor();
4
+ protected frames: number;
5
+ protected updates: number;
6
+ protected maxUpdates: number;
4
7
  run(): Promise<void>;
5
8
  protected abstract init(): Promise<void>;
6
9
  protected abstract render(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":"AAAA,8BAAsB,MAAM;;;IAOb,GAAG;IAgBhB,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;cAE5B,IAAI;CAIrB"}
1
+ {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":"AAAA,8BAAsB,MAAM;;;IAW1B,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,OAAO,SAAK;IACtB,SAAS,CAAC,UAAU,SAAM;IAEb,GAAG;IAqChB,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;cAE5B,IAAI;CAIrB"}
@@ -1,11 +1,34 @@
1
1
  export class Engine {
2
2
  constructor() { }
3
3
  #running = true;
4
+ #lastTime = 0;
5
+ #timer = 0;
6
+ #deltaTime = 0;
7
+ #nowTime = 0;
8
+ frames = 0;
9
+ updates = 0;
10
+ maxUpdates = 60;
4
11
  async run() {
12
+ this.#lastTime = Date.now();
13
+ this.#timer = this.#lastTime;
5
14
  await this.init();
6
15
  while (this.#running) {
7
16
  await this.render();
8
17
  await this.update();
18
+ this.#nowTime = Date.now();
19
+ this.#deltaTime += (this.#nowTime - this.#lastTime) / this.maxUpdates;
20
+ this.#lastTime = this.#nowTime;
21
+ while (this.#deltaTime >= 1000) {
22
+ this.update();
23
+ this.updates++;
24
+ this.#deltaTime--;
25
+ }
26
+ this.frames++;
27
+ if (Date.now() - this.#timer > 1000) {
28
+ this.#timer++;
29
+ this.updates = 0;
30
+ this.frames = 0;
31
+ }
9
32
  const error = GL.getError();
10
33
  if (error !== GL.NO_ERROR) {
11
34
  console.error('WebGL error:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,MAAM;IAE1B,gBACC,CAAC;IAEF,QAAQ,GAAG,IAAI,CAAC;IAET,KAAK,CAAC,GAAG;QAEd,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAM,IAAI,CAAC,QAAQ,EACnB;YACE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAEpB,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,EAAE,CAAC,QAAQ,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;aACtC;SACF;QACD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAOS,KAAK,CAAC,IAAI;QAElB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAAA,CAAC;CACH"}
1
+ {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,MAAM;IAE1B,gBACC,CAAC;IAEF,QAAQ,GAAG,IAAI,CAAC;IAChB,SAAS,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,CAAC,CAAC;IACX,UAAU,GAAG,CAAC,CAAC;IACf,QAAQ,GAAG,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,CAAC,CAAC;IACZ,UAAU,GAAG,EAAE,CAAC;IAEnB,KAAK,CAAC,GAAG;QAEd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAE7B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAM,IAAI,CAAC,QAAQ,EACnB;YACE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAEpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;YACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE/B,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,EAAC;gBAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;YAEd,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE;gBACnC,IAAI,CAAC,MAAM,EAAG,CAAC;gBACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjB;YAED,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,EAAE,CAAC,QAAQ,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;aACtC;SACF;QACD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAOS,KAAK,CAAC,IAAI;QAElB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAAA,CAAC;CACH"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./engine/Engine.js";
2
+ export * from "./engine/Canvas.js";
2
3
  export * from "./program/Program.js";
3
4
  declare global {
4
5
  var GL: WebGL2RenderingContext;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AAGpC,OAAO,CAAC,MAAM,CACd;IACE,IAAI,EAAE,EAAE,sBAAsB,CAAC;CAChC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AAGpC,OAAO,CAAC,MAAM,CACd;IACE,IAAI,EAAE,EAAE,sBAAsB,CAAC;CAChC"}
package/lib/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./engine/Engine.js";
2
+ export * from "./engine/Canvas.js";
2
3
  export * from "./program/Program.js";
3
4
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dunes/render",
3
- "version": "0.9.18",
3
+ "version": "0.9.20",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "main": "./lib/index.js",