Skip to content

Commit 3e8a7e2

Browse files
Merge branch 'playcanvas:main' into parse-event
2 parents cee326b + 912a837 commit 3e8a7e2

File tree

812 files changed

+80259
-56099
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

812 files changed

+80259
-56099
lines changed

.github/workflows/ci.yml

Lines changed: 92 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,129 +1,183 @@
11
name: CI
22

33
on:
4+
workflow_dispatch:
45
push:
56
branches: [ main ]
67
pull_request:
78
branches: [ main ]
89

10+
concurrency:
11+
group: ci-${{ github.event.pull_request.number || github.ref }}
12+
cancel-in-progress: true
13+
914
permissions:
1015
contents: read
1116

1217
jobs:
1318
build:
1419
name: Build
1520
runs-on: ubuntu-latest
21+
timeout-minutes: 10
1622
steps:
1723
- name: Checkout code
18-
uses: actions/checkout@v3
19-
- name: Setup Node.js 16.x
20-
uses: actions/setup-node@v3
24+
uses: actions/checkout@v4
25+
26+
- name: Setup Node.js 18.x
27+
uses: actions/setup-node@v4
2128
with:
22-
node-version: 16.x
29+
node-version: 18.x
30+
cache: 'npm'
31+
2332
- name: Install dependencies
24-
run: npm ci
33+
run: npm clean-install --progress=false --no-fund
34+
2535
- name: Build PlayCanvas
2636
run: npm run build
2737

2838
docs:
2939
name: Docs
3040
runs-on: ubuntu-latest
41+
timeout-minutes: 10
3142
steps:
3243
- name: Checkout code
33-
uses: actions/checkout@v3
34-
- name: Setup Node.js 16.x
35-
uses: actions/setup-node@v3
44+
uses: actions/checkout@v4
45+
46+
- name: Setup Node.js 18.x
47+
uses: actions/setup-node@v4
3648
with:
37-
node-version: 16.x
49+
node-version: 18.x
50+
cache: 'npm'
51+
3852
- name: Install dependencies
39-
run: npm ci
53+
run: npm clean-install --progress=false --no-fund
54+
4055
- name: Build API reference manual
4156
run: npm run docs
4257

4358
lint:
4459
name: Lint
4560
runs-on: ubuntu-latest
61+
timeout-minutes: 10
4662
steps:
4763
- name: Checkout code
48-
uses: actions/checkout@v3
49-
- name: Setup Node.js 16.x
50-
uses: actions/setup-node@v3
64+
uses: actions/checkout@v4
65+
66+
- name: Setup Node.js 18.x
67+
uses: actions/setup-node@v4
5168
with:
52-
node-version: 16.x
69+
node-version: 18.x
70+
cache: 'npm'
71+
5372
- name: Install dependencies
54-
run: npm ci
73+
run: npm clean-install --progress=false --no-fund
74+
5575
- name: Run ESLint
5676
run: npm run lint
5777

78+
- name: Run ESLint on examples
79+
working-directory: ./examples
80+
run: |
81+
npm clean-install --progress=false --no-fund
82+
npm run lint
83+
5884
typescript-declarations:
5985
name: TypeScript Declarations
6086
runs-on: ubuntu-latest
87+
timeout-minutes: 10
6188
steps:
6289
- name: Checkout code
63-
uses: actions/checkout@v3
64-
- name: Setup Node.js 16.x
65-
uses: actions/setup-node@v3
90+
uses: actions/checkout@v4
91+
92+
- name: Setup Node.js 18.x
93+
uses: actions/setup-node@v4
6694
with:
67-
node-version: 16.x
95+
node-version: 18.x
96+
cache: 'npm'
97+
6898
- name: Install dependencies
69-
run: npm ci
99+
run: npm clean-install --progress=false --no-fund
100+
70101
- name: Build TypeScript declarations
71102
run: npm run build:types
103+
72104
- name: Compile TypeScript declarations
73105
run: npm run test:types
74106

75107
unit-test-node:
76108
name: Unit Test (Node)
77109
runs-on: ubuntu-latest
110+
timeout-minutes: 10
78111
steps:
79112
- name: Checkout code
80-
uses: actions/checkout@v3
81-
- name: Setup Node.js 16.x
82-
uses: actions/setup-node@v3
113+
uses: actions/checkout@v4
114+
115+
- name: Setup Node.js 18.x
116+
uses: actions/setup-node@v4
83117
with:
84-
node-version: 16.x
118+
node-version: 18.x
119+
cache: 'npm'
120+
85121
- name: Install dependencies
86-
run: npm ci
122+
run: npm clean-install --progress=false --no-fund
123+
87124
- name: Run unit tests
88125
run: npm test
89126

90127
unit-test-karma:
91128
name: Unit Test (Karma)
92129
runs-on: ubuntu-latest
130+
timeout-minutes: 10
93131
steps:
94132
- name: Checkout code
95-
uses: actions/checkout@v3
96-
- name: Setup Node.js 16.x
97-
uses: actions/setup-node@v3
133+
uses: actions/checkout@v4
134+
135+
- name: Setup Node.js 18.x
136+
uses: actions/setup-node@v4
98137
with:
99-
node-version: 16.x
138+
node-version: 18.x
139+
cache: 'npm'
140+
100141
- name: Install dependencies
101-
run: npm ci
142+
run: npm clean-install --progress=false --no-fund
143+
102144
- name: Build PlayCanvas (ES5-only)
103145
run: npm run build:es5
146+
104147
- name: Install X virtual framebuffer
105148
run: sudo apt-get install xvfb
149+
106150
- name: Run unit tests
107151
run: xvfb-run --auto-servernum npm run test:karma
108152

109153
build-examples:
110154
name: Build Examples Browser
111155
runs-on: ubuntu-latest
156+
timeout-minutes: 10
112157
steps:
113158
- name: Checkout code
114-
uses: actions/checkout@v3
115-
- name: Setup Node.js 16.x
116-
uses: actions/setup-node@v3
159+
uses: actions/checkout@v4
160+
161+
- name: Setup Node.js 18.x
162+
uses: actions/setup-node@v4
117163
with:
118-
node-version: 16.x
164+
node-version: 18.x
165+
cache: 'npm'
166+
119167
- name: Install dependencies
120-
run: npm ci
121-
- name: Build PlayCanvas (ES6-only)
122-
run: npm run build:es6
168+
run: npm clean-install --progress=false --no-fund
169+
170+
- name: Build PlayCanvas (ES5-only)
171+
run: npm run build:es5
172+
173+
- name: Build PlayCanvas Extras
174+
run: npm run build:extras
175+
123176
- name: Build TypeScript declarations
124177
run: npm run build:types
178+
125179
- name: Build Examples Browser
126180
working-directory: ./examples
127181
run: |
128-
npm ci
182+
npm clean-install --progress=false --no-fund
129183
npm run build

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ npm-debug.log
1111
scripts/parsers/vox-parser.js
1212
scripts/parsers/vox-parser.js.map
1313
types
14+
typedocs
1415
stats.html
1516
.npmrc
1617
examples/.npmrc

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2011-2023 PlayCanvas Ltd.
1+
Copyright (c) 2011-2024 PlayCanvas Ltd.
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy
44
of this software and associated documentation files (the "Software"), to deal

README-ja.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
<img width="200" src="https://s3-eu-west-1.amazonaws.com/static.playcanvas.com/platform/images/logo/playcanvas-logo-medium.png"/>
44

55
# PlayCanvas WebGL Game Engine
6-
[Docs](https://developer.playcanvas.com) | [Examples](https://playcanvas.github.io) | [Forum](https://forum.playcanvas.com) | [Blog](https://blog.playcanvas.com)
6+
7+
[API Reference](https://api.playcanvas.com/modules/Engine.html) | [User Manual](https://developer.playcanvas.com) | [Examples](https://playcanvas.github.io) | [Forum](https://forum.playcanvas.com) | [Blog](https://blog.playcanvas.com)
78

89
PlayCanvasは、オープンソースのゲームエンジンです。
910

1011
HTML5とWebGLを使用してゲームやインタラクティブな3Dコンテンツをモバイルやデスクトップのブラウザで実行できます。
1112

1213
[![NPM version][npm-badge]][npm-url]
1314
[![Minzipped size][minzip-badge]][minzip-url]
14-
[![Language grade: JavaScript][code-quality-badge]][code-quality-url]
1515
[![Average time to resolve an issue][resolution-badge]][isitmaintained-url]
1616
[![Percentage of issues still open][open-issues-badge]][isitmaintained-url]
1717
[![Twitter][twitter-badge]][twitter-url]
@@ -162,8 +162,6 @@ PlayCanvas エンジンは、HTML5 アプリやゲームを作成するための
162162
[npm-url]: https://www.npmjs.com/package/playcanvas
163163
[minzip-badge]: https://img.shields.io/bundlephobia/minzip/playcanvas
164164
[minzip-url]: https://bundlephobia.com/result?p=playcanvas
165-
[code-quality-badge]: https://img.shields.io/lgtm/grade/javascript/g/playcanvas/engine.svg?logo=lgtm&logoWidth=18
166-
[code-quality-url]: https://lgtm.com/projects/g/playcanvas/engine/context:javascript
167165
[resolution-badge]: https://isitmaintained.com/badge/resolution/playcanvas/engine.svg
168166
[open-issues-badge]: https://isitmaintained.com/badge/open/playcanvas/engine.svg
169167
[isitmaintained-url]: https://isitmaintained.com/project/playcanvas/engine

README-kr.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
<img width="200" src="https://s3-eu-west-1.amazonaws.com/static.playcanvas.com/platform/images/logo/playcanvas-logo-medium.png"/>
44

55
# PlayCanvas WebGL Game Engine
6-
[Docs](https://developer.playcanvas.com) | [Examples](https://playcanvas.github.io) | [Forum](https://forum.playcanvas.com) | [Blog](https://blog.playcanvas.com)
6+
7+
[API Reference](https://api.playcanvas.com/modules/Engine.html) | [User Manual](https://developer.playcanvas.com) | [Examples](https://playcanvas.github.io) | [Forum](https://forum.playcanvas.com) | [Blog](https://blog.playcanvas.com)
78

89
PlayCanvas는 오픈소스 게임 엔진입니다.
910

1011
HTML5와 WebGL을 사용하여 게임과 인터랙티브한 3D 콘텐츠를 모바일이나 데스크톱 브라우저에서 실행할 수 있습니다.
1112

1213
[![NPM version][npm-badge]][npm-url]
1314
[![Minzipped size][minzip-badge]][minzip-url]
14-
[![Language grade: JavaScript][code-quality-badge]][code-quality-url]
1515
[![Average time to resolve an issue][resolution-badge]][isitmaintained-url]
1616
[![Percentage of issues still open][open-issues-badge]][isitmaintained-url]
1717
[![Twitter][twitter-badge]][twitter-url]
@@ -170,8 +170,6 @@ PlayCanvas 엔진은 HTML5 앱 및 게임을 만들기 위한 오픈 소스 엔
170170
[npm-url]: https://www.npmjs.com/package/playcanvas
171171
[minzip-badge]: https://img.shields.io/bundlephobia/minzip/playcanvas
172172
[minzip-url]: https://bundlephobia.com/result?p=playcanvas
173-
[code-quality-badge]: https://img.shields.io/lgtm/grade/javascript/g/playcanvas/engine.svg?logo=lgtm&logoWidth=18
174-
[code-quality-url]: https://lgtm.com/projects/g/playcanvas/engine/context:javascript
175173
[resolution-badge]: https://isitmaintained.com/badge/resolution/playcanvas/engine.svg
176174
[open-issues-badge]: https://isitmaintained.com/badge/open/playcanvas/engine.svg
177175
[isitmaintained-url]: https://isitmaintained.com/project/playcanvas/engine

README-zh.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
<img width="200" src="https://s3-eu-west-1.amazonaws.com/static.playcanvas.com/platform/images/logo/playcanvas-logo-medium.png"/>
44

55
# PlayCanvas WebGL 游戏引擎
6-
[开发者站点](https://developer.playcanvas.com) | [例子](https://playcanvas.github.io) | [论坛](https://forum.playcanvas.com) | [博客](https://blog.playcanvas.com)
6+
7+
[API 参考](https://api.playcanvas.com/modules/Engine.html) | [用户手册](https://developer.playcanvas.com) | [例子](https://playcanvas.github.io) | [论坛](https://forum.playcanvas.com) | [博客](https://blog.playcanvas.com)
78

89
PlayCanvas 是一款使用 HTML5 和 WebGL 技术运行游戏以及其他 3D 内容的开源游戏引擎,PlayCanvas 以其独特的性能实现了在任何手机移动端和桌面浏览器端均可以流畅运行。
910

1011
[![NPM version][npm-badge]][npm-url]
1112
[![Minzipped size][minzip-badge]][minzip-url]
12-
[![Language grade: JavaScript][code-quality-badge]][code-quality-url]
1313
[![Average time to resolve an issue][resolution-badge]][isitmaintained-url]
1414
[![Percentage of issues still open][open-issues-badge]][isitmaintained-url]
1515
[![Twitter][twitter-badge]][twitter-url]
@@ -170,8 +170,6 @@ The PlayCanvas Engine is released under the [MIT](https://opensource.org/license
170170
[npm-url]: https://www.npmjs.com/package/playcanvas
171171
[minzip-badge]: https://img.shields.io/bundlephobia/minzip/playcanvas
172172
[minzip-url]: https://bundlephobia.com/result?p=playcanvas
173-
[code-quality-badge]: https://img.shields.io/lgtm/grade/javascript/g/playcanvas/engine.svg?logo=lgtm&logoWidth=18
174-
[code-quality-url]: https://lgtm.com/projects/g/playcanvas/engine/context:javascript
175173
[resolution-badge]: https://isitmaintained.com/badge/resolution/playcanvas/engine.svg
176174
[open-issues-badge]: https://isitmaintained.com/badge/open/playcanvas/engine.svg
177175
[isitmaintained-url]: https://isitmaintained.com/project/playcanvas/engine

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
<img width="200" src="https://s3-eu-west-1.amazonaws.com/static.playcanvas.com/platform/images/logo/playcanvas-logo-medium.png"/>
44

55
# PlayCanvas WebGL Game Engine
6-
[Docs](https://developer.playcanvas.com) | [Examples](https://playcanvas.github.io) | [Forum](https://forum.playcanvas.com) | [Blog](https://blog.playcanvas.com)
6+
7+
[API Reference](https://api.playcanvas.com/modules/Engine.html) | [User Manual](https://developer.playcanvas.com) | [Examples](https://playcanvas.github.io) | [Forum](https://forum.playcanvas.com) | [Blog](https://blog.playcanvas.com)
78

89
PlayCanvas is an open-source game engine. It uses HTML5 and WebGL to run games and other interactive 3D content in any mobile or desktop browser.
910

1011
[![NPM version][npm-badge]][npm-url]
1112
[![Minzipped size][minzip-badge]][minzip-url]
12-
[![Language grade: JavaScript][code-quality-badge]][code-quality-url]
1313
[![Average time to resolve an issue][resolution-badge]][isitmaintained-url]
1414
[![Percentage of issues still open][open-issues-badge]][isitmaintained-url]
1515
[![Twitter][twitter-badge]][twitter-url]
@@ -167,8 +167,6 @@ For Editor related bugs and issues, please refer to the [Editor's repo](https://
167167
[npm-url]: https://www.npmjs.com/package/playcanvas
168168
[minzip-badge]: https://img.shields.io/bundlephobia/minzip/playcanvas
169169
[minzip-url]: https://bundlephobia.com/result?p=playcanvas
170-
[code-quality-badge]: https://img.shields.io/lgtm/grade/javascript/g/playcanvas/engine.svg?logo=lgtm&logoWidth=18
171-
[code-quality-url]: https://lgtm.com/projects/g/playcanvas/engine/context:javascript
172170
[resolution-badge]: https://isitmaintained.com/badge/resolution/playcanvas/engine.svg
173171
[open-issues-badge]: https://isitmaintained.com/badge/open/playcanvas/engine.svg
174172
[isitmaintained-url]: https://isitmaintained.com/project/playcanvas/engine

conf-api.json

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
{
22
"plugins": [
33
"plugins/markdown",
4-
"./node_modules/jsdoc-tsimport-plugin/index.js"
4+
"./node_modules/jsdoc-tsimport-plugin/index.js",
5+
"./node_modules/jsdoc-typeof-plugin"
56
],
67
"recurseDepth": 10,
78
"source": {
8-
"include": ["src"],
9-
"includePattern": ".+\\.js(doc|x)?$",
10-
"excludePattern": "(^|\\/|\\\\)_"
9+
"include": ["src"]
1110
},
1211
"sourceType": "module",
1312
"tags": {
1413
"allowUnknownTags": true,
15-
"dictionaries": ["jsdoc","closure"]
14+
"dictionaries": ["jsdoc", "closure"]
1615
},
1716
"templates": {
1817
"cleverLinks": false,
@@ -24,4 +23,4 @@
2423
"recurse": true,
2524
"template": "./node_modules/@playcanvas/jsdoc-template"
2625
}
27-
}
26+
}

examples/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# generate this file: npm run build:example:data
2+
example-data.mjs

0 commit comments

Comments
 (0)