Skip to content

Commit 681a6df

Browse files
committed
format
1 parent f88c398 commit 681a6df

21 files changed

+276
-190
lines changed

.prettierignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/old examples

e2e/core/core.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import assert from 'assert'
2-
import { Vector3 } from 'three'
32
import { EtherealEngineBot } from 'ee-bot/src/bot/bot-class'
43
import { BotHooks } from 'ee-bot/src/enums/BotHooks'
4+
import { Vector3 } from 'three'
55

66
import { UserId } from '@etherealengine/common/src/interfaces/UserId'
77
import { delay } from '@etherealengine/engine/src/common/functions/delay'

e2e/editor/editorScene.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ describe('Editor Scene Tests', () => {
3535
// assert scene has loaded
3636
await bot.awaitHookPromise(BotHooks.SceneLoaded)
3737

38-
const serializedEngine = JSON.parse(await bot.runHook(BotHooks.SerializeEngine))// as Engine
38+
const serializedEngine = JSON.parse(await bot.runHook(BotHooks.SerializeEngine)) // as Engine
3939
const engineState = serializedEngine.store.stateMap['engine'] as any as typeof EngineState._TYPE
4040
assert.equal(serializedEngine.isEditor, true)
4141
assert.equal(engineState.sceneLoaded, true)

examples/BPCEM.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ import React from 'react'
33
import { Template } from './utils/template'
44

55
export default function BPCEM() {
6-
76
return (
87
<div id="dnd-container" style={{ height: '25%', width: '25%', pointerEvents: 'all' }}>
9-
<Template projectName={'ee-development-test-suite' }sceneName={'bpcem-envmap-bake-test'} />
8+
<Template projectName={'ee-development-test-suite'} sceneName={'bpcem-envmap-bake-test'} />
109
</div>
1110
)
1211
}

examples/LODs.tsx

+32-24
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
1-
import React, { } from 'react'
1+
import React from 'react'
22
import { useDrop } from 'react-dnd'
3+
import { Vector3 } from 'three'
4+
5+
import { uploadToFeathersService } from '@etherealengine/client-core/src/util/upload'
6+
import { StaticResourceInterface } from '@etherealengine/common/src/interfaces/StaticResourceInterface'
7+
import { AdminAssetUploadArgumentsType } from '@etherealengine/common/src/interfaces/UploadAssetInterface'
38
import { DndWrapper } from '@etherealengine/editor/src/components/dnd/DndWrapper'
49
import { SupportedFileTypes } from '@etherealengine/editor/src/constants/AssetTypes'
5-
import { Template } from './utils/template'
6-
import { useHookstate } from '@etherealengine/hyperflux'
7-
import { uploadToFeathersService } from '@etherealengine/client-core/src/util/upload'
10+
import {
11+
getComponent,
12+
getMutableComponent,
13+
setComponent
14+
} from '@etherealengine/engine/src/ecs/functions/ComponentFunctions'
815
import { createEntity } from '@etherealengine/engine/src/ecs/functions/EntityFunctions'
9-
import { getComponent, getMutableComponent, setComponent } from '@etherealengine/engine/src/ecs/functions/ComponentFunctions'
10-
import { TransformComponent } from '@etherealengine/engine/src/transform/components/TransformComponent'
11-
import { Vector3 } from 'three'
12-
import { VisibleComponent } from '@etherealengine/engine/src/scene/components/VisibleComponent'
16+
import { ModelComponent } from '@etherealengine/engine/src/scene/components/ModelComponent'
1317
import { NameComponent } from '@etherealengine/engine/src/scene/components/NameComponent'
1418
import { VariantComponent } from '@etherealengine/engine/src/scene/components/VariantComponent'
15-
import { ModelComponent } from '@etherealengine/engine/src/scene/components/ModelComponent'
16-
import { AdminAssetUploadArgumentsType } from '@etherealengine/common/src/interfaces/UploadAssetInterface'
17-
import { StaticResourceInterface } from '@etherealengine/common/src/interfaces/StaticResourceInterface'
19+
import { VisibleComponent } from '@etherealengine/engine/src/scene/components/VisibleComponent'
20+
import { TransformComponent } from '@etherealengine/engine/src/transform/components/TransformComponent'
21+
import { useHookstate } from '@etherealengine/hyperflux'
22+
23+
import { Template } from './utils/template'
1824

1925
const LODsDND = () => {
2026
const filenames = useHookstate<string[]>([])
@@ -26,20 +32,20 @@ const LODsDND = () => {
2632
const dndItem = monitor.getItem()
2733
const entries = Array.from(dndItem.items).map((item: any) => item.webkitGetAsEntry())
2834
try {
29-
const files = await Promise.all(
35+
const files = (await Promise.all(
3036
entries.map((entry) => new Promise((resolve, reject) => entry.file(resolve, reject)))
31-
) as File[]
37+
)) as File[]
3238
filenames.set(files.map((file) => file.name))
3339

3440
const uploadPromise = uploadToFeathersService('upload-asset', files, {
3541
type: 'admin-file-upload',
3642
args: {
37-
project: 'ee-development-test-suite',
43+
project: 'ee-development-test-suite'
3844
} as AdminAssetUploadArgumentsType,
3945
variants: true
4046
})
4147

42-
const result = await uploadPromise.promise as StaticResourceInterface[]
48+
const result = (await uploadPromise.promise) as StaticResourceInterface[]
4349

4450
console.log(result)
4551

@@ -49,7 +55,7 @@ const LODsDND = () => {
4955
setComponent(entity, NameComponent, 'LOD Test')
5056

5157
setComponent(entity, ModelComponent, {
52-
src: result[0].url,
58+
src: result[0].url
5359
})
5460
setComponent(entity, VariantComponent, {
5561
levels: result.map((variant, i) => ({
@@ -58,13 +64,12 @@ const LODsDND = () => {
5864
src: variant.url,
5965
model: null,
6066
metadata: variant.metadata ?? {
61-
minDistance: 0 + (i * 5),
62-
maxDistance: 0 + ((i + 1) * 5),
67+
minDistance: 0 + i * 5,
68+
maxDistance: 0 + (i + 1) * 5
6369
}
6470
})),
6571
heuristic: 'DISTANCE'
6672
})
67-
6873
} catch (err) {
6974
console.error(err)
7075
}
@@ -78,14 +83,17 @@ const LODsDND = () => {
7883
})
7984
})
8085

81-
return <div style={{ height: '100%', width: '100%', background: 'white', fontSize: '20px' }} ref={onDropTarget}>
82-
Drag and drop LOD files here!
83-
{filenames.value.map((filename, i) => <div key={filename + i}> - {filename}</div>)}
84-
</div>
86+
return (
87+
<div style={{ height: '100%', width: '100%', background: 'white', fontSize: '20px' }} ref={onDropTarget}>
88+
Drag and drop LOD files here!
89+
{filenames.value.map((filename, i) => (
90+
<div key={filename + i}> - {filename}</div>
91+
))}
92+
</div>
93+
)
8594
}
8695

8796
export default function LODs() {
88-
8997
return (
9098
<div id="dnd-container" style={{ height: '25%', width: '25%', pointerEvents: 'all' }}>
9199
<DndWrapper id="dnd-container">

examples/Retargeting.tsx

+28-15
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,9 @@ const RetargetingDND = () => {
146146
rootBone.traverse((bone: Bone) => {
147147
boneNames.push(bone.name)
148148
})
149-
const file = new File([JSON.stringify(boneNames, null, 2)], fileNameWithoutExtension + '.json', { type: 'application/json' })
149+
const file = new File([JSON.stringify(boneNames, null, 2)], fileNameWithoutExtension + '.json', {
150+
type: 'application/json'
151+
})
150152
const blobUrl = URL.createObjectURL(file)
151153
const link = document.createElement('a')
152154
link.href = blobUrl
@@ -218,7 +220,6 @@ const RetargetingDND = () => {
218220
Engine.instance.scene.add(helper)
219221

220222
clone.traverse((bone: Bone) => {
221-
222223
/** bones are oriented to the average position direction of their children from their position */
223224
const childAveragePosition = bone.children
224225
.reduce((acc, child) => {
@@ -347,15 +348,19 @@ const RetargetingDND = () => {
347348
value={boneName.value}
348349
onChange={changeBoneName}
349350
/>{' '}
350-
{mouseOver.value ? nextUnmatchedBoneName ? (
351-
<button style={{ color: 'lightblue' }} onClick={boneMatch}>
352-
- Make {nextUnmatchedBoneName}
353-
</button>
351+
{mouseOver.value ? (
352+
nextUnmatchedBoneName ? (
353+
<button style={{ color: 'lightblue' }} onClick={boneMatch}>
354+
- Make {nextUnmatchedBoneName}
355+
</button>
356+
) : (
357+
<button style={{ color: 'red' }} onClick={clear}>
358+
Clear
359+
</button>
360+
)
354361
) : (
355-
<button style={{ color: 'red' }} onClick={clear}>
356-
Clear
357-
</button>
358-
) : <></>}
362+
<></>
363+
)}
359364
</div>
360365
<div key={bone.uuid} style={{ paddingLeft: '5px' }}>
361366
{bone.children.map((child: Bone) => (
@@ -377,10 +382,18 @@ const RetargetingDND = () => {
377382

378383
return (
379384
<div style={{ fontSize: '16px' }}>
380-
{!assetScene && <>
381-
<div>Asset<input type="file" name="avatarFile" accept={AVATAR_FILE_ALLOWED_EXTENSIONS} onChange={handleChangeFile} /></div>
382-
<div>JSON Name Map<input type="file" name="jsonFile" accept={'.json'} onChange={onLoadNameMap} /></div>
383-
</>}
385+
{!assetScene && (
386+
<>
387+
<div>
388+
Asset
389+
<input type="file" name="avatarFile" accept={AVATAR_FILE_ALLOWED_EXTENSIONS} onChange={handleChangeFile} />
390+
</div>
391+
<div>
392+
JSON Name Map
393+
<input type="file" name="jsonFile" accept={'.json'} onChange={onLoadNameMap} />
394+
</div>
395+
</>
396+
)}
384397
{assetScene && (
385398
<>
386399
{nextUnmatchedBoneName && (
@@ -393,7 +406,7 @@ const RetargetingDND = () => {
393406
{
394407
<div>
395408
<button className="outline outline-1" onClick={onTryRigging}>
396-
{rigTestEntity.value ? "Remove Rig" : "Try Rig"}
409+
{rigTestEntity.value ? 'Remove Rig' : 'Try Rig'}
397410
</button>
398411
</div>
399412
}

examples/XRLightEstimation.tsx

+16-11
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
11
import React, { useEffect, useState } from 'react'
2+
import { Mesh, MeshBasicMaterial, MeshNormalMaterial, MeshStandardMaterial, SphereGeometry } from 'three'
23

3-
import { EngineState } from '@etherealengine/engine/src/ecs/classes/EngineState'
4+
import { MediaIconsBox } from '@etherealengine/client-core/src/components/MediaIconsBox'
45
import NumericInput from '@etherealengine/editor/src/components/inputs/NumericInput'
6+
import { Engine } from '@etherealengine/engine/src/ecs/classes/Engine'
7+
import { EngineState } from '@etherealengine/engine/src/ecs/classes/EngineState'
58
import { Entity } from '@etherealengine/engine/src/ecs/classes/Entity'
9+
import {
10+
removeComponent,
11+
setComponent,
12+
useComponent
13+
} from '@etherealengine/engine/src/ecs/functions/ComponentFunctions'
614
import { createEntity, removeEntity, useEntityContext } from '@etherealengine/engine/src/ecs/functions/EntityFunctions'
7-
import { createPhysicsObjects } from './utils/loadPhysicsHelpers'
8-
import { Template } from './utils/template'
9-
import { getMutableState, useHookstate } from '@etherealengine/hyperflux'
1015
import { QueryReactor } from '@etherealengine/engine/src/ecs/functions/SystemFunctions'
11-
import { XRPlaneComponent } from '@etherealengine/engine/src/xr/XRComponents'
12-
import { Mesh, MeshBasicMaterial, MeshNormalMaterial, MeshStandardMaterial, SphereGeometry } from 'three'
1316
import { addObjectToGroup, removeObjectFromGroup } from '@etherealengine/engine/src/scene/components/GroupComponent'
14-
import { removeComponent, setComponent, useComponent } from '@etherealengine/engine/src/ecs/functions/ComponentFunctions'
15-
import { MediaIconsBox } from '@etherealengine/client-core/src/components/MediaIconsBox'
16-
import { VisibleComponent } from '@etherealengine/engine/src/scene/components/VisibleComponent'
1717
import { NameComponent } from '@etherealengine/engine/src/scene/components/NameComponent'
18-
import { XRState } from '@etherealengine/engine/src/xr/XRState'
19-
import { Engine } from '@etherealengine/engine/src/ecs/classes/Engine'
18+
import { VisibleComponent } from '@etherealengine/engine/src/scene/components/VisibleComponent'
19+
import { XRPlaneComponent } from '@etherealengine/engine/src/xr/XRComponents'
2020
import { XRLightProbeState } from '@etherealengine/engine/src/xr/XRLightProbeSystem'
21+
import { XRState } from '@etherealengine/engine/src/xr/XRState'
22+
import { getMutableState, useHookstate } from '@etherealengine/hyperflux'
23+
24+
import { createPhysicsObjects } from './utils/loadPhysicsHelpers'
25+
import { Template } from './utils/template'
2126

2227
const LightProbe = () => {
2328
const xrLightProbeState = useHookstate(getMutableState(XRLightProbeState).environment)

examples/XRPlanes.tsx

+15-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
import React, { useEffect } from 'react'
2+
import { Mesh, MeshBasicMaterial, MeshNormalMaterial } from 'three'
23

4+
import { MediaIconsBox } from '@etherealengine/client-core/src/components/MediaIconsBox'
5+
import {
6+
removeComponent,
7+
setComponent,
8+
useComponent
9+
} from '@etherealengine/engine/src/ecs/functions/ComponentFunctions'
310
import { useEntityContext } from '@etherealengine/engine/src/ecs/functions/EntityFunctions'
4-
import { Template } from './utils/template'
511
import { QueryReactor } from '@etherealengine/engine/src/ecs/functions/SystemFunctions'
6-
import { XRPlaneComponent } from '@etherealengine/engine/src/xr/XRComponents'
7-
import { Mesh, MeshBasicMaterial, MeshNormalMaterial } from 'three'
812
import { addObjectToGroup, removeObjectFromGroup } from '@etherealengine/engine/src/scene/components/GroupComponent'
9-
import { removeComponent, setComponent, useComponent } from '@etherealengine/engine/src/ecs/functions/ComponentFunctions'
10-
import { MediaIconsBox } from '@etherealengine/client-core/src/components/MediaIconsBox'
11-
import { VisibleComponent } from '@etherealengine/engine/src/scene/components/VisibleComponent'
1213
import { NameComponent } from '@etherealengine/engine/src/scene/components/NameComponent'
14+
import { VisibleComponent } from '@etherealengine/engine/src/scene/components/VisibleComponent'
15+
import { XRPlaneComponent } from '@etherealengine/engine/src/xr/XRComponents'
16+
17+
import { Template } from './utils/template'
1318

1419
const DetectedPlanes = () => {
1520
const entity = useEntityContext()
@@ -19,7 +24,10 @@ const DetectedPlanes = () => {
1924
useEffect(() => {
2025
if (!xrPlane.geometry.value) return
2126
const outlineMesh = new Mesh(xrPlane.geometry.value, new MeshBasicMaterial({ wireframe: true }))
22-
const transparentMesh = new Mesh(xrPlane.geometry.value, new MeshNormalMaterial({ opacity: 0.5, transparent: true }))
27+
const transparentMesh = new Mesh(
28+
xrPlane.geometry.value,
29+
new MeshNormalMaterial({ opacity: 0.5, transparent: true })
30+
)
2331
addObjectToGroup(entity, outlineMesh)
2432
addObjectToGroup(entity, transparentMesh)
2533
setComponent(entity, VisibleComponent)

examples/avatarBenchmark.tsx

+46-16
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
11
import React, { useEffect, useState } from 'react'
22

3-
import { EngineState } from '@etherealengine/engine/src/ecs/classes/EngineState'
4-
import { dispatchAction, getMutableState, useHookstate } from '@etherealengine/hyperflux'
53
import { AvatarState } from '@etherealengine/client-core/src/user/services/AvatarService'
6-
import { SelectInput } from '@etherealengine/editor/src/components/inputs/SelectInput'
4+
import { EntityUUID } from '@etherealengine/common/src/interfaces/EntityUUID'
5+
import { UserId } from '@etherealengine/common/src/interfaces/UserId'
76
import NumericInput from '@etherealengine/editor/src/components/inputs/NumericInput'
7+
import { SelectInput } from '@etherealengine/editor/src/components/inputs/SelectInput'
8+
import {
9+
xrTargetHeadSuffix,
10+
xrTargetLeftHandSuffix,
11+
xrTargetRightHandSuffix
12+
} from '@etherealengine/engine/src/avatar/components/AvatarIKComponents'
13+
import { Engine } from '@etherealengine/engine/src/ecs/classes/Engine'
14+
import { EngineState } from '@etherealengine/engine/src/ecs/classes/EngineState'
815
import { removeEntity } from '@etherealengine/engine/src/ecs/functions/EntityFunctions'
16+
import { XRAction } from '@etherealengine/engine/src/xr/XRState'
17+
import { dispatchAction, getMutableState, useHookstate } from '@etherealengine/hyperflux'
18+
919
import { loadNetworkAvatar } from './utils/loadAvatarHelpers'
10-
import { Engine } from '@etherealengine/engine/src/ecs/classes/Engine'
11-
import { UserId } from '@etherealengine/common/src/interfaces/UserId'
1220
import { useSimulateMovement } from './utils/simulateMovement'
1321
import { Template } from './utils/template'
14-
import { XRAction } from '@etherealengine/engine/src/xr/XRState'
15-
import { xrTargetHeadSuffix, xrTargetLeftHandSuffix, xrTargetRightHandSuffix } from '@etherealengine/engine/src/avatar/components/AvatarIKComponents'
16-
import { EntityUUID } from '@etherealengine/common/src/interfaces/EntityUUID'
1722

1823
// let entities = [] as Entity[]
1924
// let entitiesLength = 0
@@ -62,23 +67,48 @@ export default function AvatarBenchmarking() {
6267

6368
useEffect(() => {
6469
if (!avatar || !engineState.connectedWorld.value) return
65-
for (let i = 0; i < entities; i++) removeEntity(Engine.instance.getUserAvatarEntity('user' + i as UserId))
70+
for (let i = 0; i < entities; i++) removeEntity(Engine.instance.getUserAvatarEntity(('user' + i) as UserId))
6671
setEntities(count)
6772
for (let i = 0; i < count; i++) {
68-
const userId = loadNetworkAvatar(avatars.avatarList.value.find(val => val.id === avatar)!, i)
69-
dispatchAction({ ...XRAction.spawnIKTarget({ handedness: 'none', entityUUID: userId + xrTargetHeadSuffix as EntityUUID }), $from: userId, })
70-
dispatchAction({ ...XRAction.spawnIKTarget({ handedness: 'left', entityUUID: userId + xrTargetLeftHandSuffix as EntityUUID }), $from: userId, })
71-
dispatchAction({ ...XRAction.spawnIKTarget({ handedness: 'right', entityUUID: userId + xrTargetRightHandSuffix as EntityUUID }), $from: userId, })
73+
const userId = loadNetworkAvatar(avatars.avatarList.value.find((val) => val.id === avatar)!, i)
74+
dispatchAction({
75+
...XRAction.spawnIKTarget({ handedness: 'none', entityUUID: (userId + xrTargetHeadSuffix) as EntityUUID }),
76+
$from: userId
77+
})
78+
dispatchAction({
79+
...XRAction.spawnIKTarget({ handedness: 'left', entityUUID: (userId + xrTargetLeftHandSuffix) as EntityUUID }),
80+
$from: userId
81+
})
82+
dispatchAction({
83+
...XRAction.spawnIKTarget({
84+
handedness: 'right',
85+
entityUUID: (userId + xrTargetRightHandSuffix) as EntityUUID
86+
}),
87+
$from: userId
88+
})
7289
}
7390
}, [count, avatar, engineState.connectedWorld])
7491

7592
return (
7693
<>
7794
<Template />
78-
<div style={{ width: '50%', display: 'flex', flexDirection: 'column', margin: 'auto', paddingTop: '100px', pointerEvents: 'all' }}>
79-
<SelectInput options={avatars.avatarList.value.map(val => ({ value: val.id, label: val.name }))} onChange={setAvatar} value={avatar} />
95+
<div
96+
style={{
97+
width: '50%',
98+
display: 'flex',
99+
flexDirection: 'column',
100+
margin: 'auto',
101+
paddingTop: '100px',
102+
pointerEvents: 'all'
103+
}}
104+
>
105+
<SelectInput
106+
options={avatars.avatarList.value.map((val) => ({ value: val.id, label: val.name }))}
107+
onChange={setAvatar}
108+
value={avatar}
109+
/>
80110
<NumericInput onChange={setCount} value={count} />
81111
</div>
82112
</>
83113
)
84-
}
114+
}

0 commit comments

Comments
 (0)