Skip to content

Commit dd03e55

Browse files
committed
Update three-server
1 parent b0088d8 commit dd03e55

File tree

4 files changed

+91
-52
lines changed

4 files changed

+91
-52
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,6 @@ dmypy.json
127127

128128
# Pyre type checker
129129
.pyre/
130+
131+
node_modules/
132+
three.js/

three-server/index.js

+73-37
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ function standardMaterial(call, callback) {
4343
(async () => {
4444
const browser = await puppeteer.launch();
4545
const page = await browser.newPage();
46-
await page.addScriptTag({path: '../three.js/build/three.min.js'});
46+
await page.addScriptTag({path: './three.js/build/three.min.js'});
4747
const puppetResponse = await page.evaluate(() => {
4848
const scene = new THREE.Scene();
4949
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
@@ -79,7 +79,7 @@ function phongMaterial(call, callback) {
7979
(async () => {
8080
const browser = await puppeteer.launch();
8181
const page = await browser.newPage();
82-
await page.addScriptTag({path: '../three.js/build/three.min.js'});
82+
await page.addScriptTag({path: './three.js/build/three.min.js'});
8383
const puppetResponse = await page.evaluate(() => {
8484
const scene = new THREE.Scene();
8585
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
@@ -115,7 +115,7 @@ function basicMaterial(call, callback) {
115115
(async () => {
116116
const browser = await puppeteer.launch();
117117
const page = await browser.newPage();
118-
await page.addScriptTag({path: '../three.js/build/three.min.js'});
118+
await page.addScriptTag({path: './three.js/build/three.min.js'});
119119
const puppetResponse = await page.evaluate(() => {
120120
const scene = new THREE.Scene();
121121
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
@@ -124,7 +124,7 @@ function basicMaterial(call, callback) {
124124
document.body.appendChild(renderer.domElement);
125125

126126
const geometry = new THREE.BoxGeometry(1, 1, 1);
127-
const material = new THREE.MeshStandardMaterial({});
127+
const material = new THREE.MeshBasicMaterial({});
128128
const object = new THREE.Mesh(geometry, material);
129129
scene.add(object);
130130

@@ -148,30 +148,48 @@ function basicMaterial(call, callback) {
148148
}
149149

150150
function icosahedronGeometry(call, callback) {
151-
const geometry = new THREE.IcosahedronGeometry(
152-
call.request.raius || 1,
153-
call.request.detail || 0,
154-
);
155-
callback(null, serializeGeometry(geometry, wireframe=call.request.wireframe));
151+
(async () => {
152+
const browser = await puppeteer.launch();
153+
const page = await browser.newPage();
154+
await page.addScriptTag({path: './three.js/build/three.min.js'});
155+
const puppetResponse = await page.evaluate((call) => {
156+
const geometry = new THREE.IcosahedronGeometry(
157+
call.request.raius || 1,
158+
call.request.detail || 0,
159+
);
160+
return { geometry };
161+
}, call);
162+
callback(null, serializePuppetGeometry(puppetResponse.geometry));
163+
await browser.close();
164+
})();
156165
}
157166

158167
function torusKnotGeometry(call, callback) {
159-
const geometry = new THREE.TorusKnotGeometry(
160-
call.request.torus_radius || 1,
161-
call.request.tube_radius || 0.4,
162-
call.request.tubular_segments || 64,
163-
call.request.radial_segments || 8,
164-
call.request.p || 2,
165-
call.request.q || 3,
166-
);
167-
callback(null, serializeGeometry(geometry, wireframe=call.request.wireframe));
168+
(async () => {
169+
const browser = await puppeteer.launch();
170+
const page = await browser.newPage();
171+
await page.addScriptTag({path: './three.js/build/three.min.js'});
172+
const puppetResponse = await page.evaluate((call) => {
173+
const geometry = new THREE.TorusKnotGeometry(
174+
call.request.torus_radius || 1,
175+
call.request.tube_radius || 0.4,
176+
call.request.tubular_segments || 64,
177+
call.request.radial_segments || 8,
178+
call.request.p || 2,
179+
call.request.q || 3,
180+
);
181+
return { geometry };
182+
}, call);
183+
callback(null, serializePuppetGeometry(puppetResponse.geometry));
184+
await browser.close();
185+
})();
168186
}
169187

170188
function boxGeometry(call, callback) {
171189
(async () => {
172190
const browser = await puppeteer.launch();
173191
const page = await browser.newPage();
174-
await page.addScriptTag({path: '../three.js/build/three.min.js'});
192+
await page.addScriptTag({path: './three.js/build/three.min.js'});
175193
const puppetResponse = await page.evaluate((call) => {
176194
const geometry = new THREE.BoxGeometry(
177195
call.request.width || 1,
@@ -192,7 +210,7 @@ function sphereGeometry(call, callback) {
192210
(async () => {
193211
const browser = await puppeteer.launch();
194212
const page = await browser.newPage();
195-
await page.addScriptTag({path: '../three.js/build/three.min.js'});
213+
await page.addScriptTag({path: './three.js/build/three.min.js'});
196214
const puppetResponse = await page.evaluate((call) => {
197215
const geometry = new THREE.SphereGeometry(
198216
call.request.radius || 1,
@@ -211,25 +229,43 @@ function sphereGeometry(call, callback) {
211229
}
212230

213231
function tetrahedronGeometry(call, callback) {
214-
const geometry = new THREE.TetrahedronGeometry(
215-
call.request.radius || 1,
216-
call.request.detail || 0,
217-
);
218-
callback(null, serializeGeometry(geometry, wireframe=call.request.wireframe));
232+
(async () => {
233+
const browser = await puppeteer.launch();
234+
const page = await browser.newPage();
235+
await page.addScriptTag({path: './three.js/build/three.min.js'});
236+
const puppetResponse = await page.evaluate((call) => {
237+
const geometry = new THREE.TetrahedronGeometry(
238+
call.request.radius || 1,
239+
call.request.detail || 0,
240+
);
241+
return { geometry };
242+
}, call);
243+
callback(null, serializePuppetGeometry(puppetResponse.geometry));
244+
await browser.close();
245+
})();
219246
}
220247

221248
function cylinderGeometry(call, callback) {
222-
const geometry = new THREE.CylinderGeometry(
223-
call.request.radius_top || 1,
224-
call.request.radius_bottom || 1,
225-
call.request.height || 1,
226-
call.request.radial_segments || 8,
227-
call.request.height_segments || 1,
228-
call.request.open_ended || false,
229-
call.request.theta_start || 0,
230-
call.request.theta_length || 2 * Math.PI,
231-
);
232-
callback(null, serializeGeometry(geometry, wireframe=call.request.wireframe));
249+
(async () => {
250+
const browser = await puppeteer.launch();
251+
const page = await browser.newPage();
252+
await page.addScriptTag({path: './three.js/build/three.min.js'});
253+
const puppetResponse = await page.evaluate((call) => {
254+
const geometry = new THREE.CylinderGeometry(
255+
call.request.radius_top || 1,
256+
call.request.radius_bottom || 1,
257+
call.request.height || 1,
258+
call.request.radial_segments || 8,
259+
call.request.height_segments || 1,
260+
call.request.open_ended || false,
261+
call.request.theta_start || 0,
262+
call.request.theta_length || 2 * Math.PI,
263+
);
264+
return { geometry };
265+
}, call);
266+
callback(null, serializePuppetGeometry(puppetResponse.geometry));
267+
await browser.close();
268+
})();
233269
}
234270

235271
function coneGeometry(call, callback) {
@@ -269,7 +305,7 @@ function extrudeGeometry(call, callback) {
269305
(async () => {
270306
const browser = await puppeteer.launch();
271307
const page = await browser.newPage();
272-
await page.addScriptTag({path: '../three.js/build/three.min.js'});
308+
await page.addScriptTag({path: './three.js/build/three.min.js'});
273309
const puppetResponse = await page.evaluate((call) => {
274310
let points = call.request.points;
275311
let pathIndices = call.request.path_indices;

three-server/package-lock.json

+13-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

three-server/package.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
"description": "",
55
"main": "index.js",
66
"scripts": {
7-
"test": "echo \"Error: no test specified\" && exit 1",
8-
"preinstall": "npx npm-force-resolutions"
7+
"test": "echo \"Error: no test specified\" && exit 1"
98
},
109
"author": "",
1110
"license": "ISC",
1211
"dependencies": {
1312
"@grpc/grpc-js": "^1.3.0",
1413
"@grpc/proto-loader": "^0.6.1",
1514
"puppeteer": "^10.2.0",
16-
"three": "file:../three.js"
15+
"three": "file:./three.js"
1716
}
1817
}

0 commit comments

Comments
 (0)