diff --git a/eslint.config.mjs b/eslint.config.mjs index 9e97d849..1adfc408 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -10,6 +10,7 @@ export default tseslint.config( 'sandbox', 'scripts', 'playground', + 'Excalibur.nuspec', 'docs/api/**', '**/karma.conf.*', '**/webpack.config.js', @@ -175,7 +176,7 @@ export default tseslint.config( }, // lax ruleset for tests and stories { - files: ['**/*Spec*', '**/*.stories*'], + files: ['**/*spec*', '**/*.stories*'], rules: { '@typescript-eslint/no-floating-promises': 'off', '@typescript-eslint/await-thenable': 'off' diff --git a/karma.conf.browsers.js b/karma.conf.browsers.js index 45dfd36c..a548779f 100644 --- a/karma.conf.browsers.js +++ b/karma.conf.browsers.js @@ -33,7 +33,7 @@ module.exports = (config) => { }, files: [ 'build/dist/excalibur.js', - 'src/spec/karma/BrowserSupportSpec.ts', + 'src/spec/karma/browser-support-spec.ts', ], mime: { 'text/x-typescript': ['ts', 'tsx'] }, preprocessors: { diff --git a/src/engine/Actions/index.ts b/src/engine/Actions/index.ts deleted file mode 100644 index b518edc8..00000000 --- a/src/engine/Actions/index.ts +++ /dev/null @@ -1,28 +0,0 @@ -export * from './ActionContext'; -export * from './ActionQueue'; -export type * from './Actionable'; - -export * from './Action'; -export * from './Action/ActionSequence'; -export * from './Action/ParallelActions'; -export * from './Action/Repeat'; -export * from './Action/RepeatForever'; -export * from './Action/Blink'; -export * from './Action/Die'; -export * from './Action/EaseTo'; -export * from './Action/EaseBy'; -export * from './Action/Fade'; -export * from './Action/Follow'; -export * from './Action/Meet'; -export * from './Action/MoveBy'; -export * from './Action/MoveTo'; -export * from './Action/RotateBy'; -export * from './Action/RotateTo'; -export * from './Action/ScaleBy'; -export * from './Action/ScaleTo'; -export * from './Action/Delay'; -export * from './Action/Flash'; -export * from './Action/CurveTo'; -export * from './Action/CurveBy'; -export * from './ActionsComponent'; -export * from './ActionsSystem'; diff --git a/src/engine/Collision/Index.ts b/src/engine/Collision/Index.ts deleted file mode 100644 index eda1430f..00000000 --- a/src/engine/Collision/Index.ts +++ /dev/null @@ -1,45 +0,0 @@ -export * from './BodyComponent'; -export * from './ColliderComponent'; -export * from './CollisionType'; -export * from './SolverStrategy'; - -export * from './Colliders/Collider'; -export * from './BoundingBox'; - -export * from './Colliders/Shape'; -export * from './Colliders/Collider'; -export * from './Colliders/CompositeCollider'; -export * from './Colliders/CircleCollider'; -export * from './Colliders/EdgeCollider'; -export * from './Colliders/PolygonCollider'; -export * from './Colliders/CollisionJumpTable'; -export * from './Colliders/ClosestLineJumpTable'; -export * from './Colliders/SeparatingAxis'; - -export * from './Group/CollisionGroup'; -export * from './Group/CollisionGroupManager'; - -export * from './Detection/Pair'; -export * from './Detection/CollisionContact'; -export type * from './Detection/RayCastHit'; -export type * from './Detection/RayCastOptions'; -export type * from './Detection/CollisionProcessor'; -export * from './Detection/DynamicTree'; -export * from './Detection/DynamicTreeCollisionProcessor'; -export * from './Detection/SparseHashGridCollisionProcessor'; -export * from './Detection/SparseHashGrid'; -export * from './Detection/SpatialPartitionStrategy'; -export * from './Detection/QuadTree'; - -export * from './Solver/ArcadeSolver'; -export * from './Solver/ContactBias'; -export * from './Solver/ContactConstraintPoint'; -export * from './Solver/RealisticSolver'; -export type * from './Solver/Solver'; - -export * from './CollisionSystem'; -export * from './MotionSystem'; - -export * from './PhysicsWorld'; -export * from './PhysicsConfig'; -export * from './Side'; diff --git a/src/engine/Debug/index.ts b/src/engine/Debug/index.ts deleted file mode 100644 index fa4a1ec2..00000000 --- a/src/engine/Debug/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './DebugConfig'; -export * from './DebugFlags'; -export * from './DebugSystem'; diff --git a/src/engine/Director/index.ts b/src/engine/Director/index.ts deleted file mode 100644 index 23763cda..00000000 --- a/src/engine/Director/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './Transition'; -export * from './FadeInOut'; -export * from './CrossFade'; -export * from './Slide'; -export * from './Director'; -export * from './Loader'; -export * from './DefaultLoader'; diff --git a/src/engine/EntityComponentSystem/index.ts b/src/engine/EntityComponentSystem/index.ts deleted file mode 100644 index a46bd721..00000000 --- a/src/engine/EntityComponentSystem/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export * from './Component'; -export * from './Entity'; -export * from './EntityManager'; -export * from './Query'; -export * from './TagQuery'; -export * from './QueryManager'; -export * from './System'; -export * from './SystemManager'; -export * from './World'; -export type * from './Types'; -export * from './Priority'; - -export * from './Components/TransformComponent'; -export * from './Components/MotionComponent'; diff --git a/src/engine/Graphics/index.ts b/src/engine/Graphics/index.ts deleted file mode 100644 index d743341e..00000000 --- a/src/engine/Graphics/index.ts +++ /dev/null @@ -1,66 +0,0 @@ -// Graphics -export * from './Graphic'; -export * from './Sprite'; -export * from './SpriteSheet'; -export * from './GraphicsGroup'; -export * from './ImageSource'; -export * from './Animation'; -export * from './Line'; - -// Graphics ECS -export * from './GraphicsComponent'; -export * from './DebugGraphicsComponent'; -export * from './GraphicsSystem'; -export * from './OffscreenSystem'; -export * from './ParallaxComponent'; - -// Raster graphics -export * from './Raster'; -export * from './Circle'; -export * from './Rectangle'; -export * from './Polygon'; -export * from './Text'; -export * from './FontCommon'; -export * from './Font'; -export * from './FontCache'; -export * from './SpriteFont'; -export * from './Canvas'; -export * from './NineSlice'; -export * from './TiledSprite'; -export * from './TiledAnimation'; - -export * from './Context/ExcaliburGraphicsContext'; -export * from './Context/ExcaliburGraphicsContext2DCanvas'; -export * from './Context/ExcaliburGraphicsContextWebGL'; - -// TODO DELETEME -export * from './Context/particle-renderer/particle-renderer'; - -export * from './Context/debug-text'; - -// Post Processor -export type * from './PostProcessor/PostProcessor'; -export * from './PostProcessor/ScreenShader'; -export * from './PostProcessor/ColorBlindnessMode'; -export * from './PostProcessor/ColorBlindnessPostProcessor'; - -export * from './Context/texture-loader'; -export * from './Filtering'; -export * from './Wrapping'; - -// Rendering -export * from './Context/shader'; -export * from './Context/vertex-buffer'; -export * from './Context/uniform-buffer'; -export * from './Context/vertex-layout'; -export * from './Context/quad-index-buffer'; -export * from './Context/material'; -export type * from './Context/renderer'; - -// Debug -export * from './Debug'; - -// Util - -import * as webgl from './Context/webgl-util'; -export { webgl }; diff --git a/src/engine/Interfaces/Index.ts b/src/engine/Interfaces/Index.ts deleted file mode 100644 index 16aba072..00000000 --- a/src/engine/Interfaces/Index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type * from './Clonable'; -export type * from './Audio'; -export * from './AudioImplementation'; -export type * from './Evented'; -export type * from './Loadable'; -export * from './LifecycleEvents'; -export type * from './PointerEventHandlers'; diff --git a/src/engine/Particles/index.ts b/src/engine/Particles/index.ts deleted file mode 100644 index 4589cfee..00000000 --- a/src/engine/Particles/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './EmitterType'; -export * from './Particles'; -export * from './ParticleEmitter'; -export * from './GpuParticleEmitter'; -export * from './GpuParticleRenderer'; diff --git a/src/engine/Resources/Index.ts b/src/engine/Resources/Index.ts deleted file mode 100644 index a540a6d5..00000000 --- a/src/engine/Resources/Index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './Resource'; -export * from './Sound/Index'; -export * from './Gif'; -export * from './Font'; diff --git a/src/engine/Resources/Sound/Index.ts b/src/engine/Resources/Sound/Index.ts deleted file mode 100644 index 37cd0544..00000000 --- a/src/engine/Resources/Sound/Index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './Sound'; -export * from './SoundManager'; -export * from './AudioContext'; -export * from './WebAudioInstance'; diff --git a/src/engine/TileMap/index.ts b/src/engine/TileMap/index.ts deleted file mode 100644 index c1ce4f5f..00000000 --- a/src/engine/TileMap/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './TileMap'; -export * from './IsometricMap'; -export * from './IsometricEntityComponent'; -export * from './IsometricEntitySystem'; diff --git a/src/engine/Util/Index.ts b/src/engine/Util/Index.ts deleted file mode 100644 index 683e4a16..00000000 --- a/src/engine/Util/Index.ts +++ /dev/null @@ -1,10 +0,0 @@ -export * from './Util'; - -export * from './Log'; - -export * from './Observable'; - -export * from './EasingFunctions'; - -import * as drawUtil from './DrawUtil'; -export { drawUtil as DrawUtil }; diff --git a/src/engine/Actions/ActionContext.ts b/src/engine/actions/action-context.ts similarity index 92% rename from src/engine/Actions/ActionContext.ts rename to src/engine/actions/action-context.ts index da106551..2c1210b9 100644 --- a/src/engine/Actions/ActionContext.ts +++ b/src/engine/actions/action-context.ts @@ -1,39 +1,39 @@ -import type { EasingFunction } from '../Util/EasingFunctions'; -import { EasingFunctions } from '../Util/EasingFunctions'; -import { ActionQueue } from './ActionQueue'; -import { Repeat } from './Action/Repeat'; -import { RepeatForever } from './Action/RepeatForever'; -import type { MoveByOptions } from './Action/MoveBy'; -import { isMoveByOptions, MoveBy, MoveByWithOptions } from './Action/MoveBy'; -import type { MoveToOptions } from './Action/MoveTo'; -import { isMoveToOptions, MoveTo, MoveToWithOptions } from './Action/MoveTo'; -import type { RotateToOptions } from './Action/RotateTo'; -import { RotateTo, RotateToWithOptions } from './Action/RotateTo'; -import type { RotateByOptions } from './Action/RotateBy'; -import { RotateBy, RotateByWithOptions } from './Action/RotateBy'; -import type { ScaleToOptions } from './Action/ScaleTo'; -import { isScaleToOptions, ScaleTo, ScaleToWithOptions } from './Action/ScaleTo'; -import type { ScaleByOptions } from './Action/ScaleBy'; -import { isScaleByOptions, ScaleBy, ScaleByWithOptions } from './Action/ScaleBy'; -import { CallMethod } from './Action/CallMethod'; -import { EaseTo } from './Action/EaseTo'; -import { EaseBy } from './Action/EaseBy'; -import { Blink } from './Action/Blink'; -import { Fade } from './Action/Fade'; -import { Delay } from './Action/Delay'; -import { Die } from './Action/Die'; -import { Follow } from './Action/Follow'; -import { Meet } from './Action/Meet'; -import type { RotationType } from '../Math'; -import { Vector } from '../Math'; -import type { Entity } from '../EntityComponentSystem/Entity'; -import type { Action } from './Action'; -import type { Color } from '../Color'; -import { Flash } from './Action/Flash'; -import type { CurveToOptions } from './Action/CurveTo'; -import { CurveTo } from './Action/CurveTo'; -import type { CurveByOptions } from './Action/CurveBy'; -import { CurveBy } from './Action/CurveBy'; +import type { EasingFunction } from '../util/easing-functions'; +import { EasingFunctions } from '../util/easing-functions'; +import { ActionQueue } from './action-queue'; +import { Repeat } from './action/repeat'; +import { RepeatForever } from './action/repeat-forever'; +import type { MoveByOptions } from './action/move-by'; +import { isMoveByOptions, MoveBy, MoveByWithOptions } from './action/move-by'; +import type { MoveToOptions } from './action/move-to'; +import { isMoveToOptions, MoveTo, MoveToWithOptions } from './action/move-to'; +import type { RotateToOptions } from './action/rotate-to'; +import { RotateTo, RotateToWithOptions } from './action/rotate-to'; +import type { RotateByOptions } from './action/rotate-by'; +import { RotateBy, RotateByWithOptions } from './action/rotate-by'; +import type { ScaleToOptions } from './action/scale-to'; +import { isScaleToOptions, ScaleTo, ScaleToWithOptions } from './action/scale-to'; +import type { ScaleByOptions } from './action/scale-by'; +import { isScaleByOptions, ScaleBy, ScaleByWithOptions } from './action/scale-by'; +import { CallMethod } from './action/call-method'; +import { EaseTo } from './action/ease-to'; +import { EaseBy } from './action/ease-by'; +import { Blink } from './action/blink'; +import { Fade } from './action/fade'; +import { Delay } from './action/delay'; +import { Die } from './action/die'; +import { Follow } from './action/follow'; +import { Meet } from './action/meet'; +import type { RotationType } from '../math'; +import { Vector } from '../math'; +import type { Entity } from '../entity-component-system/entity'; +import type { Action } from './action'; +import type { Color } from '../color'; +import { Flash } from './action/flash'; +import type { CurveToOptions } from './action/curve-to'; +import { CurveTo } from './action/curve-to'; +import type { CurveByOptions } from './action/curve-by'; +import { CurveBy } from './action/curve-by'; /** * The fluent Action API allows you to perform "actions" on diff --git a/src/engine/Actions/ActionQueue.ts b/src/engine/actions/action-queue.ts similarity index 94% rename from src/engine/Actions/ActionQueue.ts rename to src/engine/actions/action-queue.ts index e2d8b738..e13c0cb6 100644 --- a/src/engine/Actions/ActionQueue.ts +++ b/src/engine/actions/action-queue.ts @@ -1,6 +1,6 @@ -import { ActionCompleteEvent, ActionStartEvent } from '../Events'; -import type { Entity } from '../EntityComponentSystem/Entity'; -import type { Action } from './Action'; +import { ActionCompleteEvent, ActionStartEvent } from '../events'; +import type { Entity } from '../entity-component-system/entity'; +import type { Action } from './action'; /** * Action Queues represent an ordered sequence of actions diff --git a/src/engine/Actions/Action.ts b/src/engine/actions/action.ts similarity index 83% rename from src/engine/Actions/Action.ts rename to src/engine/actions/action.ts index 154b1fcf..1586f071 100644 --- a/src/engine/Actions/Action.ts +++ b/src/engine/actions/action.ts @@ -1,4 +1,4 @@ -import type { Entity } from '../EntityComponentSystem/Entity'; +import type { Entity } from '../entity-component-system/entity'; /** * Used for implementing actions for the {@apilink ActionContext | `Action API`}. diff --git a/src/engine/Actions/Action/ActionSequence.ts b/src/engine/actions/action/action-sequence.ts similarity index 82% rename from src/engine/Actions/Action/ActionSequence.ts rename to src/engine/actions/action/action-sequence.ts index 522fe61b..ac14c8e0 100644 --- a/src/engine/Actions/Action/ActionSequence.ts +++ b/src/engine/actions/action/action-sequence.ts @@ -1,8 +1,8 @@ -import type { Entity } from '../../EntityComponentSystem'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; -import { ActionContext } from '../ActionContext'; -import type { ActionQueue } from '../ActionQueue'; +import type { Entity } from '../../entity-component-system'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; +import { ActionContext } from '../action-context'; +import type { ActionQueue } from '../action-queue'; /** * Action that can represent a sequence of actions, this can be useful in conjunction with diff --git a/src/engine/Actions/Action/Blink.ts b/src/engine/actions/action/blink.ts similarity index 88% rename from src/engine/Actions/Action/Blink.ts rename to src/engine/actions/action/blink.ts index 30257e52..266312e6 100644 --- a/src/engine/Actions/Action/Blink.ts +++ b/src/engine/actions/action/blink.ts @@ -1,7 +1,7 @@ -import { GraphicsComponent } from '../../Graphics/GraphicsComponent'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import { GraphicsComponent } from '../../graphics/graphics-component'; +import type { Entity } from '../../entity-component-system/entity'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export class Blink implements Action { id = nextActionId(); diff --git a/src/engine/Actions/Action/CallMethod.ts b/src/engine/actions/action/call-method.ts similarity index 85% rename from src/engine/Actions/Action/CallMethod.ts rename to src/engine/actions/action/call-method.ts index b099a8a6..1bb65cc5 100644 --- a/src/engine/Actions/Action/CallMethod.ts +++ b/src/engine/actions/action/call-method.ts @@ -1,5 +1,5 @@ -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export class CallMethod implements Action { id = nextActionId(); diff --git a/src/engine/Actions/Action/CurveBy.ts b/src/engine/actions/action/curve-by.ts similarity index 89% rename from src/engine/Actions/Action/CurveBy.ts rename to src/engine/actions/action/curve-by.ts index 1a119e7b..675bc3ff 100644 --- a/src/engine/Actions/Action/CurveBy.ts +++ b/src/engine/actions/action/curve-by.ts @@ -1,9 +1,9 @@ -import type { Entity } from '../../EntityComponentSystem'; -import { TransformComponent } from '../../EntityComponentSystem'; -import type { Vector } from '../../Math'; -import { BezierCurve, clamp, remap, vec } from '../../Math'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import type { Entity } from '../../entity-component-system'; +import { TransformComponent } from '../../entity-component-system'; +import type { Vector } from '../../math'; +import { BezierCurve, clamp, remap, vec } from '../../math'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export interface CurveByOptions { /** diff --git a/src/engine/Actions/Action/CurveTo.ts b/src/engine/actions/action/curve-to.ts similarity index 89% rename from src/engine/Actions/Action/CurveTo.ts rename to src/engine/actions/action/curve-to.ts index 7a6f8f51..26f91618 100644 --- a/src/engine/Actions/Action/CurveTo.ts +++ b/src/engine/actions/action/curve-to.ts @@ -1,9 +1,9 @@ -import type { Entity } from '../../EntityComponentSystem'; -import { TransformComponent } from '../../EntityComponentSystem'; -import type { Vector } from '../../Math'; -import { BezierCurve, clamp, remap, vec } from '../../Math'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import type { Entity } from '../../entity-component-system'; +import { TransformComponent } from '../../entity-component-system'; +import type { Vector } from '../../math'; +import { BezierCurve, clamp, remap, vec } from '../../math'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export interface CurveToOptions { /** diff --git a/src/engine/Actions/Action/Delay.ts b/src/engine/actions/action/delay.ts similarity index 88% rename from src/engine/Actions/Action/Delay.ts rename to src/engine/actions/action/delay.ts index 9da85f0f..03df9934 100644 --- a/src/engine/Actions/Action/Delay.ts +++ b/src/engine/actions/action/delay.ts @@ -1,5 +1,5 @@ -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export class Delay implements Action { id = nextActionId(); diff --git a/src/engine/Actions/Action/Die.ts b/src/engine/actions/action/die.ts similarity index 69% rename from src/engine/Actions/Action/Die.ts rename to src/engine/actions/action/die.ts index 15a3f3ee..b8450bb2 100644 --- a/src/engine/Actions/Action/Die.ts +++ b/src/engine/actions/action/die.ts @@ -1,7 +1,7 @@ -import type { Entity } from '../../EntityComponentSystem/Entity'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; -import { ActionsComponent } from '../ActionsComponent'; +import type { Entity } from '../../entity-component-system/entity'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; +import { ActionsComponent } from '../actions-component'; export class Die implements Action { id = nextActionId(); diff --git a/src/engine/Actions/Action/EaseBy.ts b/src/engine/actions/action/ease-by.ts similarity index 88% rename from src/engine/Actions/Action/EaseBy.ts rename to src/engine/actions/action/ease-by.ts index 098e38af..32971e12 100644 --- a/src/engine/Actions/Action/EaseBy.ts +++ b/src/engine/actions/action/ease-by.ts @@ -1,9 +1,9 @@ -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { vec, Vector } from '../../Math/vector'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import type { Entity } from '../../entity-component-system/entity'; +import { vec, Vector } from '../../math/vector'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; /** * @deprecated use moveBy({offset: Vector, duration: number, easing: EasingFunction}) diff --git a/src/engine/Actions/Action/EaseTo.ts b/src/engine/actions/action/ease-to.ts similarity index 87% rename from src/engine/Actions/Action/EaseTo.ts rename to src/engine/actions/action/ease-to.ts index 93d46818..ecf95d74 100644 --- a/src/engine/Actions/Action/EaseTo.ts +++ b/src/engine/actions/action/ease-to.ts @@ -1,9 +1,9 @@ -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import { vec, Vector } from '../../Math/vector'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import type { Entity } from '../../entity-component-system/entity'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import { vec, Vector } from '../../math/vector'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; /** * @deprecated use moveTo({pos: Vector, duration: number, easing: EasingFunction}) diff --git a/src/engine/Actions/Action/Fade.ts b/src/engine/actions/action/fade.ts similarity index 85% rename from src/engine/Actions/Action/Fade.ts rename to src/engine/actions/action/fade.ts index deffde86..7d8b8204 100644 --- a/src/engine/Actions/Action/Fade.ts +++ b/src/engine/actions/action/fade.ts @@ -1,8 +1,8 @@ -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { GraphicsComponent } from '../../Graphics/GraphicsComponent'; -import { Logger } from '../../Util/Log'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import type { Entity } from '../../entity-component-system/entity'; +import { GraphicsComponent } from '../../graphics/graphics-component'; +import { Logger } from '../../util/log'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export class Fade implements Action { id = nextActionId(); diff --git a/src/engine/Actions/Action/Flash.ts b/src/engine/actions/action/flash.ts similarity index 82% rename from src/engine/Actions/Action/Flash.ts rename to src/engine/actions/action/flash.ts index 5023f3ac..6033a81a 100644 --- a/src/engine/Actions/Action/Flash.ts +++ b/src/engine/actions/action/flash.ts @@ -1,11 +1,11 @@ -import { GraphicsComponent } from '../../Graphics/GraphicsComponent'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; -import type { Actor } from '../../Actor'; -import type { Material } from '../../Graphics/Context/material'; -import type { Color } from '../../Color'; -import type { Shader } from '../../Graphics/Context/shader'; +import { GraphicsComponent } from '../../graphics/graphics-component'; +import type { Entity } from '../../entity-component-system/entity'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; +import type { Actor } from '../../actor'; +import type { Material } from '../../graphics/context/material'; +import type { Color } from '../../color'; +import type { Shader } from '../../graphics/context/shader'; export class Flash implements Action { id = nextActionId(); diff --git a/src/engine/Actions/Action/Follow.ts b/src/engine/actions/action/follow.ts similarity index 85% rename from src/engine/Actions/Action/Follow.ts rename to src/engine/actions/action/follow.ts index 95eb7063..77bc6892 100644 --- a/src/engine/Actions/Action/Follow.ts +++ b/src/engine/actions/action/follow.ts @@ -1,9 +1,9 @@ -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { vec, Vector } from '../../Math/vector'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import type { Entity } from '../../entity-component-system/entity'; +import { vec, Vector } from '../../math/vector'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export class Follow implements Action { id = nextActionId(); diff --git a/src/engine/Actions/Action/Meet.ts b/src/engine/actions/action/meet.ts similarity index 85% rename from src/engine/Actions/Action/Meet.ts rename to src/engine/actions/action/meet.ts index 6828987f..e78c6cd9 100644 --- a/src/engine/Actions/Action/Meet.ts +++ b/src/engine/actions/action/meet.ts @@ -1,9 +1,9 @@ -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { Vector, vec } from '../../Math/vector'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import type { Entity } from '../../entity-component-system/entity'; +import { Vector, vec } from '../../math/vector'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export class Meet implements Action { id = nextActionId(); diff --git a/src/engine/Actions/Action/MoveBy.ts b/src/engine/actions/action/move-by.ts similarity index 87% rename from src/engine/Actions/Action/MoveBy.ts rename to src/engine/actions/action/move-by.ts index c610283b..73ac0b55 100644 --- a/src/engine/Actions/Action/MoveBy.ts +++ b/src/engine/actions/action/move-by.ts @@ -1,14 +1,14 @@ -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import type { Easing } from '../../Math'; -import { clamp, lerp, linear, remap } from '../../Math'; -import { Vector, vec } from '../../Math/vector'; -import type { EasingFunction } from '../../Util/EasingFunctions'; -import { EasingFunctions, isLegacyEasing } from '../../Util/EasingFunctions'; -import { Logger } from '../../Util/Log'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import type { Entity } from '../../entity-component-system/entity'; +import type { Easing } from '../../math'; +import { clamp, lerp, linear, remap } from '../../math'; +import { Vector, vec } from '../../math/vector'; +import type { EasingFunction } from '../../util/easing-functions'; +import { EasingFunctions, isLegacyEasing } from '../../util/easing-functions'; +import { Logger } from '../../util/log'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export interface MoveByOptions { offset: Vector; diff --git a/src/engine/Actions/Action/MoveTo.ts b/src/engine/actions/action/move-to.ts similarity index 86% rename from src/engine/Actions/Action/MoveTo.ts rename to src/engine/actions/action/move-to.ts index 869f5fd7..b56ded98 100644 --- a/src/engine/Actions/Action/MoveTo.ts +++ b/src/engine/actions/action/move-to.ts @@ -1,13 +1,13 @@ -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import type { Easing } from '../../Math'; -import { clamp, lerp, linear, remap } from '../../Math'; -import { Vector, vec } from '../../Math/vector'; -import type { EasingFunction } from '../../Util/EasingFunctions'; -import { EasingFunctions, isLegacyEasing } from '../../Util/EasingFunctions'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import type { Entity } from '../../entity-component-system/entity'; +import type { Easing } from '../../math'; +import { clamp, lerp, linear, remap } from '../../math'; +import { Vector, vec } from '../../math/vector'; +import type { EasingFunction } from '../../util/easing-functions'; +import { EasingFunctions, isLegacyEasing } from '../../util/easing-functions'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; export interface MoveToOptions { pos: Vector; diff --git a/src/engine/Actions/Action/ParallelActions.ts b/src/engine/actions/action/parallel-actions.ts similarity index 82% rename from src/engine/Actions/Action/ParallelActions.ts rename to src/engine/actions/action/parallel-actions.ts index c7670b71..a6b64b14 100644 --- a/src/engine/Actions/Action/ParallelActions.ts +++ b/src/engine/actions/action/parallel-actions.ts @@ -1,6 +1,6 @@ -import type { Entity } from '../../EntityComponentSystem'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; +import type { Entity } from '../../entity-component-system'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; /** * Action that can run multiple {@apilink Action}s or {@apilink ActionSequence}s at the same time diff --git a/src/engine/Actions/Action/RepeatForever.ts b/src/engine/actions/action/repeat-forever.ts similarity index 81% rename from src/engine/Actions/Action/RepeatForever.ts rename to src/engine/actions/action/repeat-forever.ts index fddd01ff..91278fd8 100644 --- a/src/engine/Actions/Action/RepeatForever.ts +++ b/src/engine/actions/action/repeat-forever.ts @@ -1,8 +1,8 @@ -import type { Entity } from '../../EntityComponentSystem/Entity'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; -import { ActionContext } from '../ActionContext'; -import type { ActionQueue } from '../ActionQueue'; +import type { Entity } from '../../entity-component-system/entity'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; +import { ActionContext } from '../action-context'; +import type { ActionQueue } from '../action-queue'; /** * RepeatForever Action implementation, it is recommended you use the fluent action diff --git a/src/engine/Actions/Action/Repeat.ts b/src/engine/actions/action/repeat.ts similarity index 82% rename from src/engine/Actions/Action/Repeat.ts rename to src/engine/actions/action/repeat.ts index ca41be4f..52872d59 100644 --- a/src/engine/Actions/Action/Repeat.ts +++ b/src/engine/actions/action/repeat.ts @@ -1,8 +1,8 @@ -import type { Entity } from '../../EntityComponentSystem/Entity'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; -import { ActionContext } from '../ActionContext'; -import type { ActionQueue } from '../ActionQueue'; +import type { Entity } from '../../entity-component-system/entity'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; +import { ActionContext } from '../action-context'; +import type { ActionQueue } from '../action-queue'; export class Repeat implements Action { id = nextActionId(); diff --git a/src/engine/Actions/Action/RotateBy.ts b/src/engine/actions/action/rotate-by.ts similarity index 92% rename from src/engine/Actions/Action/RotateBy.ts rename to src/engine/actions/action/rotate-by.ts index e6a19af0..1fa1e496 100644 --- a/src/engine/Actions/Action/RotateBy.ts +++ b/src/engine/actions/action/rotate-by.ts @@ -1,10 +1,10 @@ -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { canonicalizeAngle, clamp, TwoPI } from '../../Math/util'; -import { lerpAngle, remap, RotationType } from '../../Math'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import type { Entity } from '../../entity-component-system/entity'; +import { canonicalizeAngle, clamp, TwoPI } from '../../math/util'; +import { lerpAngle, remap, RotationType } from '../../math'; export interface RotateByOptions { /** diff --git a/src/engine/Actions/Action/RotateTo.ts b/src/engine/actions/action/rotate-to.ts similarity index 92% rename from src/engine/Actions/Action/RotateTo.ts rename to src/engine/actions/action/rotate-to.ts index cd88ca6c..bab6468e 100644 --- a/src/engine/Actions/Action/RotateTo.ts +++ b/src/engine/actions/action/rotate-to.ts @@ -1,11 +1,11 @@ -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; -import { RotationType } from '../../Math'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { clamp, TwoPI } from '../../Math/util'; -import { lerpAngle, remap } from '../../Math'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; +import { RotationType } from '../../math'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import type { Entity } from '../../entity-component-system/entity'; +import { clamp, TwoPI } from '../../math/util'; +import { lerpAngle, remap } from '../../math'; export interface RotateToOptions { /** diff --git a/src/engine/Actions/Action/ScaleBy.ts b/src/engine/actions/action/scale-by.ts similarity index 90% rename from src/engine/Actions/Action/ScaleBy.ts rename to src/engine/actions/action/scale-by.ts index 39dbc32f..7c28f77d 100644 --- a/src/engine/Actions/Action/ScaleBy.ts +++ b/src/engine/actions/action/scale-by.ts @@ -1,10 +1,10 @@ -import { vec, Vector } from '../../Math/vector'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; -import { clamp, lerpVector, remap } from '../../Math'; +import { vec, Vector } from '../../math/vector'; +import type { Entity } from '../../entity-component-system/entity'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; +import { clamp, lerpVector, remap } from '../../math'; export interface ScaleByOptions { /** diff --git a/src/engine/Actions/Action/ScaleTo.ts b/src/engine/actions/action/scale-to.ts similarity index 90% rename from src/engine/Actions/Action/ScaleTo.ts rename to src/engine/actions/action/scale-to.ts index d3205796..133cff6c 100644 --- a/src/engine/Actions/Action/ScaleTo.ts +++ b/src/engine/actions/action/scale-to.ts @@ -1,10 +1,10 @@ -import { vec, Vector } from '../../Math/vector'; -import { MotionComponent } from '../../EntityComponentSystem/Components/MotionComponent'; -import { TransformComponent } from '../../EntityComponentSystem/Components/TransformComponent'; -import type { Action } from '../Action'; -import { nextActionId } from '../Action'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { clamp, lerpVector, remap } from '../../Math'; +import { vec, Vector } from '../../math/vector'; +import { MotionComponent } from '../../entity-component-system/components/motion-component'; +import { TransformComponent } from '../../entity-component-system/components/transform-component'; +import type { Action } from '../action'; +import { nextActionId } from '../action'; +import type { Entity } from '../../entity-component-system/entity'; +import { clamp, lerpVector, remap } from '../../math'; export interface ScaleToOptions { /** diff --git a/src/engine/Actions/Actionable.ts b/src/engine/actions/actionable.ts similarity index 50% rename from src/engine/Actions/Actionable.ts rename to src/engine/actions/actionable.ts index a2fe8cc0..138ac1a6 100644 --- a/src/engine/Actions/Actionable.ts +++ b/src/engine/actions/actionable.ts @@ -1,4 +1,4 @@ -import type { ActionContext } from './ActionContext'; +import type { ActionContext } from './action-context'; export interface Actionable { actions: ActionContext; diff --git a/src/engine/Actions/ActionsComponent.ts b/src/engine/actions/actions-component.ts similarity index 95% rename from src/engine/Actions/ActionsComponent.ts rename to src/engine/actions/actions-component.ts index 38e39e28..1980d570 100644 --- a/src/engine/Actions/ActionsComponent.ts +++ b/src/engine/actions/actions-component.ts @@ -1,17 +1,17 @@ -import { ActionContext } from './ActionContext'; -import { Component } from '../EntityComponentSystem/Component'; -import type { Entity } from '../EntityComponentSystem/Entity'; -import type { Actor } from '../Actor'; -import { MotionComponent } from '../EntityComponentSystem/Components/MotionComponent'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import type { Vector, RotationType } from '../Math'; -import type { EasingFunction } from '../Util/EasingFunctions'; -import type { ActionQueue } from './ActionQueue'; -import type { Action } from './Action'; -import type { Color } from '../Color'; -import type { CurveToOptions } from './Action/CurveTo'; -import type { CurveByOptions } from './Action/CurveBy'; -import type { MoveToOptions } from './Action/MoveTo'; +import { ActionContext } from './action-context'; +import { Component } from '../entity-component-system/component'; +import type { Entity } from '../entity-component-system/entity'; +import type { Actor } from '../actor'; +import { MotionComponent } from '../entity-component-system/components/motion-component'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import type { Vector, RotationType } from '../math'; +import type { EasingFunction } from '../util/easing-functions'; +import type { ActionQueue } from './action-queue'; +import type { Action } from './action'; +import type { Color } from '../color'; +import type { CurveToOptions } from './action/curve-to'; +import type { CurveByOptions } from './action/curve-by'; +import type { MoveToOptions } from './action/move-to'; import type { MoveByOptions, RotateByOptions, RotateToOptions, ScaleByOptions, ScaleToOptions } from './index'; export interface ActionContextMethods extends Pick {} diff --git a/src/engine/Actions/ActionsSystem.ts b/src/engine/actions/actions-system.ts similarity index 76% rename from src/engine/Actions/ActionsSystem.ts rename to src/engine/actions/actions-system.ts index e32fe9cc..7d8e7e27 100644 --- a/src/engine/Actions/ActionsSystem.ts +++ b/src/engine/actions/actions-system.ts @@ -1,7 +1,7 @@ -import type { Query, World } from '../EntityComponentSystem'; -import { SystemPriority } from '../EntityComponentSystem'; -import { System, SystemType } from '../EntityComponentSystem/System'; -import { ActionsComponent } from './ActionsComponent'; +import type { Query, World } from '../entity-component-system'; +import { SystemPriority } from '../entity-component-system'; +import { System, SystemType } from '../entity-component-system//system'; +import { ActionsComponent } from './actions-component'; export class ActionsSystem extends System { static priority = SystemPriority.Higher; diff --git a/src/engine/actions/index.ts b/src/engine/actions/index.ts new file mode 100644 index 00000000..021cb7f5 --- /dev/null +++ b/src/engine/actions/index.ts @@ -0,0 +1,28 @@ +export * from './action-context'; +export * from './action-queue'; +export type * from './actionable'; + +export * from './action'; +export * from './action/action-sequence'; +export * from './action/parallel-actions'; +export * from './action/repeat'; +export * from './action/repeat-forever'; +export * from './action/blink'; +export * from './action/die'; +export * from './action/ease-to'; +export * from './action/ease-by'; +export * from './action/fade'; +export * from './action/follow'; +export * from './action/meet'; +export * from './action/move-by'; +export * from './action/move-to'; +export * from './action/rotate-by'; +export * from './action/rotate-to'; +export * from './action/scale-by'; +export * from './action/scale-to'; +export * from './action/delay'; +export * from './action/flash'; +export * from './action/curve-to'; +export * from './action/curve-by'; +export * from './actions-component'; +export * from './actions-system'; diff --git a/src/engine/Actions/tsconfig.json b/src/engine/actions/tsconfig.json similarity index 100% rename from src/engine/Actions/tsconfig.json rename to src/engine/actions/tsconfig.json diff --git a/src/engine/Actor.ts b/src/engine/actor.ts similarity index 94% rename from src/engine/Actor.ts rename to src/engine/actor.ts index 5bb6304e..25ac2792 100644 --- a/src/engine/Actor.ts +++ b/src/engine/actor.ts @@ -11,39 +11,39 @@ import type { PostDebugDrawEvent, ActionStartEvent, ActionCompleteEvent -} from './Events'; -import { type KillEvent, PreUpdateEvent, PostUpdateEvent, PostKillEvent, PreKillEvent } from './Events'; -import type { Engine } from './Engine'; -import type { Color } from './Color'; -import type { CanInitialize, CanUpdate, CanBeKilled } from './Interfaces/LifecycleEvents'; -import type { Scene } from './Scene'; -import { Logger } from './Util/Log'; -import { Vector, vec } from './Math/vector'; -import { BodyComponent } from './Collision/BodyComponent'; -import type { Eventable } from './Interfaces/Evented'; -import type { PointerEvents } from './Interfaces/PointerEventHandlers'; -import { CollisionType } from './Collision/CollisionType'; - -import type { EntityEvents } from './EntityComponentSystem/Entity'; -import { Entity } from './EntityComponentSystem/Entity'; -import { TransformComponent } from './EntityComponentSystem/Components/TransformComponent'; -import { MotionComponent } from './EntityComponentSystem/Components/MotionComponent'; -import { GraphicsComponent } from './Graphics/GraphicsComponent'; -import { Rectangle } from './Graphics/Rectangle'; -import { ColliderComponent } from './Collision/ColliderComponent'; -import { Shape } from './Collision/Colliders/Shape'; -import { watch } from './Util/Watch'; -import type { Collider, CollisionContact, CollisionGroup, Side } from './Collision/Index'; -import { Circle } from './Graphics/Circle'; -import type { PointerEvent } from './Input/PointerEvent'; -import type { WheelEvent } from './Input/WheelEvent'; -import { PointerComponent } from './Input/PointerComponent'; -import { ActionsComponent } from './Actions/ActionsComponent'; -import { CoordPlane } from './Math/coord-plane'; -import type { EventKey, Handler, Subscription } from './EventEmitter'; -import { EventEmitter } from './EventEmitter'; -import type { Component } from './EntityComponentSystem'; -import type { Graphic, Material } from './Graphics'; +} from './events'; +import { type KillEvent, PreUpdateEvent, PostUpdateEvent, PostKillEvent, PreKillEvent } from './events'; +import type { Engine } from './engine'; +import type { Color } from './color'; +import type { CanInitialize, CanUpdate, CanBeKilled } from './interfaces/lifecycle-events'; +import type { Scene } from './scene'; +import { Logger } from './util/log'; +import { Vector, vec } from './math/vector'; +import { BodyComponent } from './collision/body-component'; +import type { Eventable } from './interfaces/evented'; +import type { PointerEvents } from './interfaces/pointer-event-handlers'; +import { CollisionType } from './collision/collision-type'; + +import type { EntityEvents } from './entity-component-system/entity'; +import { Entity } from './entity-component-system/entity'; +import { TransformComponent } from './entity-component-system/components/transform-component'; +import { MotionComponent } from './entity-component-system/components/motion-component'; +import { GraphicsComponent } from './graphics/graphics-component'; +import { Rectangle } from './graphics/rectangle'; +import { ColliderComponent } from './collision/collider-component'; +import { Shape } from './collision/colliders/shape'; +import { watch } from './util/watch'; +import type { Collider, CollisionContact, CollisionGroup, Side } from './collision/index'; +import { Circle } from './graphics/circle'; +import type { PointerEvent } from './input/pointer-event'; +import type { WheelEvent } from './input/wheel-event'; +import { PointerComponent } from './input/pointer-component'; +import { ActionsComponent } from './actions/actions-component'; +import { CoordPlane } from './math/coord-plane'; +import type { EventKey, Handler, Subscription } from './event-emitter'; +import { EventEmitter } from './event-emitter'; +import type { Component } from './entity-component-system'; +import type { Graphic, Material } from './graphics'; /** * Type guard for checking if something is an Actor diff --git a/src/engine/Camera.ts b/src/engine/camera.ts similarity index 96% rename from src/engine/Camera.ts rename to src/engine/camera.ts index befbdd42..f4abf48e 100644 --- a/src/engine/Camera.ts +++ b/src/engine/camera.ts @@ -1,23 +1,23 @@ -import type { Engine } from './Engine'; -import type { Screen } from './Screen'; -import type { EasingFunction } from './Util/EasingFunctions'; -import { EasingFunctions, isLegacyEasing } from './Util/EasingFunctions'; -import { Vector, vec } from './Math/vector'; -import type { Actor } from './Actor'; -import { removeItemFromArray } from './Util/Util'; -import type { CanUpdate, CanInitialize } from './Interfaces/LifecycleEvents'; -import { PreUpdateEvent, PostUpdateEvent, InitializeEvent } from './Events'; -import { BoundingBox } from './Collision/BoundingBox'; -import { Logger } from './Util/Log'; -import type { ExcaliburGraphicsContext } from './Graphics/Context/ExcaliburGraphicsContext'; -import { AffineMatrix } from './Math/affine-matrix'; -import type { EventKey, Handler, Subscription } from './EventEmitter'; -import { EventEmitter } from './EventEmitter'; -import { pixelSnapEpsilon } from './Graphics'; -import { sign } from './Math/util'; -import { WatchVector } from './Math/watch-vector'; -import type { Easing } from './Math'; -import { easeInOutCubic, lerp } from './Math'; +import type { Engine } from './engine'; +import type { Screen } from './screen'; +import type { EasingFunction } from './util/easing-functions'; +import { EasingFunctions, isLegacyEasing } from './util/easing-functions'; +import { Vector, vec } from './math/vector'; +import type { Actor } from './actor'; +import { removeItemFromArray } from './util/util'; +import type { CanUpdate, CanInitialize } from './interfaces/lifecycle-events'; +import { PreUpdateEvent, PostUpdateEvent, InitializeEvent } from './events'; +import { BoundingBox } from './collision/bounding-box'; +import { Logger } from './util/log'; +import type { ExcaliburGraphicsContext } from './graphics/context/excalibur-graphics-context'; +import { AffineMatrix } from './math/affine-matrix'; +import type { EventKey, Handler, Subscription } from './event-emitter'; +import { EventEmitter } from './event-emitter'; +import { pixelSnapEpsilon } from './graphics'; +import { sign } from './math/util'; +import { WatchVector } from './math/watch-vector'; +import type { Easing } from './math'; +import { easeInOutCubic, lerp } from './math'; /** * Interface that describes a custom camera strategy for tracking targets diff --git a/src/engine/Collision/BodyComponent.ts b/src/engine/collision/body-component.ts similarity index 94% rename from src/engine/Collision/BodyComponent.ts rename to src/engine/collision/body-component.ts index 7f16ef19..6cf73a74 100644 --- a/src/engine/Collision/BodyComponent.ts +++ b/src/engine/collision/body-component.ts @@ -1,20 +1,20 @@ -import { vec, Vector } from '../Math/vector'; -import { CollisionType } from './CollisionType'; -import type { Clonable } from '../Interfaces/Clonable'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import { MotionComponent } from '../EntityComponentSystem/Components/MotionComponent'; -import { Component } from '../EntityComponentSystem/Component'; -import { CollisionGroup } from './Group/CollisionGroup'; -import type { Id } from '../Id'; -import { createId } from '../Id'; -import { angleDifference, canonicalizeAngle, clamp } from '../Math/util'; -import { ColliderComponent } from './ColliderComponent'; -import { Transform } from '../Math/transform'; -import { EventEmitter } from '../EventEmitter'; -import type { BodyConfig, PhysicsConfig } from './PhysicsConfig'; -import { getDefaultPhysicsConfig } from './PhysicsConfig'; -import type { Entity } from '../EntityComponentSystem'; -import type { Island } from './Island'; +import { vec, Vector } from '../math/vector'; +import { CollisionType } from './collision-type'; +import type { Clonable } from '../interfaces/clonable'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import { MotionComponent } from '../entity-component-system/components/motion-component'; +import { Component } from '../entity-component-system/component'; +import { CollisionGroup } from './group/collision-group'; +import type { Id } from '../id'; +import { createId } from '../id'; +import { angleDifference, canonicalizeAngle, clamp } from '../math/util'; +import { ColliderComponent } from './collider-component'; +import { Transform } from '../math/transform'; +import { EventEmitter } from '../event-emitter'; +import type { BodyConfig, PhysicsConfig } from './physics-config'; +import { getDefaultPhysicsConfig } from './physics-config'; +import type { Entity } from '../entity-component-system'; +import type { Island } from './island'; export interface BodyComponentOptions { type?: CollisionType; diff --git a/src/engine/Collision/BoundingBox.ts b/src/engine/collision/bounding-box.ts similarity index 97% rename from src/engine/Collision/BoundingBox.ts rename to src/engine/collision/bounding-box.ts index d4a6293e..f8ac0546 100644 --- a/src/engine/Collision/BoundingBox.ts +++ b/src/engine/collision/bounding-box.ts @@ -1,10 +1,10 @@ -import { Vector } from '../Math/vector'; -import type { Ray } from '../Math/ray'; -import { Color } from '../Color'; -import { Side } from './Side'; -import type { ExcaliburGraphicsContext, RectGraphicsOptions } from '../Graphics/Context/ExcaliburGraphicsContext'; -import type { AffineMatrix } from '../Math/affine-matrix'; -import { getMinIndex } from '../Util/Util'; +import { Vector } from '../math/vector'; +import type { Ray } from '../math/ray'; +import { Color } from '../color'; +import { Side } from './side'; +import type { ExcaliburGraphicsContext, RectGraphicsOptions } from '../graphics/context/excalibur-graphics-context'; +import type { AffineMatrix } from '../math/affine-matrix'; +import { getMinIndex } from '../util/util'; export interface BoundingBoxOptions { left: number; diff --git a/src/engine/Collision/ColliderComponent.ts b/src/engine/collision/collider-component.ts similarity index 89% rename from src/engine/Collision/ColliderComponent.ts rename to src/engine/collision/collider-component.ts index 47358650..bd44ff73 100644 --- a/src/engine/Collision/ColliderComponent.ts +++ b/src/engine/collision/collider-component.ts @@ -1,19 +1,19 @@ -import { Vector } from '../Math/vector'; -import { TransformComponent } from '../EntityComponentSystem'; -import { Component } from '../EntityComponentSystem/Component'; -import type { Entity } from '../EntityComponentSystem/Entity'; -import { CollisionEndEvent, CollisionStartEvent, PostCollisionEvent, PreCollisionEvent } from '../Events'; -import { Observable } from '../Util/Observable'; -import { BoundingBox } from './BoundingBox'; -import type { CollisionContact } from './Detection/CollisionContact'; -import type { CircleCollider } from './Colliders/CircleCollider'; -import type { Collider } from './Colliders/Collider'; -import { CompositeCollider } from './Colliders/CompositeCollider'; -import type { PolygonCollider } from './Colliders/PolygonCollider'; -import type { EdgeCollider } from './Colliders/EdgeCollider'; -import { Shape } from './Colliders/Shape'; -import { EventEmitter } from '../EventEmitter'; -import { Actor } from '../Actor'; +import { Vector } from '../math/vector'; +import { TransformComponent } from '../entity-component-system'; +import { Component } from '../entity-component-system/component'; +import type { Entity } from '../entity-component-system/entity'; +import { CollisionEndEvent, CollisionStartEvent, PostCollisionEvent, PreCollisionEvent } from '../events'; +import { Observable } from '../util/observable'; +import { BoundingBox } from './bounding-box'; +import type { CollisionContact } from './detection/collision-contact'; +import type { CircleCollider } from './colliders/circle-collider'; +import type { Collider } from './colliders/collider'; +import { CompositeCollider } from './colliders/composite-collider'; +import type { PolygonCollider } from './colliders/polygon-collider'; +import type { EdgeCollider } from './colliders/edge-collider'; +import { Shape } from './colliders/shape'; +import { EventEmitter } from '../event-emitter'; +import { Actor } from '../actor'; export class ColliderComponent extends Component { public events = new EventEmitter(); diff --git a/src/engine/Collision/Colliders/CircleCollider.ts b/src/engine/collision/colliders/circle-collider.ts similarity index 89% rename from src/engine/Collision/Colliders/CircleCollider.ts rename to src/engine/collision/colliders/circle-collider.ts index 56badcd4..acc30154 100644 --- a/src/engine/Collision/Colliders/CircleCollider.ts +++ b/src/engine/collision/colliders/circle-collider.ts @@ -1,23 +1,23 @@ -import { BoundingBox } from '../BoundingBox'; -import { CollisionJumpTable } from './CollisionJumpTable'; -import type { CollisionContact } from '../Detection/CollisionContact'; -import { PolygonCollider } from './PolygonCollider'; -import { EdgeCollider } from './EdgeCollider'; - -import { Projection } from '../../Math/projection'; -import type { LineSegment } from '../../Math/line-segment'; -import { Vector } from '../../Math/vector'; -import type { Ray } from '../../Math/ray'; -import { Color } from '../../Color'; -import { Collider } from './Collider'; - -import { ClosestLineJumpTable } from './ClosestLineJumpTable'; -import type { ExcaliburGraphicsContext } from '../../Graphics/Context/ExcaliburGraphicsContext'; -import type { Transform } from '../../Math/transform'; -import { AffineMatrix } from '../../Math/affine-matrix'; -import { BodyComponent } from '../Index'; -import type { RayCastHit } from '../Detection/RayCastHit'; -import { approximatelyEqual } from '../../Math/util'; +import { BoundingBox } from '../bounding-box'; +import { CollisionJumpTable } from './collision-jump-table'; +import type { CollisionContact } from '../detection/collision-contact'; +import { PolygonCollider } from './polygon-collider'; +import { EdgeCollider } from './edge-collider'; + +import { Projection } from '../../math/projection'; +import type { LineSegment } from '../../math/line-segment'; +import { Vector } from '../../math/vector'; +import type { Ray } from '../../math/ray'; +import { Color } from '../../color'; +import { Collider } from './collider'; + +import { ClosestLineJumpTable } from './closest-line-jump-table'; +import type { ExcaliburGraphicsContext } from '../../graphics/context/excalibur-graphics-context'; +import type { Transform } from '../../math/transform'; +import { AffineMatrix } from '../../math/affine-matrix'; +import { BodyComponent } from '../index'; +import type { RayCastHit } from '../detection/ray-cast-hit'; +import { approximatelyEqual } from '../../math/util'; export interface CircleColliderOptions { /** diff --git a/src/engine/Collision/Colliders/ClosestLineJumpTable.ts b/src/engine/collision/colliders/closest-line-jump-table.ts similarity index 95% rename from src/engine/Collision/Colliders/ClosestLineJumpTable.ts rename to src/engine/collision/colliders/closest-line-jump-table.ts index ddea0d00..6b8cb21e 100644 --- a/src/engine/Collision/Colliders/ClosestLineJumpTable.ts +++ b/src/engine/collision/colliders/closest-line-jump-table.ts @@ -1,10 +1,10 @@ -import { LineSegment } from '../../Math/line-segment'; -import { Vector } from '../../Math/vector'; -import { Ray } from '../../Math/ray'; -import type { PolygonCollider } from './PolygonCollider'; -import type { EdgeCollider } from './EdgeCollider'; -import type { CircleCollider } from './CircleCollider'; -import { clamp } from '../../Math/util'; +import { LineSegment } from '../../math/line-segment'; +import { Vector } from '../../math/vector'; +import { Ray } from '../../math/ray'; +import type { PolygonCollider } from './polygon-collider'; +import type { EdgeCollider } from './edge-collider'; +import type { CircleCollider } from './circle-collider'; +import { clamp } from '../../math/util'; /** * Finds the closest line segment between two given line segments. diff --git a/src/engine/Collision/Colliders/Collider.ts b/src/engine/collision/colliders/collider.ts similarity index 78% rename from src/engine/Collision/Colliders/Collider.ts rename to src/engine/collision/colliders/collider.ts index ac2956e1..14ec843b 100644 --- a/src/engine/Collision/Colliders/Collider.ts +++ b/src/engine/collision/colliders/collider.ts @@ -1,19 +1,19 @@ -import type { Color } from '../../Color'; -import type { CollisionContact } from '../Detection/CollisionContact'; -import type { BoundingBox } from '../BoundingBox'; -import type { Projection } from '../../Math/projection'; -import type { LineSegment } from '../../Math/line-segment'; -import { Vector } from '../../Math/vector'; -import type { Ray } from '../../Math/ray'; -import type { Clonable } from '../../Interfaces/Clonable'; -import type { Entity } from '../../EntityComponentSystem'; -import type { Id } from '../../Id'; -import { createId } from '../../Id'; -import type { ExcaliburGraphicsContext } from '../../Graphics/Context/ExcaliburGraphicsContext'; -import type { Transform } from '../../Math/transform'; -import { EventEmitter } from '../../EventEmitter'; -import type { RayCastHit } from '../Detection/RayCastHit'; -import type { CompositeCollider } from './CompositeCollider'; +import type { Color } from '../../color'; +import type { CollisionContact } from '../detection/collision-contact'; +import type { BoundingBox } from '../bounding-box'; +import type { Projection } from '../../math/projection'; +import type { LineSegment } from '../../math/line-segment'; +import { Vector } from '../../math/vector'; +import type { Ray } from '../../math/ray'; +import type { Clonable } from '../../interfaces/clonable'; +import type { Entity } from '../../entity-component-system'; +import type { Id } from '../../id'; +import { createId } from '../../id'; +import type { ExcaliburGraphicsContext } from '../../graphics/context/excalibur-graphics-context'; +import type { Transform } from '../../math/transform'; +import { EventEmitter } from '../../event-emitter'; +import type { RayCastHit } from '../detection/ray-cast-hit'; +import type { CompositeCollider } from './composite-collider'; /** * A collision collider specifies the geometry that can detect when other collision colliders intersect diff --git a/src/engine/Collision/Colliders/CollisionJumpTable.ts b/src/engine/collision/colliders/collision-jump-table.ts similarity index 95% rename from src/engine/Collision/Colliders/CollisionJumpTable.ts rename to src/engine/collision/colliders/collision-jump-table.ts index 5af8e5f1..0b4f705d 100644 --- a/src/engine/Collision/Colliders/CollisionJumpTable.ts +++ b/src/engine/collision/colliders/collision-jump-table.ts @@ -1,14 +1,14 @@ -import { CircleCollider } from './CircleCollider'; -import { CollisionContact } from '../Detection/CollisionContact'; -import { PolygonCollider } from './PolygonCollider'; -import { EdgeCollider } from './EdgeCollider'; -import type { SeparationInfo } from './SeparatingAxis'; -import { SeparatingAxis } from './SeparatingAxis'; -import { LineSegment } from '../../Math/line-segment'; -import { Vector } from '../../Math/vector'; -import { TransformComponent } from '../../EntityComponentSystem'; -import { Pair } from '../Detection/Pair'; -import { AffineMatrix } from '../../Math/affine-matrix'; +import { CircleCollider } from './circle-collider'; +import { CollisionContact } from '../detection/collision-contact'; +import { PolygonCollider } from './polygon-collider'; +import { EdgeCollider } from './edge-collider'; +import type { SeparationInfo } from './separating-axis'; +import { SeparatingAxis } from './separating-axis'; +import { LineSegment } from '../../math/line-segment'; +import { Vector } from '../../math/vector'; +import { TransformComponent } from '../../entity-component-system'; +import { Pair } from '../detection/pair'; +import { AffineMatrix } from '../../math/affine-matrix'; const ScratchZero = Vector.Zero; // TODO constant vector const ScratchNormal = Vector.Zero; // TODO constant vector const ScratchMatrix = AffineMatrix.identity(); diff --git a/src/engine/Collision/Colliders/CompositeCollider.ts b/src/engine/collision/colliders/composite-collider.ts similarity index 89% rename from src/engine/Collision/Colliders/CompositeCollider.ts rename to src/engine/collision/colliders/composite-collider.ts index b7195f1f..2f028dbd 100644 --- a/src/engine/Collision/Colliders/CompositeCollider.ts +++ b/src/engine/collision/colliders/composite-collider.ts @@ -1,19 +1,19 @@ import { Util } from '../..'; -import { Pair } from '../Detection/Pair'; -import type { Color } from '../../Color'; -import type { ExcaliburGraphicsContext } from '../../Graphics/Context/ExcaliburGraphicsContext'; -import type { LineSegment } from '../../Math/line-segment'; -import { Projection } from '../../Math/projection'; -import type { Ray } from '../../Math/ray'; -import { Vector } from '../../Math/vector'; -import { BoundingBox } from '../BoundingBox'; -import type { CollisionContact } from '../Detection/CollisionContact'; -import { DynamicTree } from '../Detection/DynamicTree'; -import { DynamicTreeCollisionProcessor } from '../Detection/DynamicTreeCollisionProcessor'; -import type { RayCastHit } from '../Detection/RayCastHit'; -import { Collider } from './Collider'; -import type { Transform } from '../../Math/transform'; -import { getDefaultPhysicsConfig } from '../PhysicsConfig'; +import { Pair } from '../detection/pair'; +import type { Color } from '../../color'; +import type { ExcaliburGraphicsContext } from '../../graphics/context/excalibur-graphics-context'; +import type { LineSegment } from '../../math/line-segment'; +import { Projection } from '../../math/projection'; +import type { Ray } from '../../math/ray'; +import { Vector } from '../../math/vector'; +import { BoundingBox } from '../bounding-box'; +import type { CollisionContact } from '../detection/collision-contact'; +import { DynamicTree } from '../detection/dynamic-tree'; +import { DynamicTreeCollisionProcessor } from '../detection/dynamic-tree-collision-processor'; +import type { RayCastHit } from '../detection/ray-cast-hit'; +import { Collider } from './collider'; +import type { Transform } from '../../math/transform'; +import { getDefaultPhysicsConfig } from '../physics-config'; export class CompositeCollider extends Collider { private _transform: Transform; diff --git a/src/engine/Collision/Colliders/EdgeCollider.ts b/src/engine/collision/colliders/edge-collider.ts similarity index 89% rename from src/engine/Collision/Colliders/EdgeCollider.ts rename to src/engine/collision/colliders/edge-collider.ts index 6bc3ed86..952a932f 100644 --- a/src/engine/Collision/Colliders/EdgeCollider.ts +++ b/src/engine/collision/colliders/edge-collider.ts @@ -1,21 +1,21 @@ -import { BoundingBox } from '../BoundingBox'; -import type { CollisionContact } from '../Detection/CollisionContact'; -import { CollisionJumpTable } from './CollisionJumpTable'; -import { CircleCollider } from './CircleCollider'; -import { PolygonCollider } from './PolygonCollider'; - -import { Projection } from '../../Math/projection'; -import { LineSegment } from '../../Math/line-segment'; -import { Vector } from '../../Math/vector'; -import type { Ray } from '../../Math/ray'; -import type { Color } from '../../Color'; -import { Collider } from './Collider'; -import { ClosestLineJumpTable } from './ClosestLineJumpTable'; -import type { ExcaliburGraphicsContext } from '../../Graphics/Context/ExcaliburGraphicsContext'; -import type { Transform } from '../../Math/transform'; -import { AffineMatrix } from '../../Math/affine-matrix'; -import { BodyComponent } from '../Index'; -import type { RayCastHit } from '../Detection/RayCastHit'; +import { BoundingBox } from '../bounding-box'; +import type { CollisionContact } from '../detection/collision-contact'; +import { CollisionJumpTable } from './collision-jump-table'; +import { CircleCollider } from './circle-collider'; +import { PolygonCollider } from './polygon-collider'; + +import { Projection } from '../../math/projection'; +import { LineSegment } from '../../math/line-segment'; +import { Vector } from '../../math/vector'; +import type { Ray } from '../../math/ray'; +import type { Color } from '../../color'; +import { Collider } from './collider'; +import { ClosestLineJumpTable } from './closest-line-jump-table'; +import type { ExcaliburGraphicsContext } from '../../graphics/context/excalibur-graphics-context'; +import type { Transform } from '../../math/transform'; +import { AffineMatrix } from '../../math/affine-matrix'; +import { BodyComponent } from '../index'; +import type { RayCastHit } from '../detection/ray-cast-hit'; export interface EdgeColliderOptions { /** diff --git a/src/engine/Collision/Colliders/PolygonCollider.ts b/src/engine/collision/colliders/polygon-collider.ts similarity index 96% rename from src/engine/Collision/Colliders/PolygonCollider.ts rename to src/engine/collision/colliders/polygon-collider.ts index 2c340a6e..7d967271 100644 --- a/src/engine/Collision/Colliders/PolygonCollider.ts +++ b/src/engine/collision/colliders/polygon-collider.ts @@ -1,21 +1,21 @@ -import type { Color } from '../../Color'; -import { BoundingBox } from '../BoundingBox'; -import { EdgeCollider } from './EdgeCollider'; -import { CollisionJumpTable } from './CollisionJumpTable'; -import { CircleCollider } from './CircleCollider'; -import type { CollisionContact } from '../Detection/CollisionContact'; -import { Projection } from '../../Math/projection'; -import { LineSegment } from '../../Math/line-segment'; -import { Vector, vec } from '../../Math/vector'; -import { Ray } from '../../Math/ray'; -import { ClosestLineJumpTable } from './ClosestLineJumpTable'; -import { Collider } from './Collider'; +import type { Color } from '../../color'; +import { BoundingBox } from '../bounding-box'; +import { EdgeCollider } from './edge-collider'; +import { CollisionJumpTable } from './collision-jump-table'; +import { CircleCollider } from './circle-collider'; +import type { CollisionContact } from '../detection/collision-contact'; +import { Projection } from '../../math/projection'; +import { LineSegment } from '../../math/line-segment'; +import { Vector, vec } from '../../math/vector'; +import { Ray } from '../../math/ray'; +import { ClosestLineJumpTable } from './closest-line-jump-table'; +import { Collider } from './collider'; import type { ExcaliburGraphicsContext } from '../..'; import { BodyComponent, Debug, Logger, sign } from '../..'; -import { CompositeCollider } from './CompositeCollider'; -import { Shape } from './Shape'; -import { Transform } from '../../Math/transform'; -import type { RayCastHit } from '../Detection/RayCastHit'; +import { CompositeCollider } from './composite-collider'; +import { Shape } from './shape'; +import { Transform } from '../../math/transform'; +import type { RayCastHit } from '../detection/ray-cast-hit'; export interface PolygonColliderOptions { /** diff --git a/src/engine/Collision/Colliders/SeparatingAxis.ts b/src/engine/collision/colliders/separating-axis.ts similarity index 94% rename from src/engine/Collision/Colliders/SeparatingAxis.ts rename to src/engine/collision/colliders/separating-axis.ts index ec68ad5d..6da4f4bd 100644 --- a/src/engine/Collision/Colliders/SeparatingAxis.ts +++ b/src/engine/collision/colliders/separating-axis.ts @@ -1,11 +1,11 @@ -import { LineSegment } from '../../Math/line-segment'; -import type { Vector } from '../../Math/vector'; -import { vec } from '../../Math/vector'; -import type { Collider } from './Collider'; -import type { CircleCollider } from './CircleCollider'; -import type { PolygonCollider } from './PolygonCollider'; -import { AffineMatrix } from '../../Math/affine-matrix'; -import { Pool } from '../../Util/Pool'; +import { LineSegment } from '../../math/line-segment'; +import type { Vector } from '../../math/vector'; +import { vec } from '../../math/vector'; +import type { Collider } from './collider'; +import type { CircleCollider } from './circle-collider'; +import type { PolygonCollider } from './polygon-collider'; +import { AffineMatrix } from '../../math/affine-matrix'; +import { Pool } from '../../util/pool'; /** * Specific information about a contact and it's separation diff --git a/src/engine/Collision/Colliders/Shape.ts b/src/engine/collision/colliders/shape.ts similarity index 92% rename from src/engine/Collision/Colliders/Shape.ts rename to src/engine/collision/colliders/shape.ts index f64393ab..0e1d1ffe 100644 --- a/src/engine/Collision/Colliders/Shape.ts +++ b/src/engine/collision/colliders/shape.ts @@ -1,9 +1,9 @@ -import { PolygonCollider } from './PolygonCollider'; -import { CircleCollider } from './CircleCollider'; -import { EdgeCollider } from './EdgeCollider'; -import { BoundingBox } from '../BoundingBox'; -import { vec, Vector } from '../../Math/vector'; -import { CompositeCollider } from './CompositeCollider'; +import { PolygonCollider } from './polygon-collider'; +import { CircleCollider } from './circle-collider'; +import { EdgeCollider } from './edge-collider'; +import { BoundingBox } from '../bounding-box'; +import { vec, Vector } from '../../math/vector'; +import { CompositeCollider } from './composite-collider'; import { Logger } from '../..'; /** diff --git a/src/engine/Collision/CollisionSystem.ts b/src/engine/collision/collision-system.ts similarity index 86% rename from src/engine/Collision/CollisionSystem.ts rename to src/engine/collision/collision-system.ts index a8314c0f..752b6495 100644 --- a/src/engine/Collision/CollisionSystem.ts +++ b/src/engine/collision/collision-system.ts @@ -1,27 +1,27 @@ -import type { ComponentCtor, Query, World } from '../EntityComponentSystem'; -import { SystemPriority } from '../EntityComponentSystem'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import { System, SystemType } from '../EntityComponentSystem/System'; -import { CollisionEndEvent, CollisionStartEvent, ContactEndEvent, ContactStartEvent } from '../Events'; -import { SolverStrategy } from './SolverStrategy'; -import { ArcadeSolver } from './Solver/ArcadeSolver'; -import type { Collider } from './Colliders/Collider'; -import type { CollisionContact } from './Detection/CollisionContact'; -import { RealisticSolver } from './Solver/RealisticSolver'; -import type { CollisionSolver } from './Solver/Solver'; -import { ColliderComponent } from './ColliderComponent'; -import { CompositeCollider } from './Colliders/CompositeCollider'; -import type { Engine } from '../Engine'; -import type { ExcaliburGraphicsContext } from '../Graphics/Context/ExcaliburGraphicsContext'; -import type { Scene } from '../Scene'; -import { Side } from '../Collision/Side'; -import type { PhysicsWorld } from './PhysicsWorld'; -import type { CollisionProcessor } from './Detection/CollisionProcessor'; -import { SeparatingAxis } from './Colliders/SeparatingAxis'; -import { MotionSystem } from './MotionSystem'; -import { Pair } from './Detection/Pair'; -import { BodyComponent } from './Index'; -import { buildContactIslands } from './Island'; +import type { ComponentCtor, Query, World } from '../entity-component-system'; +import { SystemPriority } from '../entity-component-system'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import { System, SystemType } from '../entity-component-system/system'; +import { CollisionEndEvent, CollisionStartEvent, ContactEndEvent, ContactStartEvent } from '../events'; +import { SolverStrategy } from './solver-strategy'; +import { ArcadeSolver } from './solver/arcade-solver'; +import type { Collider } from './colliders/collider'; +import type { CollisionContact } from './detection/collision-contact'; +import { RealisticSolver } from './solver/realistic-solver'; +import type { CollisionSolver } from './solver/solver'; +import { ColliderComponent } from './collider-component'; +import { CompositeCollider } from './colliders/composite-collider'; +import type { Engine } from '../engine'; +import type { ExcaliburGraphicsContext } from '../graphics/context/excalibur-graphics-context'; +import type { Scene } from '../scene'; +import { Side } from '../collision/side'; +import type { PhysicsWorld } from './physics-world'; +import type { CollisionProcessor } from './detection/collision-processor'; +import { SeparatingAxis } from './colliders/separating-axis'; +import { MotionSystem } from './motion-system'; +import { Pair } from './detection/pair'; +import { BodyComponent } from './index'; +import { buildContactIslands } from './island'; export class CollisionSystem extends System { static priority = SystemPriority.Higher; diff --git a/src/engine/Collision/CollisionType.ts b/src/engine/collision/collision-type.ts similarity index 100% rename from src/engine/Collision/CollisionType.ts rename to src/engine/collision/collision-type.ts diff --git a/src/engine/Collision/Detection/CollisionContact.ts b/src/engine/collision/detection/collision-contact.ts similarity index 92% rename from src/engine/Collision/Detection/CollisionContact.ts rename to src/engine/collision/detection/collision-contact.ts index 610d7bb8..d6300cd9 100644 --- a/src/engine/Collision/Detection/CollisionContact.ts +++ b/src/engine/collision/detection/collision-contact.ts @@ -1,8 +1,8 @@ -import type { Vector } from '../../Math/vector'; -import type { Collider } from '../Colliders/Collider'; -import { Pair } from './Pair'; -import type { SeparationInfo } from '../Colliders/SeparatingAxis'; -import { BodyComponent } from '../BodyComponent'; +import type { Vector } from '../../math/vector'; +import type { Collider } from '../colliders/collider'; +import { Pair } from './pair'; +import type { SeparationInfo } from '../colliders/separating-axis'; +import { BodyComponent } from '../body-component'; /** * Collision contacts are used internally by Excalibur to resolve collision between colliders. This diff --git a/src/engine/Collision/Detection/CollisionProcessor.ts b/src/engine/collision/detection/collision-processor.ts similarity index 71% rename from src/engine/Collision/Detection/CollisionProcessor.ts rename to src/engine/collision/detection/collision-processor.ts index 9e732fe9..77e56492 100644 --- a/src/engine/Collision/Detection/CollisionProcessor.ts +++ b/src/engine/collision/detection/collision-processor.ts @@ -1,13 +1,13 @@ -import type { FrameStats } from '../../Debug'; -import type { Pair } from './Pair'; -import type { Collider } from '../Colliders/Collider'; -import type { CollisionContact } from './CollisionContact'; -import type { RayCastOptions } from './RayCastOptions'; -import type { Ray } from '../../Math/ray'; -import type { RayCastHit } from './RayCastHit'; -import type { ExcaliburGraphicsContext } from '../../Graphics/Context/ExcaliburGraphicsContext'; -import type { BoundingBox } from '../BoundingBox'; -import type { Vector } from '../../Math/vector'; +import type { FrameStats } from '../../debug'; +import type { Pair } from './pair'; +import type { Collider } from '../colliders/collider'; +import type { CollisionContact } from './collision-contact'; +import type { RayCastOptions } from './ray-cast-options'; +import type { Ray } from '../../math/ray'; +import type { RayCastHit } from './ray-cast-hit'; +import type { ExcaliburGraphicsContext } from '../../graphics/context/excalibur-graphics-context'; +import type { BoundingBox } from '../bounding-box'; +import type { Vector } from '../../math/vector'; /** * Definition for collision processor diff --git a/src/engine/Collision/Detection/DynamicTreeCollisionProcessor.ts b/src/engine/collision/detection/dynamic-tree-collision-processor.ts similarity index 90% rename from src/engine/Collision/Detection/DynamicTreeCollisionProcessor.ts rename to src/engine/collision/detection/dynamic-tree-collision-processor.ts index 0cb5f46e..b0b57bfa 100644 --- a/src/engine/Collision/Detection/DynamicTreeCollisionProcessor.ts +++ b/src/engine/collision/detection/dynamic-tree-collision-processor.ts @@ -1,24 +1,24 @@ -import type { CollisionProcessor } from './CollisionProcessor'; -import { DynamicTree } from './DynamicTree'; -import { Pair } from './Pair'; - -import { Vector } from '../../Math/vector'; -import { Ray } from '../../Math/ray'; -import type { FrameStats } from '../../Debug'; -import { Logger } from '../../Util/Log'; -import { CollisionType } from '../CollisionType'; -import type { Collider } from '../Colliders/Collider'; -import type { CollisionContact } from '../Detection/CollisionContact'; -import { BodyComponent } from '../BodyComponent'; -import { CompositeCollider } from '../Colliders/CompositeCollider'; -import { CollisionGroup } from '../Group/CollisionGroup'; -import type { ExcaliburGraphicsContext } from '../../Graphics/Context/ExcaliburGraphicsContext'; -import type { RayCastHit } from './RayCastHit'; -import type { DeepRequired } from '../../Util/Required'; -import type { PhysicsConfig } from '../PhysicsConfig'; -import type { RayCastOptions } from './RayCastOptions'; -import { BoundingBox } from '../BoundingBox'; -import { createId } from '../../Id'; +import type { CollisionProcessor } from './collision-processor'; +import { DynamicTree } from './dynamic-tree'; +import { Pair } from './pair'; + +import { Vector } from '../../math/vector'; +import { Ray } from '../../math/ray'; +import type { FrameStats } from '../../debug'; +import { Logger } from '../../util/log'; +import { CollisionType } from '../collision-type'; +import type { Collider } from '../colliders/collider'; +import type { CollisionContact } from '../detection/collision-contact'; +import { BodyComponent } from '../body-component'; +import { CompositeCollider } from '../colliders/composite-collider'; +import { CollisionGroup } from '../group/collision-group'; +import type { ExcaliburGraphicsContext } from '../../graphics/context/excalibur-graphics-context'; +import type { RayCastHit } from './ray-cast-hit'; +import type { DeepRequired } from '../../util/required'; +import type { PhysicsConfig } from '../physics-config'; +import type { RayCastOptions } from './ray-cast-options'; +import { BoundingBox } from '../bounding-box'; +import { createId } from '../../id'; /** * Responsible for performing the collision broadphase (locating potential collisions) and diff --git a/src/engine/Collision/Detection/DynamicTree.ts b/src/engine/collision/detection/dynamic-tree.ts similarity index 97% rename from src/engine/Collision/Detection/DynamicTree.ts rename to src/engine/collision/detection/dynamic-tree.ts index a22baae8..1c879f2c 100644 --- a/src/engine/Collision/Detection/DynamicTree.ts +++ b/src/engine/collision/detection/dynamic-tree.ts @@ -1,12 +1,12 @@ -import { BoundingBox } from '../BoundingBox'; -import type { Ray } from '../../Math/ray'; -import { Logger } from '../../Util/Log'; -import type { Id } from '../../Id'; -import type { Entity } from '../../EntityComponentSystem/Entity'; -import { BodyComponent } from '../BodyComponent'; +import { BoundingBox } from '../bounding-box'; +import type { Ray } from '../../math/ray'; +import { Logger } from '../../util/log'; +import type { Id } from '../../id'; +import type { Entity } from '../../entity-component-system/entity'; +import { BodyComponent } from '../body-component'; import type { ExcaliburGraphicsContext } from '../..'; import { Color } from '../..'; -import type { DynamicTreeConfig } from '../PhysicsConfig'; +import type { DynamicTreeConfig } from '../physics-config'; /** * Dynamic Tree Node used for tracking bounds within the tree diff --git a/src/engine/Collision/Detection/Pair.ts b/src/engine/collision/detection/pair.ts similarity index 91% rename from src/engine/Collision/Detection/Pair.ts rename to src/engine/collision/detection/pair.ts index 440051e0..6a92735a 100644 --- a/src/engine/Collision/Detection/Pair.ts +++ b/src/engine/collision/detection/pair.ts @@ -1,8 +1,8 @@ -import type { CollisionContact } from './CollisionContact'; -import { CollisionType } from '../CollisionType'; -import { BodyComponent } from '../BodyComponent'; -import type { Id } from '../../Id'; -import type { Collider } from '../Colliders/Collider'; +import type { CollisionContact } from './collision-contact'; +import { CollisionType } from '../collision-type'; +import { BodyComponent } from '../body-component'; +import type { Id } from '../../id'; +import type { Collider } from '../colliders/collider'; /** * Models a potential collision between 2 colliders diff --git a/src/engine/Collision/Detection/QuadTree.ts b/src/engine/collision/detection/quad-tree.ts similarity index 97% rename from src/engine/Collision/Detection/QuadTree.ts rename to src/engine/collision/detection/quad-tree.ts index 9fdc3e8b..fd18bd0b 100644 --- a/src/engine/Collision/Detection/QuadTree.ts +++ b/src/engine/collision/detection/quad-tree.ts @@ -1,6 +1,6 @@ -import { Color } from '../../Color'; -import type { ExcaliburGraphicsContext } from '../../Graphics'; -import { BoundingBox } from '../BoundingBox'; +import { Color } from '../../color'; +import type { ExcaliburGraphicsContext } from '../../graphics'; +import { BoundingBox } from '../bounding-box'; export interface QuadTreeItem { bounds: BoundingBox; diff --git a/src/engine/Collision/Detection/RayCastHit.ts b/src/engine/collision/detection/ray-cast-hit.ts similarity index 72% rename from src/engine/Collision/Detection/RayCastHit.ts rename to src/engine/collision/detection/ray-cast-hit.ts index aa490f24..880d75d7 100644 --- a/src/engine/Collision/Detection/RayCastHit.ts +++ b/src/engine/collision/detection/ray-cast-hit.ts @@ -1,6 +1,6 @@ -import type { Vector } from '../../Math/vector'; -import type { Collider } from '../Colliders/Collider'; -import type { BodyComponent } from '../BodyComponent'; +import type { Vector } from '../../math/vector'; +import type { Collider } from '../colliders/collider'; +import type { BodyComponent } from '../body-component'; export interface RayCastHit { /** diff --git a/src/engine/Collision/Detection/RayCastOptions.ts b/src/engine/collision/detection/ray-cast-options.ts similarity index 90% rename from src/engine/Collision/Detection/RayCastOptions.ts rename to src/engine/collision/detection/ray-cast-options.ts index 1061ce3d..2fbf5c39 100644 --- a/src/engine/Collision/Detection/RayCastOptions.ts +++ b/src/engine/collision/detection/ray-cast-options.ts @@ -1,5 +1,5 @@ -import type { CollisionGroup } from '../Group/CollisionGroup'; -import type { RayCastHit } from './RayCastHit'; +import type { CollisionGroup } from '../group/collision-group'; +import type { RayCastHit } from './ray-cast-hit'; export interface RayCastOptions { /** diff --git a/src/engine/Collision/Detection/SparseHashGridCollisionProcessor.ts b/src/engine/collision/detection/sparse-hash-grid-collision-processor.ts similarity index 91% rename from src/engine/Collision/Detection/SparseHashGridCollisionProcessor.ts rename to src/engine/collision/detection/sparse-hash-grid-collision-processor.ts index 5777003c..72002c41 100644 --- a/src/engine/Collision/Detection/SparseHashGridCollisionProcessor.ts +++ b/src/engine/collision/detection/sparse-hash-grid-collision-processor.ts @@ -1,23 +1,23 @@ -import type { FrameStats } from '../../Debug/DebugConfig'; -import type { Entity } from '../../EntityComponentSystem'; -import type { ExcaliburGraphicsContext } from '../../Graphics/Context/ExcaliburGraphicsContext'; -import { createId } from '../../Id'; -import type { Ray } from '../../Math/ray'; -import type { Vector } from '../../Math/vector'; -import { vec } from '../../Math/vector'; -import { Pool } from '../../Util/Pool'; -import { BodyComponent } from '../BodyComponent'; -import type { BoundingBox } from '../BoundingBox'; -import type { Collider } from '../Colliders/Collider'; -import { CompositeCollider } from '../Colliders/CompositeCollider'; -import { CollisionType } from '../CollisionType'; -import { CollisionGroup } from '../Group/CollisionGroup'; -import type { CollisionContact } from './CollisionContact'; -import type { CollisionProcessor } from './CollisionProcessor'; -import { Pair } from './Pair'; -import type { RayCastHit } from './RayCastHit'; -import type { RayCastOptions } from './RayCastOptions'; -import { HashGridCell, HashGridProxy, SparseHashGrid } from './SparseHashGrid'; +import type { FrameStats } from '../../debug/debug-config'; +import type { Entity } from '../../entity-component-system'; +import type { ExcaliburGraphicsContext } from '../../graphics/context/excalibur-graphics-context'; +import { createId } from '../../id'; +import type { Ray } from '../../math/ray'; +import type { Vector } from '../../math/vector'; +import { vec } from '../../math/vector'; +import { Pool } from '../../util/pool'; +import { BodyComponent } from '../body-component'; +import type { BoundingBox } from '../bounding-box'; +import type { Collider } from '../colliders/collider'; +import { CompositeCollider } from '../colliders/composite-collider'; +import { CollisionType } from '../collision-type'; +import { CollisionGroup } from '../group/collision-group'; +import type { CollisionContact } from './collision-contact'; +import type { CollisionProcessor } from './collision-processor'; +import { Pair } from './pair'; +import type { RayCastHit } from './ray-cast-hit'; +import type { RayCastOptions } from './ray-cast-options'; +import { HashGridCell, HashGridProxy, SparseHashGrid } from './sparse-hash-grid'; /** * Proxy type to stash collision info diff --git a/src/engine/Collision/Detection/SparseHashGrid.ts b/src/engine/collision/detection/sparse-hash-grid.ts similarity index 96% rename from src/engine/Collision/Detection/SparseHashGrid.ts rename to src/engine/collision/detection/sparse-hash-grid.ts index 159255bb..41c66a07 100644 --- a/src/engine/Collision/Detection/SparseHashGrid.ts +++ b/src/engine/collision/detection/sparse-hash-grid.ts @@ -1,8 +1,8 @@ -import { Color } from '../../Color'; -import type { ExcaliburGraphicsContext } from '../../Graphics/Context/ExcaliburGraphicsContext'; -import type { Vector } from '../../Math/vector'; -import { RentalPool } from '../../Util/RentalPool'; -import { BoundingBox } from '../BoundingBox'; +import { Color } from '../../color'; +import type { ExcaliburGraphicsContext } from '../../graphics/context/excalibur-graphics-context'; +import type { Vector } from '../../math/vector'; +import { RentalPool } from '../../util/rental-pool'; +import { BoundingBox } from '../bounding-box'; export class HashGridProxy { id: number = -1; diff --git a/src/engine/Collision/Detection/SpatialPartitionStrategy.ts b/src/engine/collision/detection/spatial-partition-strategy.ts similarity index 100% rename from src/engine/Collision/Detection/SpatialPartitionStrategy.ts rename to src/engine/collision/detection/spatial-partition-strategy.ts diff --git a/src/engine/Collision/Group/CollisionGroupManager.ts b/src/engine/collision/group/collision-group-manager.ts similarity index 97% rename from src/engine/Collision/Group/CollisionGroupManager.ts rename to src/engine/collision/group/collision-group-manager.ts index f95a09cb..e6797e38 100644 --- a/src/engine/Collision/Group/CollisionGroupManager.ts +++ b/src/engine/collision/group/collision-group-manager.ts @@ -1,4 +1,4 @@ -import { CollisionGroup } from './CollisionGroup'; +import { CollisionGroup } from './collision-group'; /** * Static class for managing collision groups in excalibur, there is a maximum of 32 collision groups possible in excalibur diff --git a/src/engine/Collision/Group/CollisionGroup.ts b/src/engine/collision/group/collision-group.ts similarity index 98% rename from src/engine/Collision/Group/CollisionGroup.ts rename to src/engine/collision/group/collision-group.ts index 50b824bb..e84c4511 100644 --- a/src/engine/Collision/Group/CollisionGroup.ts +++ b/src/engine/collision/group/collision-group.ts @@ -1,4 +1,4 @@ -import { CollisionGroupManager } from './CollisionGroupManager'; +import { CollisionGroupManager } from './collision-group-manager'; /** * CollisionGroups indicate like members that do not collide with each other. Use {@apilink CollisionGroupManager} to create {@apilink CollisionGroup}s diff --git a/src/engine/collision/index.ts b/src/engine/collision/index.ts new file mode 100644 index 00000000..e3711177 --- /dev/null +++ b/src/engine/collision/index.ts @@ -0,0 +1,45 @@ +export * from './body-component'; +export * from './collider-component'; +export * from './collision-type'; +export * from './solver-strategy'; + +export * from './colliders/collider'; +export * from './bounding-box'; + +export * from './colliders/shape'; +export * from './colliders/collider'; +export * from './colliders/composite-collider'; +export * from './colliders/circle-collider'; +export * from './colliders/edge-collider'; +export * from './colliders/polygon-collider'; +export * from './colliders/collision-jump-table'; +export * from './colliders/closest-line-jump-table'; +export * from './colliders/separating-axis'; + +export * from './group/collision-group'; +export * from './group/collision-group-manager'; + +export * from './detection/pair'; +export * from './detection/collision-contact'; +export type * from './detection/ray-cast-hit'; +export type * from './detection/ray-cast-options'; +export type * from './detection/collision-processor'; +export * from './detection/dynamic-tree'; +export * from './detection/dynamic-tree-collision-processor'; +export * from './detection/sparse-hash-grid-collision-processor'; +export * from './detection/sparse-hash-grid'; +export * from './detection/spatial-partition-strategy'; +export * from './detection/quad-tree'; + +export * from './solver/arcade-solver'; +export * from './solver/contact-bias'; +export * from './solver/contact-constraint-point'; +export * from './solver/realistic-solver'; +export type * from './solver/solver'; + +export * from './collision-system'; +export * from './motion-system'; + +export * from './physics-world'; +export * from './physics-config'; +export * from './side'; diff --git a/src/engine/Collision/Integrator.ts b/src/engine/collision/integrator.ts similarity index 84% rename from src/engine/Collision/Integrator.ts rename to src/engine/collision/integrator.ts index e0a9f872..aa66d566 100644 --- a/src/engine/Collision/Integrator.ts +++ b/src/engine/collision/integrator.ts @@ -1,7 +1,7 @@ -import { Vector } from '../Math/vector'; -import type { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import type { MotionComponent } from '../EntityComponentSystem/Components/MotionComponent'; -import { clamp } from '../Math'; +import { Vector } from '../math/vector'; +import type { TransformComponent } from '../entity-component-system/components/transform-component'; +import type { MotionComponent } from '../entity-component-system/components/motion-component'; +import { clamp } from '../math'; export class EulerIntegrator { // Scratch vectors to avoid allocation diff --git a/src/engine/Collision/Island.ts b/src/engine/collision/island.ts similarity index 98% rename from src/engine/Collision/Island.ts rename to src/engine/collision/island.ts index bde8583f..c5c67fab 100644 --- a/src/engine/Collision/Island.ts +++ b/src/engine/collision/island.ts @@ -1,5 +1,5 @@ -import type { BodyConfig } from './Index'; -import { CollisionType, type BodyComponent, type CollisionContact } from './Index'; +import type { BodyConfig } from './index'; +import { CollisionType, type BodyComponent, type CollisionContact } from './index'; export class Island { bodies: BodyComponent[] = []; diff --git a/src/engine/Collision/MotionSystem.ts b/src/engine/collision/motion-system.ts similarity index 81% rename from src/engine/Collision/MotionSystem.ts rename to src/engine/collision/motion-system.ts index 06e54f45..befb33ad 100644 --- a/src/engine/Collision/MotionSystem.ts +++ b/src/engine/collision/motion-system.ts @@ -1,12 +1,12 @@ -import type { Entity, Query, World } from '../EntityComponentSystem'; -import { SystemPriority } from '../EntityComponentSystem'; -import { MotionComponent } from '../EntityComponentSystem/Components/MotionComponent'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import { System, SystemType } from '../EntityComponentSystem/System'; -import { BodyComponent } from './BodyComponent'; -import { CollisionType } from './CollisionType'; -import { EulerIntegrator } from './Integrator'; -import type { PhysicsWorld } from './PhysicsWorld'; +import type { Entity, Query, World } from '../entity-component-system'; +import { SystemPriority } from '../entity-component-system'; +import { MotionComponent } from '../entity-component-system/components/motion-component'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import { System, SystemType } from '../entity-component-system/system'; +import { BodyComponent } from './body-component'; +import { CollisionType } from './collision-type'; +import { EulerIntegrator } from './integrator'; +import type { PhysicsWorld } from './physics-world'; export class MotionSystem extends System { static priority = SystemPriority.Higher; diff --git a/src/engine/Collision/PhysicsConfig.ts b/src/engine/collision/physics-config.ts similarity index 95% rename from src/engine/Collision/PhysicsConfig.ts rename to src/engine/collision/physics-config.ts index 866518ed..a7151507 100644 --- a/src/engine/Collision/PhysicsConfig.ts +++ b/src/engine/collision/physics-config.ts @@ -1,9 +1,9 @@ -import type { Vector } from '../Math/vector'; -import { vec } from '../Math/vector'; -import type { DeepRequired } from '../Util/Required'; -import { SolverStrategy } from './SolverStrategy'; -import { ContactSolveBias } from './Solver/ContactBias'; -import { SpatialPartitionStrategy } from './Detection/SpatialPartitionStrategy'; +import type { Vector } from '../math/vector'; +import { vec } from '../math/vector'; +import type { DeepRequired } from '../util/required'; +import { SolverStrategy } from './solver-strategy'; +import { ContactSolveBias } from './solver/contact-bias'; +import { SpatialPartitionStrategy } from './detection/spatial-partition-strategy'; export interface DynamicTreeConfig { /** diff --git a/src/engine/Collision/PhysicsWorld.ts b/src/engine/collision/physics-world.ts similarity index 84% rename from src/engine/Collision/PhysicsWorld.ts rename to src/engine/collision/physics-world.ts index f22f3e9b..a20f3d47 100644 --- a/src/engine/Collision/PhysicsWorld.ts +++ b/src/engine/collision/physics-world.ts @@ -1,13 +1,13 @@ -import type { Ray } from '../Math/ray'; -import type { DeepRequired } from '../Util/Required'; -import { Observable } from '../Util/Observable'; -import type { BoundingBox, Collider, CollisionProcessor, RayCastHit, RayCastOptions } from './Index'; -import { DynamicTreeCollisionProcessor, SparseHashGridCollisionProcessor } from './Index'; -import { BodyComponent } from './BodyComponent'; -import type { PhysicsConfig } from './PhysicsConfig'; -import { watchDeep } from '../Util/Watch'; -import type { Vector } from '../Math/vector'; -import { SpatialPartitionStrategy } from './Detection/SpatialPartitionStrategy'; +import type { Ray } from '../math/ray'; +import type { DeepRequired } from '../util/required'; +import { Observable } from '../util/observable'; +import type { BoundingBox, Collider, CollisionProcessor, RayCastHit, RayCastOptions } from './index'; +import { DynamicTreeCollisionProcessor, SparseHashGridCollisionProcessor } from './index'; +import { BodyComponent } from './body-component'; +import type { PhysicsConfig } from './physics-config'; +import { watchDeep } from '../util/watch'; +import type { Vector } from '../math/vector'; +import { SpatialPartitionStrategy } from './detection/spatial-partition-strategy'; export class PhysicsWorld { $configUpdate = new Observable>(); diff --git a/src/engine/Collision/Side.ts b/src/engine/collision/side.ts similarity index 95% rename from src/engine/Collision/Side.ts rename to src/engine/collision/side.ts index cd522169..703cf7e3 100644 --- a/src/engine/Collision/Side.ts +++ b/src/engine/collision/side.ts @@ -1,4 +1,4 @@ -import type { Vector } from '../Math/vector'; +import type { Vector } from '../math/vector'; /** * An enum that describes the sides of an axis aligned box for collision diff --git a/src/engine/Collision/SolverStrategy.ts b/src/engine/collision/solver-strategy.ts similarity index 100% rename from src/engine/Collision/SolverStrategy.ts rename to src/engine/collision/solver-strategy.ts diff --git a/src/engine/Collision/Solver/ArcadeSolver.ts b/src/engine/collision/solver/arcade-solver.ts similarity index 93% rename from src/engine/Collision/Solver/ArcadeSolver.ts rename to src/engine/collision/solver/arcade-solver.ts index 69d81a48..e12890f6 100644 --- a/src/engine/Collision/Solver/ArcadeSolver.ts +++ b/src/engine/collision/solver/arcade-solver.ts @@ -1,13 +1,13 @@ -import { PostCollisionEvent, PreCollisionEvent } from '../../Events'; -import type { CollisionContact } from '../Detection/CollisionContact'; -import { CollisionType } from '../CollisionType'; -import { Side } from '../Side'; -import type { CollisionSolver } from './Solver'; -import { BodyComponent } from '../BodyComponent'; -import type { ContactBias } from './ContactBias'; -import { ContactSolveBias, HorizontalFirst, None, VerticalFirst } from './ContactBias'; -import type { PhysicsConfig } from '../PhysicsConfig'; -import type { DeepRequired } from '../../Util/Required'; +import { PostCollisionEvent, PreCollisionEvent } from '../../events'; +import type { CollisionContact } from '../detection/collision-contact'; +import { CollisionType } from '../collision-type'; +import { Side } from '../side'; +import type { CollisionSolver } from './solver'; +import { BodyComponent } from '../body-component'; +import type { ContactBias } from './contact-bias'; +import { ContactSolveBias, HorizontalFirst, None, VerticalFirst } from './contact-bias'; +import type { PhysicsConfig } from '../physics-config'; +import type { DeepRequired } from '../../util/required'; /** * ArcadeSolver is the default in Excalibur. It solves collisions so that there is no overlap between contacts, diff --git a/src/engine/Collision/Solver/ContactBias.ts b/src/engine/collision/solver/contact-bias.ts similarity index 100% rename from src/engine/Collision/Solver/ContactBias.ts rename to src/engine/collision/solver/contact-bias.ts diff --git a/src/engine/Collision/Solver/ContactConstraintPoint.ts b/src/engine/collision/solver/contact-constraint-point.ts similarity index 96% rename from src/engine/Collision/Solver/ContactConstraintPoint.ts rename to src/engine/collision/solver/contact-constraint-point.ts index c62315f6..943d8894 100644 --- a/src/engine/Collision/Solver/ContactConstraintPoint.ts +++ b/src/engine/collision/solver/contact-constraint-point.ts @@ -1,5 +1,5 @@ -import { Vector } from '../../Math/vector'; -import type { CollisionContact } from '../Detection/CollisionContact'; +import { Vector } from '../../math/vector'; +import type { CollisionContact } from '../detection/collision-contact'; /** * Holds information about contact points, meant to be reused over multiple frames of contact diff --git a/src/engine/Collision/Solver/RealisticSolver.ts b/src/engine/collision/solver/realistic-solver.ts similarity index 95% rename from src/engine/Collision/Solver/RealisticSolver.ts rename to src/engine/collision/solver/realistic-solver.ts index 4fc297b0..1df0ca58 100644 --- a/src/engine/Collision/Solver/RealisticSolver.ts +++ b/src/engine/collision/solver/realistic-solver.ts @@ -1,16 +1,16 @@ -import { CollisionPostSolveEvent, CollisionPreSolveEvent, PostCollisionEvent, PreCollisionEvent } from '../../Events'; -import { clamp } from '../../Math/util'; -import type { CollisionContact } from '../Detection/CollisionContact'; -import { CollisionType } from '../CollisionType'; -import { ContactConstraintPoint } from './ContactConstraintPoint'; -import { Side } from '../Side'; -import type { CollisionSolver } from './Solver'; -import { DegreeOfFreedom } from '../BodyComponent'; -import { CollisionJumpTable } from '../Colliders/CollisionJumpTable'; -import type { DeepRequired } from '../../Util/Required'; -import type { PhysicsConfig } from '../PhysicsConfig'; -import type { ContactBias } from './ContactBias'; -import { ContactSolveBias, HorizontalFirst, None, VerticalFirst } from './ContactBias'; +import { CollisionPostSolveEvent, CollisionPreSolveEvent, PostCollisionEvent, PreCollisionEvent } from '../../events'; +import { clamp } from '../../math/util'; +import type { CollisionContact } from '../detection/collision-contact'; +import { CollisionType } from '../collision-type'; +import { ContactConstraintPoint } from './contact-constraint-point'; +import { Side } from '../side'; +import type { CollisionSolver } from './solver'; +import { DegreeOfFreedom } from '../body-component'; +import { CollisionJumpTable } from '../colliders/collision-jump-table'; +import type { DeepRequired } from '../../util/required'; +import type { PhysicsConfig } from '../physics-config'; +import type { ContactBias } from './contact-bias'; +import { ContactSolveBias, HorizontalFirst, None, VerticalFirst } from './contact-bias'; export class RealisticSolver implements CollisionSolver { directionMap = new Map(); diff --git a/src/engine/Collision/Solver/Solver.ts b/src/engine/collision/solver/solver.ts similarity index 95% rename from src/engine/Collision/Solver/Solver.ts rename to src/engine/collision/solver/solver.ts index 7e94d6e2..0359a8f8 100644 --- a/src/engine/Collision/Solver/Solver.ts +++ b/src/engine/collision/solver/solver.ts @@ -1,4 +1,4 @@ -import type { CollisionContact } from '../Detection/CollisionContact'; +import type { CollisionContact } from '../detection/collision-contact'; /** * A collision solver figures out how to position colliders such that they are no longer overlapping diff --git a/src/engine/Color.ts b/src/engine/color.ts similarity index 99% rename from src/engine/Color.ts rename to src/engine/color.ts index f2ff926a..345c31bc 100644 --- a/src/engine/Color.ts +++ b/src/engine/color.ts @@ -1,4 +1,4 @@ -import { Random } from './Math'; +import { Random } from './math'; /** * Provides standard colors (e.g. {@apilink Color.Black}) diff --git a/src/engine/Context.ts b/src/engine/context.ts similarity index 100% rename from src/engine/Context.ts rename to src/engine/context.ts diff --git a/src/engine/Debug/DebugConfig.ts b/src/engine/debug/debug-config.ts similarity index 97% rename from src/engine/Debug/DebugConfig.ts rename to src/engine/debug/debug-config.ts index 3e91ceb7..b0c022a7 100644 --- a/src/engine/Debug/DebugConfig.ts +++ b/src/engine/debug/debug-config.ts @@ -1,9 +1,9 @@ -import { ColorBlindFlags } from './DebugFlags'; -import type { Engine } from '../Engine'; -import { Color } from '../Color'; -import type { CollisionContact } from '../Collision/Detection/CollisionContact'; -import type { StandardClock, TestClock } from '../Util/Clock'; -import { Debug } from '../Graphics/Debug'; +import { ColorBlindFlags } from './debug-flags'; +import type { Engine } from '../engine'; +import { Color } from '../color'; +import type { CollisionContact } from '../collision/detection/collision-contact'; +import type { StandardClock, TestClock } from '../util/clock'; +import { Debug } from '../graphics/debug'; /** * Debug stats containing current and previous frame statistics diff --git a/src/engine/Debug/DebugFlags.ts b/src/engine/debug/debug-flags.ts similarity index 80% rename from src/engine/Debug/DebugFlags.ts rename to src/engine/debug/debug-flags.ts index 73039805..7469442f 100644 --- a/src/engine/Debug/DebugFlags.ts +++ b/src/engine/debug/debug-flags.ts @@ -1,7 +1,7 @@ -import { ColorBlindnessMode } from '../Graphics/PostProcessor/ColorBlindnessMode'; -import { ColorBlindnessPostProcessor } from '../Graphics/PostProcessor/ColorBlindnessPostProcessor'; -import type { Engine } from '../Engine'; -import { ExcaliburGraphicsContextWebGL } from '../Graphics/Context/ExcaliburGraphicsContextWebGL'; +import { ColorBlindnessMode } from '../graphics/post-processor/color-blindness-mode'; +import { ColorBlindnessPostProcessor } from '../graphics/post-processor/color-blindness-post-processor'; +import type { Engine } from '../engine'; +import { ExcaliburGraphicsContextWebGL } from '../graphics/context/excalibur-graphics-context-webgl'; export class ColorBlindFlags { private _engine: Engine; diff --git a/src/engine/Debug/DebugSystem.ts b/src/engine/debug/debug-system.ts similarity index 91% rename from src/engine/Debug/DebugSystem.ts rename to src/engine/debug/debug-system.ts index 79f99069..55f82bb5 100644 --- a/src/engine/Debug/DebugSystem.ts +++ b/src/engine/debug/debug-system.ts @@ -1,21 +1,21 @@ -import type { Engine } from '../Engine'; -import type { Scene } from '../Scene'; -import type { Camera } from '../Camera'; -import { MotionComponent } from '../EntityComponentSystem/Components/MotionComponent'; -import { ColliderComponent } from '../Collision/ColliderComponent'; -import type { Entity, Query, World } from '../EntityComponentSystem'; -import { SystemPriority, TransformComponent } from '../EntityComponentSystem'; -import { System, SystemType } from '../EntityComponentSystem/System'; -import type { ExcaliburGraphicsContext } from '../Graphics/Context/ExcaliburGraphicsContext'; -import { vec, Vector } from '../Math/vector'; -import { toDegrees } from '../Math/util'; -import { BodyComponent } from '../Collision/BodyComponent'; -import { CollisionSystem } from '../Collision/CollisionSystem'; -import { CompositeCollider } from '../Collision/Colliders/CompositeCollider'; -import { Particle } from '../Particles/Particles'; -import { DebugGraphicsComponent } from '../Graphics/DebugGraphicsComponent'; -import { CoordPlane } from '../Math/coord-plane'; -import { Debug } from '../Graphics/Debug'; +import type { Engine } from '../engine'; +import type { Scene } from '../scene'; +import type { Camera } from '../camera'; +import { MotionComponent } from '../entity-component-system/components/motion-component'; +import { ColliderComponent } from '../collision/collider-component'; +import type { Entity, Query, World } from '../entity-component-system'; +import { SystemPriority, TransformComponent } from '../entity-component-system'; +import { System, SystemType } from '../entity-component-system/system'; +import type { ExcaliburGraphicsContext } from '../graphics/context/excalibur-graphics-context'; +import { vec, Vector } from '../math/vector'; +import { toDegrees } from '../math/util'; +import { BodyComponent } from '../collision/body-component'; +import { CollisionSystem } from '../collision/collision-system'; +import { CompositeCollider } from '../collision/colliders/composite-collider'; +import { Particle } from '../particles/particles'; +import { DebugGraphicsComponent } from '../graphics/debug-graphics-component'; +import { CoordPlane } from '../math/coord-plane'; +import { Debug } from '../graphics/debug'; export class DebugSystem extends System { static priority = SystemPriority.Lowest; diff --git a/src/engine/debug/index.ts b/src/engine/debug/index.ts new file mode 100644 index 00000000..5faa4eed --- /dev/null +++ b/src/engine/debug/index.ts @@ -0,0 +1,3 @@ +export * from './debug-config'; +export * from './debug-flags'; +export * from './debug-system'; diff --git a/src/engine/Deprecated.ts b/src/engine/deprecated.ts similarity index 100% rename from src/engine/Deprecated.ts rename to src/engine/deprecated.ts diff --git a/src/engine/Director/Loader.css b/src/engine/director/Loader.css similarity index 100% rename from src/engine/Director/Loader.css rename to src/engine/director/Loader.css diff --git a/src/engine/Director/Loader.logo.png b/src/engine/director/Loader.logo.png similarity index 100% rename from src/engine/Director/Loader.logo.png rename to src/engine/director/Loader.logo.png diff --git a/src/engine/Director/CrossFade.ts b/src/engine/director/cross-fade.ts similarity index 83% rename from src/engine/Director/CrossFade.ts rename to src/engine/director/cross-fade.ts index e17033e5..6fcc4854 100644 --- a/src/engine/Director/CrossFade.ts +++ b/src/engine/director/cross-fade.ts @@ -1,10 +1,10 @@ -import type { Sprite } from '../Graphics'; -import { ImageSource } from '../Graphics'; -import type { Engine } from '../Engine'; -import type { Scene } from '../Scene'; -import type { TransitionOptions } from './Transition'; -import { Transition } from './Transition'; -import { vec } from '../Math/vector'; +import type { Sprite } from '../graphics'; +import { ImageSource } from '../graphics'; +import type { Engine } from '../engine'; +import type { Scene } from '../scene'; +import type { TransitionOptions } from './transition'; +import { Transition } from './transition'; +import { vec } from '../math/vector'; export interface CrossFadeOptions { duration: number; diff --git a/src/engine/Director/DefaultLoader.ts b/src/engine/director/default-loader.ts similarity index 93% rename from src/engine/Director/DefaultLoader.ts rename to src/engine/director/default-loader.ts index 263c7cd4..b984f1f1 100644 --- a/src/engine/Director/DefaultLoader.ts +++ b/src/engine/director/default-loader.ts @@ -1,15 +1,15 @@ -import { WebAudio } from '../Util/WebAudio'; -import type { Engine } from '../Engine'; -import type { Loadable } from '../Interfaces/Loadable'; -import { Canvas } from '../Graphics/Canvas'; -import { ImageFiltering } from '../Graphics/Filtering'; -import { clamp } from '../Math/util'; -import { Sound } from '../Resources/Sound/Sound'; -import { Future } from '../Util/Future'; -import type { EventKey, Handler, Subscription } from '../EventEmitter'; -import { EventEmitter } from '../EventEmitter'; -import { Color } from '../Color'; -import { delay } from '../Util/Util'; +import { WebAudio } from '../util/web-audio'; +import type { Engine } from '../engine'; +import type { Loadable } from '../interfaces/loadable'; +import { Canvas } from '../graphics/canvas'; +import { ImageFiltering } from '../graphics/filtering'; +import { clamp } from '../math/util'; +import { Sound } from '../resources/sound/sound'; +import { Future } from '../util/future'; +import type { EventKey, Handler, Subscription } from '../event-emitter'; +import { EventEmitter } from '../event-emitter'; +import { Color } from '../color'; +import { delay } from '../util/util'; export interface DefaultLoaderOptions { /** diff --git a/src/engine/Director/Director.ts b/src/engine/director/director.ts similarity index 97% rename from src/engine/Director/Director.ts rename to src/engine/director/director.ts index ad8654f6..8dc08f2f 100644 --- a/src/engine/Director/Director.ts +++ b/src/engine/director/director.ts @@ -1,13 +1,13 @@ -import type { Engine } from '../Engine'; -import type { LoaderConstructor } from './DefaultLoader'; -import { DefaultLoader, isLoaderConstructor } from './DefaultLoader'; -import type { SceneConstructor } from '../Scene'; -import { Scene, isSceneConstructor } from '../Scene'; -import type { Transition } from './Transition'; -import { Loader } from './Loader'; -import { Logger } from '../Util/Log'; -import { ActivateEvent, DeactivateEvent } from '../Events'; -import { EventEmitter } from '../EventEmitter'; +import type { Engine } from '../engine'; +import type { LoaderConstructor } from './default-loader'; +import { DefaultLoader, isLoaderConstructor } from './default-loader'; +import type { SceneConstructor } from '../scene'; +import { Scene, isSceneConstructor } from '../scene'; +import type { Transition } from './transition'; +import { Loader } from './loader'; +import { Logger } from '../util/log'; +import { ActivateEvent, DeactivateEvent } from '../events'; +import { EventEmitter } from '../event-emitter'; export interface DirectorNavigationEvent { sourceName: string; diff --git a/src/engine/Director/FadeInOut.ts b/src/engine/director/fade-in-out.ts similarity index 83% rename from src/engine/Director/FadeInOut.ts rename to src/engine/director/fade-in-out.ts index 6fd9da39..c3ce5ef1 100644 --- a/src/engine/Director/FadeInOut.ts +++ b/src/engine/director/fade-in-out.ts @@ -1,8 +1,8 @@ -import type { Engine } from '../Engine'; -import { Color } from '../Color'; -import { Rectangle } from '../Graphics'; -import type { TransitionOptions } from './Transition'; -import { Transition } from './Transition'; +import type { Engine } from '../engine'; +import { Color } from '../color'; +import { Rectangle } from '../graphics'; +import type { TransitionOptions } from './transition'; +import { Transition } from './transition'; export interface FadeOptions { duration?: number; diff --git a/src/engine/director/index.ts b/src/engine/director/index.ts new file mode 100644 index 00000000..dc2c9b05 --- /dev/null +++ b/src/engine/director/index.ts @@ -0,0 +1,7 @@ +export * from './transition'; +export * from './fade-in-out'; +export * from './cross-fade'; +export * from './slide'; +export * from './director'; +export * from './loader'; +export * from './default-loader'; diff --git a/src/engine/Director/Loader.ts b/src/engine/director/loader.ts similarity index 96% rename from src/engine/Director/Loader.ts rename to src/engine/director/loader.ts index 34903ba0..47fba277 100644 --- a/src/engine/Director/Loader.ts +++ b/src/engine/director/loader.ts @@ -1,18 +1,18 @@ -import { Color } from '../Color'; -import type { Loadable } from '../Interfaces/Loadable'; -import * as DrawUtil from '../Util/DrawUtil'; +import { Color } from '../color'; +import type { Loadable } from '../interfaces/loadable'; +import * as DrawUtil from '../util/draw-util'; import logoImg from './Loader.logo.png'; import loaderCss from './Loader.css?inline'; -import type { Vector } from '../Math/vector'; -import { delay } from '../Util/Util'; -import { EventEmitter } from '../EventEmitter'; -import type { DefaultLoaderOptions } from './DefaultLoader'; -import { DefaultLoader } from './DefaultLoader'; -import type { Engine } from '../Engine'; -import type { Screen } from '../Screen'; -import { Logger } from '../Util/Log'; -import { Future } from '../Util/Future'; +import type { Vector } from '../math/vector'; +import { delay } from '../util/util'; +import { EventEmitter } from '../event-emitter'; +import type { DefaultLoaderOptions } from './default-loader'; +import { DefaultLoader } from './default-loader'; +import type { Engine } from '../engine'; +import type { Screen } from '../screen'; +import { Logger } from '../util/log'; +import { Future } from '../util/future'; export interface LoaderOptions extends DefaultLoaderOptions { /** diff --git a/src/engine/Director/Slide.ts b/src/engine/director/slide.ts similarity index 87% rename from src/engine/Director/Slide.ts rename to src/engine/director/slide.ts index 922e12a9..e28582f6 100644 --- a/src/engine/Director/Slide.ts +++ b/src/engine/director/slide.ts @@ -1,15 +1,15 @@ -import type { Sprite } from '../Graphics'; -import { ImageSource } from '../Graphics'; -import type { Engine } from '../Engine'; -import type { Scene } from '../Scene'; -import type { TransitionOptions } from './Transition'; -import { Transition } from './Transition'; -import { Vector } from '../Math/vector'; -import { vec } from '../Math/vector'; -import { EasingFunctions, type EasingFunction } from '../Util/EasingFunctions'; -import { CoordPlane } from '../Math/coord-plane'; -import { lerp } from '../Math/lerp'; -import type { Camera } from '../Camera'; +import type { Sprite } from '../graphics'; +import { ImageSource } from '../graphics'; +import type { Engine } from '../engine'; +import type { Scene } from '../scene'; +import type { TransitionOptions } from './transition'; +import { Transition } from './transition'; +import { Vector } from '../math/vector'; +import { vec } from '../math/vector'; +import { EasingFunctions, type EasingFunction } from '../util/easing-functions'; +import { CoordPlane } from '../math/coord-plane'; +import { lerp } from '../math/lerp'; +import type { Camera } from '../camera'; export interface SlideOptions { /** diff --git a/src/engine/Director/Transition.ts b/src/engine/director/transition.ts similarity index 90% rename from src/engine/Director/Transition.ts rename to src/engine/director/transition.ts index 021b5d89..d55b79ec 100644 --- a/src/engine/Director/Transition.ts +++ b/src/engine/director/transition.ts @@ -1,19 +1,19 @@ -import type { Engine } from '../Engine'; -import type { Scene } from '../Scene'; -import { Future } from '../Util/Future'; -import { Entity, TransformComponent } from '../EntityComponentSystem'; -import { GraphicsComponent } from '../Graphics'; -import { CoordPlane } from '../Math/coord-plane'; -import { Vector } from '../Math/vector'; -import { clamp } from '../Math/util'; -import type { EasingFunction } from '../Util/EasingFunctions'; -import { EasingFunctions, isLegacyEasing } from '../Util/EasingFunctions'; -import type { CoroutineInstance } from '../Util/Coroutine'; -import { coroutine } from '../Util/Coroutine'; -import { Logger } from '../Util/Log'; -import type { Easing } from '../Math/easings'; -import { linear } from '../Math/easings'; -import { lerp } from '../Math'; +import type { Engine } from '../engine'; +import type { Scene } from '../scene'; +import { Future } from '../util/future'; +import { Entity, TransformComponent } from '../entity-component-system'; +import { GraphicsComponent } from '../graphics'; +import { CoordPlane } from '../math/coord-plane'; +import { Vector } from '../math/vector'; +import { clamp } from '../math/util'; +import type { EasingFunction } from '../util/easing-functions'; +import { EasingFunctions, isLegacyEasing } from '../util/easing-functions'; +import type { CoroutineInstance } from '../util/coroutine'; +import { coroutine } from '../util/coroutine'; +import { Logger } from '../util/log'; +import type { Easing } from '../math/easings'; +import { linear } from '../math/easings'; +import { lerp } from '../math'; export interface TransitionOptions { /** diff --git a/src/engine/Director/tsconfig.json b/src/engine/director/tsconfig.json similarity index 100% rename from src/engine/Director/tsconfig.json rename to src/engine/director/tsconfig.json diff --git a/src/engine/Engine.ts b/src/engine/engine.ts similarity index 96% rename from src/engine/Engine.ts rename to src/engine/engine.ts index 1d877304..d6a009ba 100644 --- a/src/engine/Engine.ts +++ b/src/engine/engine.ts @@ -1,22 +1,22 @@ import { EX_VERSION } from './'; -import { Future } from './Util/Future'; -import type { EventKey, Handler, Subscription } from './EventEmitter'; -import { EventEmitter } from './EventEmitter'; -import { PointerScope } from './Input/PointerScope'; -import { Flags } from './Flags'; -import { polyfill } from './Polyfill'; +import { Future } from './util/future'; +import type { EventKey, Handler, Subscription } from './event-emitter'; +import { EventEmitter } from './event-emitter'; +import { PointerScope } from './input/pointer-scope'; +import { Flags } from './flags'; +import { polyfill } from './polyfill'; polyfill(); -import type { CanUpdate, CanDraw, CanInitialize } from './Interfaces/LifecycleEvents'; -import type { Vector } from './Math/vector'; -import type { ViewportDimension } from './Screen'; -import { Screen, DisplayMode, Resolution } from './Screen'; -import type { ScreenElement } from './ScreenElement'; -import type { Actor } from './Actor'; -import type { Timer } from './Timer'; -import type { TileMap } from './TileMap'; -import { DefaultLoader } from './Director/DefaultLoader'; -import { Loader } from './Director/Loader'; -import { Detector } from './Util/Detector'; +import type { CanUpdate, CanDraw, CanInitialize } from './interfaces/lifecycle-events'; +import type { Vector } from './math/vector'; +import type { ViewportDimension } from './screen'; +import { Screen, DisplayMode, Resolution } from './screen'; +import type { ScreenElement } from './screen-element'; +import type { Actor } from './actor'; +import type { Timer } from './timer'; +import type { TileMap } from './tile-map'; +import { DefaultLoader } from './director/default-loader'; +import { Loader } from './director/loader'; +import { Detector } from './util/detector'; import { VisibleEvent, HiddenEvent, @@ -29,41 +29,41 @@ import { PreDrawEvent, PostDrawEvent, InitializeEvent -} from './Events'; -import { Logger, LogLevel } from './Util/Log'; -import { Color } from './Color'; -import type { SceneConstructor } from './Scene'; -import { Scene, isSceneConstructor } from './Scene'; -import { Entity } from './EntityComponentSystem/Entity'; -import type { DebugStats } from './Debug/DebugConfig'; -import { DebugConfig } from './Debug/DebugConfig'; -import { BrowserEvents } from './Util/Browser'; -import type { AntialiasOptions, ExcaliburGraphicsContext } from './Graphics'; +} from './events'; +import { Logger, LogLevel } from './util/log'; +import { Color } from './color'; +import type { SceneConstructor } from './scene'; +import { Scene, isSceneConstructor } from './scene'; +import { Entity } from './entity-component-system/entity'; +import type { DebugStats } from './debug/debug-config'; +import { DebugConfig } from './debug/debug-config'; +import { BrowserEvents } from './util/browser'; +import type { AntialiasOptions, ExcaliburGraphicsContext } from './graphics'; import { DefaultAntialiasOptions, DefaultPixelArtOptions, ExcaliburGraphicsContext2DCanvas, ExcaliburGraphicsContextWebGL, TextureLoader -} from './Graphics'; -import type { Clock } from './Util/Clock'; -import { StandardClock } from './Util/Clock'; -import { ImageFiltering } from './Graphics/Filtering'; -import { GraphicsDiagnostics } from './Graphics/GraphicsDiagnostics'; -import { Toaster } from './Util/Toaster'; -import type { InputMapper } from './Input/InputMapper'; -import type { GoToOptions, SceneMap, StartOptions, SceneWithOptions, WithRoot } from './Director/Director'; -import { Director, DirectorEvents } from './Director/Director'; -import { InputHost } from './Input/InputHost'; -import type { PhysicsConfig } from './Collision/PhysicsConfig'; -import { getDefaultPhysicsConfig } from './Collision/PhysicsConfig'; -import type { DeepRequired } from './Util/Required'; -import type { Context } from './Context'; -import { createContext, useContext } from './Context'; -import type { GarbageCollectionOptions } from './GarbageCollector'; -import { DefaultGarbageCollectionOptions, GarbageCollector } from './GarbageCollector'; -import { mergeDeep } from './Util/Util'; -import { getDefaultGlobal } from './Util/IFrame'; +} from './graphics'; +import type { Clock } from './util/clock'; +import { StandardClock } from './util/clock'; +import { ImageFiltering } from './graphics/filtering'; +import { GraphicsDiagnostics } from './graphics/graphics-diagnostics'; +import { Toaster } from './util/toaster'; +import type { InputMapper } from './input/input-mapper'; +import type { GoToOptions, SceneMap, StartOptions, SceneWithOptions, WithRoot } from './director/director'; +import { Director, DirectorEvents } from './director/director'; +import { InputHost } from './input/input-host'; +import type { PhysicsConfig } from './collision/physics-config'; +import { getDefaultPhysicsConfig } from './collision/physics-config'; +import type { DeepRequired } from './util/required'; +import type { Context } from './context'; +import { createContext, useContext } from './context'; +import type { GarbageCollectionOptions } from './garbage-collector'; +import { DefaultGarbageCollectionOptions, GarbageCollector } from './garbage-collector'; +import { mergeDeep } from './util/util'; +import { getDefaultGlobal } from './util/iframe'; export interface EngineEvents extends DirectorEvents { fallbackgraphicscontext: ExcaliburGraphicsContext2DCanvas; diff --git a/src/engine/EntityComponentSystem/Component.ts b/src/engine/entity-component-system/component.ts similarity index 98% rename from src/engine/EntityComponentSystem/Component.ts rename to src/engine/entity-component-system/component.ts index 528ec61a..de6edbf4 100644 --- a/src/engine/EntityComponentSystem/Component.ts +++ b/src/engine/entity-component-system/component.ts @@ -1,4 +1,4 @@ -import type { Entity } from './Entity'; +import type { Entity } from './entity'; /** * Component Constructor Types diff --git a/src/engine/EntityComponentSystem/Components/MotionComponent.ts b/src/engine/entity-component-system/components/motion-component.ts similarity index 95% rename from src/engine/EntityComponentSystem/Components/MotionComponent.ts rename to src/engine/entity-component-system/components/motion-component.ts index 69780157..0fa18c6c 100644 --- a/src/engine/EntityComponentSystem/Components/MotionComponent.ts +++ b/src/engine/entity-component-system/components/motion-component.ts @@ -1,5 +1,5 @@ -import { Vector } from '../../Math/vector'; -import { Component } from '../Component'; +import { Vector } from '../../math/vector'; +import { Component } from '../component'; export interface Motion { /** diff --git a/src/engine/EntityComponentSystem/Components/TagsComponent.ts b/src/engine/entity-component-system/components/tags-component.ts similarity index 66% rename from src/engine/EntityComponentSystem/Components/TagsComponent.ts rename to src/engine/entity-component-system/components/tags-component.ts index 9d23d18c..177b1626 100644 --- a/src/engine/EntityComponentSystem/Components/TagsComponent.ts +++ b/src/engine/entity-component-system/components/tags-component.ts @@ -1,4 +1,4 @@ -import { Component } from '../Component'; +import { Component } from '../component'; export class TagsComponent extends Component { public tags = new Set(); diff --git a/src/engine/EntityComponentSystem/Components/TransformComponent.ts b/src/engine/entity-component-system/components/transform-component.ts similarity index 91% rename from src/engine/EntityComponentSystem/Components/TransformComponent.ts rename to src/engine/entity-component-system/components/transform-component.ts index 4a0ef555..808dd7cd 100644 --- a/src/engine/EntityComponentSystem/Components/TransformComponent.ts +++ b/src/engine/entity-component-system/components/transform-component.ts @@ -1,10 +1,10 @@ -import type { Vector } from '../../Math/vector'; -import { CoordPlane } from '../../Math/coord-plane'; -import { Transform } from '../../Math/transform'; -import { Component } from '../Component'; -import type { Entity } from '../Entity'; -import { Observable } from '../../Util/Observable'; -import { Logger } from '../../Util/Log'; +import type { Vector } from '../../math/vector'; +import { CoordPlane } from '../../math/coord-plane'; +import { Transform } from '../../math/transform'; +import { Component } from '../component'; +import type { Entity } from '../entity'; +import { Observable } from '../../util/observable'; +import { Logger } from '../../util/log'; export class TransformComponent extends Component { private _logger = Logger.getInstance(); diff --git a/src/engine/EntityComponentSystem/EntityManager.ts b/src/engine/entity-component-system/entity-manager.ts similarity index 96% rename from src/engine/EntityComponentSystem/EntityManager.ts rename to src/engine/entity-component-system/entity-manager.ts index 43361985..01018958 100644 --- a/src/engine/EntityComponentSystem/EntityManager.ts +++ b/src/engine/entity-component-system/entity-manager.ts @@ -1,7 +1,7 @@ -import { Entity } from './Entity'; -import type { World } from './World'; -import { removeItemFromArray } from '../Util/Util'; -import type { Scene } from '../Scene'; +import { Entity } from './entity'; +import type { World } from './world'; +import { removeItemFromArray } from '../util/util'; +import type { Scene } from '../scene'; // Add/Remove entities and components diff --git a/src/engine/EntityComponentSystem/Entity.ts b/src/engine/entity-component-system/entity.ts similarity index 96% rename from src/engine/EntityComponentSystem/Entity.ts rename to src/engine/entity-component-system/entity.ts index 59c9ba98..cab1e34a 100644 --- a/src/engine/EntityComponentSystem/Entity.ts +++ b/src/engine/entity-component-system/entity.ts @@ -1,17 +1,17 @@ -import type { ComponentCtor } from './Component'; -import { Component, isComponentCtor } from './Component'; - -import type { Message } from '../Util/Observable'; -import { Observable } from '../Util/Observable'; -import type { OnInitialize, OnPreUpdate, OnPostUpdate, OnAdd, OnRemove } from '../Interfaces/LifecycleEvents'; -import type { Engine } from '../Engine'; -import { InitializeEvent, PreUpdateEvent, PostUpdateEvent, AddEvent, RemoveEvent } from '../Events'; -import { KillEvent } from '../Events'; -import type { EventKey, Handler, Subscription } from '../EventEmitter'; -import { EventEmitter } from '../EventEmitter'; -import type { Scene } from '../Scene'; -import { removeItemFromArray } from '../Util/Util'; -import type { MaybeKnownComponent } from './Types'; +import type { ComponentCtor } from './component'; +import { Component, isComponentCtor } from './component'; + +import type { Message } from '../util/observable'; +import { Observable } from '../util/observable'; +import type { OnInitialize, OnPreUpdate, OnPostUpdate, OnAdd, OnRemove } from '../interfaces/lifecycle-events'; +import type { Engine } from '../engine'; +import { InitializeEvent, PreUpdateEvent, PostUpdateEvent, AddEvent, RemoveEvent } from '../events'; +import { KillEvent } from '../events'; +import type { EventKey, Handler, Subscription } from '../event-emitter'; +import { EventEmitter } from '../event-emitter'; +import type { Scene } from '../scene'; +import { removeItemFromArray } from '../util/util'; +import type { MaybeKnownComponent } from './types'; /** * Interface holding an entity component pair diff --git a/src/engine/entity-component-system/index.ts b/src/engine/entity-component-system/index.ts new file mode 100644 index 00000000..3eaef870 --- /dev/null +++ b/src/engine/entity-component-system/index.ts @@ -0,0 +1,14 @@ +export * from './component'; +export * from './entity'; +export * from './entity-manager'; +export * from './query'; +export * from './tag-query'; +export * from './query-manager'; +export * from './system'; +export * from './system-manager'; +export * from './world'; +export type * from './types'; +export * from './priority'; + +export * from './components/transform-component'; +export * from './components/motion-component'; diff --git a/src/engine/EntityComponentSystem/Priority.ts b/src/engine/entity-component-system/priority.ts similarity index 100% rename from src/engine/EntityComponentSystem/Priority.ts rename to src/engine/entity-component-system/priority.ts diff --git a/src/engine/EntityComponentSystem/QueryManager.ts b/src/engine/entity-component-system/query-manager.ts similarity index 96% rename from src/engine/EntityComponentSystem/QueryManager.ts rename to src/engine/entity-component-system/query-manager.ts index 728dc543..53bd4b8c 100644 --- a/src/engine/EntityComponentSystem/QueryManager.ts +++ b/src/engine/entity-component-system/query-manager.ts @@ -1,8 +1,8 @@ -import type { Entity } from './Entity'; -import type { QueryParams } from './Query'; -import { Query } from './Query'; -import type { Component, ComponentCtor } from './Component'; -import type { World } from './World'; +import type { Entity } from './entity'; +import type { QueryParams } from './query'; +import { Query } from './query'; +import type { Component, ComponentCtor } from './component'; +import type { World } from './world'; /** * The query manager is responsible for updating all queries when entities/components change diff --git a/src/engine/EntityComponentSystem/Query.ts b/src/engine/entity-component-system/query.ts similarity index 97% rename from src/engine/EntityComponentSystem/Query.ts rename to src/engine/entity-component-system/query.ts index 994b5373..2fcfe026 100644 --- a/src/engine/EntityComponentSystem/Query.ts +++ b/src/engine/entity-component-system/query.ts @@ -1,6 +1,6 @@ -import type { Entity } from './Entity'; -import { Observable } from '../Util/Observable'; -import type { Component, ComponentCtor } from '../EntityComponentSystem/Component'; +import type { Entity } from './entity'; +import { Observable } from '../util/observable'; +import type { Component, ComponentCtor } from '../entity-component-system/component'; export type ComponentInstance = T extends ComponentCtor ? R : never; diff --git a/src/engine/EntityComponentSystem/SystemManager.ts b/src/engine/entity-component-system/system-manager.ts similarity index 94% rename from src/engine/EntityComponentSystem/SystemManager.ts rename to src/engine/entity-component-system/system-manager.ts index ec8d7ac1..99672f15 100644 --- a/src/engine/EntityComponentSystem/SystemManager.ts +++ b/src/engine/entity-component-system/system-manager.ts @@ -1,8 +1,8 @@ -import type { SystemType } from './System'; -import { System } from './System'; -import type { Scene } from '../Scene'; -import type { World } from './World'; -import { removeItemFromArray } from '../Util/Util'; +import type { SystemType } from './system'; +import { System } from './system'; +import type { Scene } from '../scene'; +import type { World } from './world'; +import { removeItemFromArray } from '../util/util'; export interface SystemCtor { new (...args: any[]): T; diff --git a/src/engine/EntityComponentSystem/System.ts b/src/engine/entity-component-system/system.ts similarity index 94% rename from src/engine/EntityComponentSystem/System.ts rename to src/engine/entity-component-system/system.ts index 9caf312a..aa0ff41a 100644 --- a/src/engine/EntityComponentSystem/System.ts +++ b/src/engine/entity-component-system/system.ts @@ -1,6 +1,6 @@ -import type { Scene } from '../Scene'; -import { SystemPriority } from './Priority'; -import type { World } from './World'; +import type { Scene } from '../scene'; +import { SystemPriority } from './priority'; +import type { World } from './world'; /** * Enum that determines whether to run the system in the update or draw phase diff --git a/src/engine/EntityComponentSystem/TagQuery.ts b/src/engine/entity-component-system/tag-query.ts similarity index 94% rename from src/engine/EntityComponentSystem/TagQuery.ts rename to src/engine/entity-component-system/tag-query.ts index 906c0784..36616c34 100644 --- a/src/engine/EntityComponentSystem/TagQuery.ts +++ b/src/engine/entity-component-system/tag-query.ts @@ -1,5 +1,5 @@ -import { Observable } from '../Util/Observable'; -import type { Entity } from './Entity'; +import { Observable } from '../util/observable'; +import type { Entity } from './entity'; /** * @deprecated diff --git a/src/engine/EntityComponentSystem/tsconfig.json b/src/engine/entity-component-system/tsconfig.json similarity index 100% rename from src/engine/EntityComponentSystem/tsconfig.json rename to src/engine/entity-component-system/tsconfig.json diff --git a/src/engine/EntityComponentSystem/Types.ts b/src/engine/entity-component-system/types.ts similarity index 100% rename from src/engine/EntityComponentSystem/Types.ts rename to src/engine/entity-component-system/types.ts diff --git a/src/engine/EntityComponentSystem/World.ts b/src/engine/entity-component-system/world.ts similarity index 88% rename from src/engine/EntityComponentSystem/World.ts rename to src/engine/entity-component-system/world.ts index 35f284b8..4fad1139 100644 --- a/src/engine/EntityComponentSystem/World.ts +++ b/src/engine/entity-component-system/world.ts @@ -1,13 +1,13 @@ -import type { Scene } from '../Scene'; -import { Logger } from '../Util/Log'; -import type { Component, ComponentCtor } from './Component'; -import { Entity } from './Entity'; -import { EntityManager } from './EntityManager'; -import type { Query, QueryParams } from './Query'; -import { QueryManager } from './QueryManager'; -import { System, SystemType } from './System'; -import type { SystemCtor } from './SystemManager'; -import { SystemManager, isSystemConstructor } from './SystemManager'; +import type { Scene } from '../scene'; +import { Logger } from '../util/log'; +import type { Component, ComponentCtor } from './component'; +import { Entity } from './entity'; +import { EntityManager } from './entity-manager'; +import type { Query, QueryParams } from './query'; +import { QueryManager } from './query-manager'; +import { System, SystemType } from './system'; +import type { SystemCtor } from './system-manager'; +import { SystemManager, isSystemConstructor } from './system-manager'; /** * The World is a self-contained entity component system for a particular context. diff --git a/src/engine/EventEmitter.ts b/src/engine/event-emitter.ts similarity index 100% rename from src/engine/EventEmitter.ts rename to src/engine/event-emitter.ts diff --git a/src/engine/Events.ts b/src/engine/events.ts similarity index 95% rename from src/engine/Events.ts rename to src/engine/events.ts index eee261be..56046f32 100644 --- a/src/engine/Events.ts +++ b/src/engine/events.ts @@ -1,18 +1,18 @@ -import type { Scene } from './Scene'; -import type { Vector } from './Math/vector'; -import type { Actor } from './Actor'; -import type { Trigger } from './Trigger'; -import type { FrameStats } from './Debug'; -import type { Engine } from './Engine'; -import type { TileMap } from './TileMap'; -import type { Side } from './Collision/Side'; -import type { CollisionContact } from './Collision/Detection/CollisionContact'; -import type { Collider } from './Collision/Colliders/Collider'; -import type { Entity } from './EntityComponentSystem/Entity'; -import type { OnInitialize, OnPreUpdate, OnPostUpdate, SceneActivationContext, OnAdd, OnRemove } from './Interfaces/LifecycleEvents'; -import type { ExcaliburGraphicsContext } from './Graphics'; -import type { Axes, Buttons, Gamepad } from './Input/Gamepad'; -import type { Action } from './Actions/Action'; +import type { Scene } from './scene'; +import type { Vector } from './math/vector'; +import type { Actor } from './actor'; +import type { Trigger } from './trigger'; +import type { FrameStats } from './debug'; +import type { Engine } from './engine'; +import type { TileMap } from './tile-map'; +import type { Side } from './collision/side'; +import type { CollisionContact } from './collision/detection/collision-contact'; +import type { Collider } from './collision/colliders/collider'; +import type { Entity } from './entity-component-system/entity'; +import type { OnInitialize, OnPreUpdate, OnPostUpdate, SceneActivationContext, OnAdd, OnRemove } from './interfaces/lifecycle-events'; +import type { ExcaliburGraphicsContext } from './graphics'; +import type { Axes, Buttons, Gamepad } from './input/gamepad'; +import type { Action } from './actions/action'; export enum EventTypes { Kill = 'kill', diff --git a/src/engine/Events/ExEvent.ts b/src/engine/events/ex-event.ts similarity index 100% rename from src/engine/Events/ExEvent.ts rename to src/engine/events/ex-event.ts diff --git a/src/engine/Events/MediaEvents.ts b/src/engine/events/media-events.ts similarity index 87% rename from src/engine/Events/MediaEvents.ts rename to src/engine/events/media-events.ts index 82a6e8e9..635ef334 100644 --- a/src/engine/Events/MediaEvents.ts +++ b/src/engine/events/media-events.ts @@ -1,7 +1,7 @@ -import { GameEvent } from '../Events'; -import type { Sound } from '../Resources/Sound/Sound'; -import type { Actor } from '../Actor'; -import type { WebAudioInstance } from '../Resources/Sound/WebAudioInstance'; +import type { Sound } from '../resources/sound/sound'; +import type { Actor } from '../actor'; +import type { WebAudioInstance } from '../resources/sound/web-audio-instance'; +import { GameEvent } from '../'; export class MediaEvent extends GameEvent { /** diff --git a/src/engine/Events/PointerEvents.ts b/src/engine/events/pointer-events.ts similarity index 85% rename from src/engine/Events/PointerEvents.ts rename to src/engine/events/pointer-events.ts index 04b0e9ab..417f8eac 100644 --- a/src/engine/Events/PointerEvents.ts +++ b/src/engine/events/pointer-events.ts @@ -1,6 +1,6 @@ -import type { GlobalCoordinates } from '../Math/global-coordinates'; -import type { WheelDeltaMode } from '../Input/WheelDeltaMode'; -import { ExEvent } from './ExEvent'; +import type { GlobalCoordinates } from '../math/global-coordinates'; +import type { WheelDeltaMode } from '../input/wheel-delta-mode'; +import { ExEvent } from './ex-event'; export abstract class PointerEvent extends ExEvent<'down' | 'up' | 'move' | 'cancel'> { constructor( diff --git a/src/engine/Flags.ts b/src/engine/flags.ts similarity index 100% rename from src/engine/Flags.ts rename to src/engine/flags.ts diff --git a/src/engine/GarbageCollector.ts b/src/engine/garbage-collector.ts similarity index 100% rename from src/engine/GarbageCollector.ts rename to src/engine/garbage-collector.ts diff --git a/src/engine/Graphics/Animation.ts b/src/engine/graphics/animation.ts similarity index 97% rename from src/engine/Graphics/Animation.ts rename to src/engine/graphics/animation.ts index b08437df..dd587172 100644 --- a/src/engine/Graphics/Animation.ts +++ b/src/engine/graphics/animation.ts @@ -1,10 +1,10 @@ -import type { GraphicOptions } from './Graphic'; -import { Graphic } from './Graphic'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import type { GetSpriteOptions, SpriteSheet } from './SpriteSheet'; -import { Logger } from '../Util/Log'; -import { clamp } from '../Math/util'; -import { EventEmitter } from '../EventEmitter'; +import type { GraphicOptions } from './graphic'; +import { Graphic } from './graphic'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import type { GetSpriteOptions, SpriteSheet } from './sprite-sheet'; +import { Logger } from '../util/log'; +import { clamp } from '../math/util'; +import { EventEmitter } from '../event-emitter'; export interface HasTick { /** diff --git a/src/engine/Graphics/Canvas.ts b/src/engine/graphics/canvas.ts similarity index 89% rename from src/engine/Graphics/Canvas.ts rename to src/engine/graphics/canvas.ts index a48097e9..87e69160 100644 --- a/src/engine/Graphics/Canvas.ts +++ b/src/engine/graphics/canvas.ts @@ -1,6 +1,6 @@ -import type { GraphicOptions } from './Graphic'; -import type { RasterOptions } from './Raster'; -import { Raster } from './Raster'; +import type { GraphicOptions } from './graphic'; +import type { RasterOptions } from './raster'; +import { Raster } from './raster'; export interface CanvasOptions { draw?: (ctx: CanvasRenderingContext2D) => void; diff --git a/src/engine/Graphics/Circle.ts b/src/engine/graphics/circle.ts similarity index 91% rename from src/engine/Graphics/Circle.ts rename to src/engine/graphics/circle.ts index c71ef61a..8827c035 100644 --- a/src/engine/Graphics/Circle.ts +++ b/src/engine/graphics/circle.ts @@ -1,6 +1,6 @@ -import { ImageFiltering } from './Filtering'; -import type { RasterOptions } from './Raster'; -import { Raster } from './Raster'; +import { ImageFiltering } from './filtering'; +import type { RasterOptions } from './raster'; +import { Raster } from './raster'; export interface CircleOptions { radius: number; diff --git a/src/engine/Graphics/Context/circle-renderer/circle-renderer.frag.glsl b/src/engine/graphics/context/circle-renderer/circle-renderer.frag.glsl similarity index 100% rename from src/engine/Graphics/Context/circle-renderer/circle-renderer.frag.glsl rename to src/engine/graphics/context/circle-renderer/circle-renderer.frag.glsl diff --git a/src/engine/Graphics/Context/circle-renderer/circle-renderer.ts b/src/engine/graphics/context/circle-renderer/circle-renderer.ts similarity index 95% rename from src/engine/Graphics/Context/circle-renderer/circle-renderer.ts rename to src/engine/graphics/context/circle-renderer/circle-renderer.ts index 2fafad47..5faa9ac5 100644 --- a/src/engine/Graphics/Context/circle-renderer/circle-renderer.ts +++ b/src/engine/graphics/context/circle-renderer/circle-renderer.ts @@ -1,9 +1,9 @@ -import { Color } from '../../../Color'; -import type { Vector } from '../../../Math/vector'; -import { vec } from '../../../Math/vector'; -import { GraphicsDiagnostics } from '../../GraphicsDiagnostics'; -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; -import { pixelSnapEpsilon } from '../ExcaliburGraphicsContextWebGL'; +import { Color } from '../../../color'; +import type { Vector } from '../../../math/vector'; +import { vec } from '../../../math/vector'; +import { GraphicsDiagnostics } from '../../graphics-diagnostics'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; +import { pixelSnapEpsilon } from '../excalibur-graphics-context-webgl'; import { QuadIndexBuffer } from '../quad-index-buffer'; import type { RendererPlugin } from '../renderer'; import { Shader } from '../shader'; diff --git a/src/engine/Graphics/Context/circle-renderer/circle-renderer.vert.glsl b/src/engine/graphics/context/circle-renderer/circle-renderer.vert.glsl similarity index 100% rename from src/engine/Graphics/Context/circle-renderer/circle-renderer.vert.glsl rename to src/engine/graphics/context/circle-renderer/circle-renderer.vert.glsl diff --git a/src/engine/Graphics/Context/debug-circle-renderer/debug-circle-renderer.frag.glsl b/src/engine/graphics/context/debug-circle-renderer/debug-circle-renderer.frag.glsl similarity index 100% rename from src/engine/Graphics/Context/debug-circle-renderer/debug-circle-renderer.frag.glsl rename to src/engine/graphics/context/debug-circle-renderer/debug-circle-renderer.frag.glsl diff --git a/src/engine/Graphics/Context/debug-circle-renderer/debug-circle-renderer.ts b/src/engine/graphics/context/debug-circle-renderer/debug-circle-renderer.ts similarity index 95% rename from src/engine/Graphics/Context/debug-circle-renderer/debug-circle-renderer.ts rename to src/engine/graphics/context/debug-circle-renderer/debug-circle-renderer.ts index 9d373d54..7d81db1b 100644 --- a/src/engine/Graphics/Context/debug-circle-renderer/debug-circle-renderer.ts +++ b/src/engine/graphics/context/debug-circle-renderer/debug-circle-renderer.ts @@ -1,9 +1,9 @@ -import { Color } from '../../../Color'; -import type { Vector } from '../../../Math/vector'; -import { vec } from '../../../Math/vector'; -import { GraphicsDiagnostics } from '../../GraphicsDiagnostics'; -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; -import { pixelSnapEpsilon } from '../ExcaliburGraphicsContextWebGL'; +import { Color } from '../../../color'; +import type { Vector } from '../../../math/vector'; +import { vec } from '../../../math/vector'; +import { GraphicsDiagnostics } from '../../graphics-diagnostics'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; +import { pixelSnapEpsilon } from '../excalibur-graphics-context-webgl'; import { QuadIndexBuffer } from '../quad-index-buffer'; import type { RendererPlugin } from '../renderer'; import { Shader } from '../shader'; diff --git a/src/engine/Graphics/Context/debug-circle-renderer/debug-circle-renderer.vert.glsl b/src/engine/graphics/context/debug-circle-renderer/debug-circle-renderer.vert.glsl similarity index 100% rename from src/engine/Graphics/Context/debug-circle-renderer/debug-circle-renderer.vert.glsl rename to src/engine/graphics/context/debug-circle-renderer/debug-circle-renderer.vert.glsl diff --git a/src/engine/Graphics/Context/debug-font.png b/src/engine/graphics/context/debug-font.png similarity index 100% rename from src/engine/Graphics/Context/debug-font.png rename to src/engine/graphics/context/debug-font.png diff --git a/src/engine/Graphics/Context/debug-line-renderer/debug-line-fragment.glsl b/src/engine/graphics/context/debug-line-renderer/debug-line-fragment.glsl similarity index 100% rename from src/engine/Graphics/Context/debug-line-renderer/debug-line-fragment.glsl rename to src/engine/graphics/context/debug-line-renderer/debug-line-fragment.glsl diff --git a/src/engine/Graphics/Context/debug-line-renderer/debug-line-renderer.ts b/src/engine/graphics/context/debug-line-renderer/debug-line-renderer.ts similarity index 95% rename from src/engine/Graphics/Context/debug-line-renderer/debug-line-renderer.ts rename to src/engine/graphics/context/debug-line-renderer/debug-line-renderer.ts index d4feea02..524d3b46 100644 --- a/src/engine/Graphics/Context/debug-line-renderer/debug-line-renderer.ts +++ b/src/engine/graphics/context/debug-line-renderer/debug-line-renderer.ts @@ -1,12 +1,12 @@ -import type { Vector } from '../../../Math/vector'; -import { vec } from '../../../Math/vector'; -import type { Color } from '../../../Color'; +import type { Vector } from '../../../math/vector'; +import { vec } from '../../../math/vector'; +import type { Color } from '../../../color'; import lineVertexSource from './debug-line-vertex.glsl?raw'; import lineFragmentSource from './debug-line-fragment.glsl?raw'; -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; import type { RendererPlugin } from '../renderer'; import { Shader, VertexBuffer, VertexLayout } from '../..'; -import { GraphicsDiagnostics } from '../../GraphicsDiagnostics'; +import { GraphicsDiagnostics } from '../../graphics-diagnostics'; export class DebugLineRenderer implements RendererPlugin { public readonly type = 'ex.debug-line'; diff --git a/src/engine/Graphics/Context/debug-line-renderer/debug-line-vertex.glsl b/src/engine/graphics/context/debug-line-renderer/debug-line-vertex.glsl similarity index 100% rename from src/engine/Graphics/Context/debug-line-renderer/debug-line-vertex.glsl rename to src/engine/graphics/context/debug-line-renderer/debug-line-vertex.glsl diff --git a/src/engine/Graphics/Context/debug-point-renderer/debug-point-fragment.glsl b/src/engine/graphics/context/debug-point-renderer/debug-point-fragment.glsl similarity index 100% rename from src/engine/Graphics/Context/debug-point-renderer/debug-point-fragment.glsl rename to src/engine/graphics/context/debug-point-renderer/debug-point-fragment.glsl diff --git a/src/engine/Graphics/Context/debug-point-renderer/debug-point-renderer.ts b/src/engine/graphics/context/debug-point-renderer/debug-point-renderer.ts similarity index 91% rename from src/engine/Graphics/Context/debug-point-renderer/debug-point-renderer.ts rename to src/engine/graphics/context/debug-point-renderer/debug-point-renderer.ts index 59c2e50e..3cf81882 100644 --- a/src/engine/Graphics/Context/debug-point-renderer/debug-point-renderer.ts +++ b/src/engine/graphics/context/debug-point-renderer/debug-point-renderer.ts @@ -1,14 +1,14 @@ import pointVertexSource from './debug-point-vertex.glsl?raw'; import pointFragmentSource from './debug-point-fragment.glsl?raw'; -import type { Vector } from '../../../Math/vector'; -import type { Color } from '../../../Color'; -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; -import { pixelSnapEpsilon } from '../ExcaliburGraphicsContextWebGL'; +import type { Vector } from '../../../math/vector'; +import type { Color } from '../../../color'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; +import { pixelSnapEpsilon } from '../excalibur-graphics-context-webgl'; import type { RendererPlugin } from '../renderer'; import { Shader } from '../shader'; import { VertexBuffer } from '../vertex-buffer'; import { VertexLayout } from '../vertex-layout'; -import { GraphicsDiagnostics } from '../../GraphicsDiagnostics'; +import { GraphicsDiagnostics } from '../../graphics-diagnostics'; export class DebugPointRenderer implements RendererPlugin { public readonly type = 'ex.debug-point'; diff --git a/src/engine/Graphics/Context/debug-point-renderer/debug-point-vertex.glsl b/src/engine/graphics/context/debug-point-renderer/debug-point-vertex.glsl similarity index 100% rename from src/engine/Graphics/Context/debug-point-renderer/debug-point-vertex.glsl rename to src/engine/graphics/context/debug-point-renderer/debug-point-vertex.glsl diff --git a/src/engine/Graphics/Context/debug-text.ts b/src/engine/graphics/context/debug-text.ts similarity index 88% rename from src/engine/Graphics/Context/debug-text.ts rename to src/engine/graphics/context/debug-text.ts index e13ada67..1ca8f262 100644 --- a/src/engine/Graphics/Context/debug-text.ts +++ b/src/engine/graphics/context/debug-text.ts @@ -1,12 +1,12 @@ -import type { ExcaliburGraphicsContext } from '../Context/ExcaliburGraphicsContext'; -import { ImageSource } from '../ImageSource'; -import { SpriteFont } from '../SpriteFont'; -import { SpriteSheet } from '../SpriteSheet'; -import type { Vector } from '../../Math/vector'; +import type { ExcaliburGraphicsContext } from '../context/excalibur-graphics-context'; +import { ImageSource } from '../image-source'; +import { SpriteFont } from '../sprite-font'; +import { SpriteSheet } from '../sprite-sheet'; +import type { Vector } from '../../math/vector'; // import debugFont from './debug-font.png'; import debugFont2 from './monogram-bitmap.png'; -import { Debug } from '../Debug'; -import { Color } from '../../Color'; +import { Debug } from '../debug'; +import { Color } from '../../color'; /** * Internal debug text helper diff --git a/src/engine/Graphics/Context/draw-call.ts b/src/engine/graphics/context/draw-call.ts similarity index 65% rename from src/engine/Graphics/Context/draw-call.ts rename to src/engine/graphics/context/draw-call.ts index 11ee4600..9766a9ba 100644 --- a/src/engine/Graphics/Context/draw-call.ts +++ b/src/engine/graphics/context/draw-call.ts @@ -1,6 +1,6 @@ -import { AffineMatrix } from '../../Math/affine-matrix'; -import { Color } from '../../Color'; -import type { ExcaliburGraphicsContextState } from './ExcaliburGraphicsContext'; +import { AffineMatrix } from '../../math/affine-matrix'; +import { Color } from '../../color'; +import type { ExcaliburGraphicsContextState } from './excalibur-graphics-context'; export class DrawCall { public z: number = 0; diff --git a/src/engine/Graphics/Context/ExcaliburGraphicsContext2DCanvas.ts b/src/engine/graphics/context/excalibur-graphics-context-2d-canvas.ts similarity index 96% rename from src/engine/Graphics/Context/ExcaliburGraphicsContext2DCanvas.ts rename to src/engine/graphics/context/excalibur-graphics-context-2d-canvas.ts index d28f947b..19f3c468 100644 --- a/src/engine/Graphics/Context/ExcaliburGraphicsContext2DCanvas.ts +++ b/src/engine/graphics/context/excalibur-graphics-context-2d-canvas.ts @@ -5,15 +5,15 @@ import type { ExcaliburGraphicsContextOptions, DebugDraw, HTMLImageSource -} from './ExcaliburGraphicsContext'; -import type { Vector } from '../../Math/vector'; -import { Color } from '../../Color'; +} from './excalibur-graphics-context'; +import type { Vector } from '../../math/vector'; +import { Color } from '../../color'; import { StateStack } from './state-stack'; -import { GraphicsDiagnostics } from '../GraphicsDiagnostics'; +import { GraphicsDiagnostics } from '../graphics-diagnostics'; import { DebugText } from './debug-text'; -import type { Resolution } from '../../Screen'; -import type { PostProcessor } from '../PostProcessor/PostProcessor'; -import { AffineMatrix } from '../../Math/affine-matrix'; +import type { Resolution } from '../../screen'; +import type { PostProcessor } from '../post-processor/post-processor'; +import { AffineMatrix } from '../../math/affine-matrix'; import type { Material, MaterialOptions } from './material'; const pixelSnapEpsilon = 0.0001; diff --git a/src/engine/Graphics/Context/ExcaliburGraphicsContextWebGL.ts b/src/engine/graphics/context/excalibur-graphics-context-webgl.ts similarity index 97% rename from src/engine/Graphics/Context/ExcaliburGraphicsContextWebGL.ts rename to src/engine/graphics/context/excalibur-graphics-context-webgl.ts index a777938a..0fc68998 100644 --- a/src/engine/Graphics/Context/ExcaliburGraphicsContextWebGL.ts +++ b/src/engine/graphics/context/excalibur-graphics-context-webgl.ts @@ -6,19 +6,19 @@ import type { ExcaliburGraphicsContextOptions, DebugDraw, HTMLImageSource -} from './ExcaliburGraphicsContext'; +} from './excalibur-graphics-context'; -import { Matrix } from '../../Math/matrix'; +import { Matrix } from '../../math/matrix'; import { TransformStack } from './transform-stack'; -import type { Vector } from '../../Math/vector'; -import { vec } from '../../Math/vector'; -import { Color } from '../../Color'; +import type { Vector } from '../../math/vector'; +import { vec } from '../../math/vector'; +import { Color } from '../../color'; import { StateStack } from './state-stack'; -import { Logger } from '../../Util/Log'; +import { Logger } from '../../util/log'; import { DebugText } from './debug-text'; -import type { Resolution } from '../../Screen'; +import type { Resolution } from '../../screen'; import { RenderTarget } from './render-target'; -import type { PostProcessor } from '../PostProcessor/PostProcessor'; +import type { PostProcessor } from '../post-processor/post-processor'; import { TextureLoader } from './texture-loader'; import type { RendererPlugin } from './renderer'; @@ -30,20 +30,20 @@ import { ScreenPassPainter } from './screen-pass-painter/screen-pass-painter'; import { ImageRenderer } from './image-renderer/image-renderer'; import { RectangleRenderer } from './rectangle-renderer/rectangle-renderer'; import { CircleRenderer } from './circle-renderer/circle-renderer'; -import { Pool } from '../../Util/Pool'; +import { Pool } from '../../util/pool'; import { DrawCall } from './draw-call'; -import type { AffineMatrix } from '../../Math/affine-matrix'; +import type { AffineMatrix } from '../../math/affine-matrix'; import type { MaterialOptions } from './material'; import { Material } from './material'; import { MaterialRenderer } from './material-renderer/material-renderer'; import type { ShaderOptions } from './shader'; import { Shader } from './shader'; -import type { GarbageCollector } from '../../GarbageCollector'; +import type { GarbageCollector } from '../../garbage-collector'; import { ParticleRenderer } from './particle-renderer/particle-renderer'; import { ImageRendererV2 } from './image-renderer-v2/image-renderer-v2'; -import { Flags } from '../../Flags'; -import { Debug } from '../Debug'; -import { GraphicsDiagnostics } from '../GraphicsDiagnostics'; +import { Flags } from '../../flags'; +import { Debug } from '../debug'; +import { GraphicsDiagnostics } from '../graphics-diagnostics'; export const pixelSnapEpsilon = 0.0001; diff --git a/src/engine/Graphics/Context/ExcaliburGraphicsContext.ts b/src/engine/graphics/context/excalibur-graphics-context.ts similarity index 96% rename from src/engine/Graphics/Context/ExcaliburGraphicsContext.ts rename to src/engine/graphics/context/excalibur-graphics-context.ts index 29dbb693..d46796da 100644 --- a/src/engine/Graphics/Context/ExcaliburGraphicsContext.ts +++ b/src/engine/graphics/context/excalibur-graphics-context.ts @@ -1,10 +1,10 @@ -import type { Vector } from '../../Math/vector'; -import type { Color } from '../../Color'; -import type { Resolution } from '../../Screen'; -import type { PostProcessor } from '../PostProcessor/PostProcessor'; -import type { AffineMatrix } from '../../Math/affine-matrix'; +import type { Vector } from '../../math/vector'; +import type { Color } from '../../color'; +import type { Resolution } from '../../screen'; +import type { PostProcessor } from '../post-processor/post-processor'; +import type { AffineMatrix } from '../../math/affine-matrix'; import type { Material, MaterialOptions } from './material'; -import { ImageFiltering } from '../Filtering'; +import { ImageFiltering } from '../filtering'; export type HTMLImageSource = HTMLImageElement | HTMLCanvasElement; diff --git a/src/engine/Graphics/Context/image-renderer-v2/image-renderer-v2.frag.glsl b/src/engine/graphics/context/image-renderer-v2/image-renderer-v2.frag.glsl similarity index 100% rename from src/engine/Graphics/Context/image-renderer-v2/image-renderer-v2.frag.glsl rename to src/engine/graphics/context/image-renderer-v2/image-renderer-v2.frag.glsl diff --git a/src/engine/Graphics/Context/image-renderer-v2/image-renderer-v2.ts b/src/engine/graphics/context/image-renderer-v2/image-renderer-v2.ts similarity index 95% rename from src/engine/Graphics/Context/image-renderer-v2/image-renderer-v2.ts rename to src/engine/graphics/context/image-renderer-v2/image-renderer-v2.ts index 7b47728f..ec2d37e8 100644 --- a/src/engine/Graphics/Context/image-renderer-v2/image-renderer-v2.ts +++ b/src/engine/graphics/context/image-renderer-v2/image-renderer-v2.ts @@ -1,15 +1,13 @@ -// import { Color } from '../../../Color'; -// import { parseImageFiltering } from '../../Filtering'; -import { Color } from '../../../Color'; -import { parseImageFiltering } from '../../Filtering'; -import { GraphicsDiagnostics } from '../../GraphicsDiagnostics'; -import { ImageSourceAttributeConstants } from '../../ImageSource'; -import { parseImageWrapping } from '../../Wrapping'; +import { Color } from '../../../color'; +import { parseImageFiltering } from '../../filtering'; +import { GraphicsDiagnostics } from '../../graphics-diagnostics'; +import { ImageSourceAttributeConstants } from '../../image-source'; +import { parseImageWrapping } from '../../wrapping'; // import { ImageSourceAttributeConstants } from '../../ImageSource'; // import { parseImageWrapping } from '../../Wrapping'; -import type { HTMLImageSource } from '../ExcaliburGraphicsContext'; -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; -import { pixelSnapEpsilon } from '../ExcaliburGraphicsContextWebGL'; +import type { HTMLImageSource } from '../excalibur-graphics-context'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; +import { pixelSnapEpsilon } from '../excalibur-graphics-context-webgl'; import type { RendererPlugin } from '../renderer'; import { Shader } from '../shader'; import { VertexBuffer } from '../vertex-buffer'; diff --git a/src/engine/Graphics/Context/image-renderer-v2/image-renderer-v2.vert.glsl b/src/engine/graphics/context/image-renderer-v2/image-renderer-v2.vert.glsl similarity index 100% rename from src/engine/Graphics/Context/image-renderer-v2/image-renderer-v2.vert.glsl rename to src/engine/graphics/context/image-renderer-v2/image-renderer-v2.vert.glsl diff --git a/src/engine/Graphics/Context/image-renderer/image-renderer.frag.glsl b/src/engine/graphics/context/image-renderer/image-renderer.frag.glsl similarity index 100% rename from src/engine/Graphics/Context/image-renderer/image-renderer.frag.glsl rename to src/engine/graphics/context/image-renderer/image-renderer.frag.glsl diff --git a/src/engine/Graphics/Context/image-renderer/image-renderer.ts b/src/engine/graphics/context/image-renderer/image-renderer.ts similarity index 96% rename from src/engine/Graphics/Context/image-renderer/image-renderer.ts rename to src/engine/graphics/context/image-renderer/image-renderer.ts index 540a2f35..e79bcec6 100644 --- a/src/engine/Graphics/Context/image-renderer/image-renderer.ts +++ b/src/engine/graphics/context/image-renderer/image-renderer.ts @@ -1,12 +1,12 @@ -import { Color } from '../../../Color'; -import { sign } from '../../../Math/util'; -import { parseImageFiltering } from '../../Filtering'; -import { GraphicsDiagnostics } from '../../GraphicsDiagnostics'; -import { ImageSourceAttributeConstants } from '../../ImageSource'; -import { parseImageWrapping } from '../../Wrapping'; -import type { HTMLImageSource } from '../ExcaliburGraphicsContext'; -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; -import { pixelSnapEpsilon } from '../ExcaliburGraphicsContextWebGL'; +import { Color } from '../../../color'; +import { sign } from '../../../math/util'; +import { parseImageFiltering } from '../../filtering'; +import { GraphicsDiagnostics } from '../../graphics-diagnostics'; +import { ImageSourceAttributeConstants } from '../../image-source'; +import { parseImageWrapping } from '../../wrapping'; +import type { HTMLImageSource } from '../excalibur-graphics-context'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; +import { pixelSnapEpsilon } from '../excalibur-graphics-context-webgl'; import { QuadIndexBuffer } from '../quad-index-buffer'; import type { RendererPlugin } from '../renderer'; import { Shader } from '../shader'; diff --git a/src/engine/Graphics/Context/image-renderer/image-renderer.vert.glsl b/src/engine/graphics/context/image-renderer/image-renderer.vert.glsl similarity index 100% rename from src/engine/Graphics/Context/image-renderer/image-renderer.vert.glsl rename to src/engine/graphics/context/image-renderer/image-renderer.vert.glsl diff --git a/src/engine/Graphics/Context/material-renderer/material-renderer.ts b/src/engine/graphics/context/material-renderer/material-renderer.ts similarity index 94% rename from src/engine/Graphics/Context/material-renderer/material-renderer.ts rename to src/engine/graphics/context/material-renderer/material-renderer.ts index 4a7b7f53..7590f244 100644 --- a/src/engine/Graphics/Context/material-renderer/material-renderer.ts +++ b/src/engine/graphics/context/material-renderer/material-renderer.ts @@ -1,10 +1,10 @@ -import { vec } from '../../../Math/vector'; -import { parseImageFiltering } from '../../Filtering'; -import { GraphicsDiagnostics } from '../../GraphicsDiagnostics'; -import { ImageSourceAttributeConstants } from '../../ImageSource'; -import { parseImageWrapping } from '../../Wrapping'; -import type { HTMLImageSource } from '../ExcaliburGraphicsContext'; -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; +import { vec } from '../../../math/vector'; +import { parseImageFiltering } from '../../filtering'; +import { GraphicsDiagnostics } from '../../graphics-diagnostics'; +import { ImageSourceAttributeConstants } from '../../image-source'; +import { parseImageWrapping } from '../../wrapping'; +import type { HTMLImageSource } from '../excalibur-graphics-context'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; import { QuadIndexBuffer } from '../quad-index-buffer'; import type { RendererPlugin } from '../renderer'; import { VertexBuffer } from '../vertex-buffer'; diff --git a/src/engine/Graphics/Context/material.ts b/src/engine/graphics/context/material.ts similarity index 95% rename from src/engine/Graphics/Context/material.ts rename to src/engine/graphics/context/material.ts index 1d402ce4..bb9b0341 100644 --- a/src/engine/Graphics/Context/material.ts +++ b/src/engine/graphics/context/material.ts @@ -1,10 +1,10 @@ -import { Color } from '../../Color'; -import type { ExcaliburGraphicsContext } from './ExcaliburGraphicsContext'; -import { ExcaliburGraphicsContextWebGL } from './ExcaliburGraphicsContextWebGL'; +import { Color } from '../../color'; +import type { ExcaliburGraphicsContext } from './excalibur-graphics-context'; +import { ExcaliburGraphicsContextWebGL } from './excalibur-graphics-context-webgl'; import type { Shader, UniformDictionary } from './shader'; -import { Logger } from '../../Util/Log'; -import type { ImageSource } from '../ImageSource'; -import type { ImageFiltering } from '../Filtering'; +import { Logger } from '../../util/log'; +import type { ImageSource } from '../image-source'; +import type { ImageFiltering } from '../filtering'; export interface MaterialOptions { /** diff --git a/src/engine/Graphics/Context/monogram-bitmap.json b/src/engine/graphics/context/monogram-bitmap.json similarity index 100% rename from src/engine/Graphics/Context/monogram-bitmap.json rename to src/engine/graphics/context/monogram-bitmap.json diff --git a/src/engine/Graphics/Context/monogram-bitmap.png b/src/engine/graphics/context/monogram-bitmap.png similarity index 100% rename from src/engine/Graphics/Context/monogram-bitmap.png rename to src/engine/graphics/context/monogram-bitmap.png diff --git a/src/engine/Graphics/Context/particle-renderer/particle-fragment.glsl b/src/engine/graphics/context/particle-renderer/particle-fragment.glsl similarity index 100% rename from src/engine/Graphics/Context/particle-renderer/particle-fragment.glsl rename to src/engine/graphics/context/particle-renderer/particle-fragment.glsl diff --git a/src/engine/Graphics/Context/particle-renderer/particle-renderer.ts b/src/engine/graphics/context/particle-renderer/particle-renderer.ts similarity index 88% rename from src/engine/Graphics/Context/particle-renderer/particle-renderer.ts rename to src/engine/graphics/context/particle-renderer/particle-renderer.ts index 981de27d..aa561df1 100644 --- a/src/engine/Graphics/Context/particle-renderer/particle-renderer.ts +++ b/src/engine/graphics/context/particle-renderer/particle-renderer.ts @@ -1,16 +1,16 @@ -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; import type { RendererPlugin } from '../renderer'; import { Shader } from '../shader'; import particleVertexSource from './particle-vertex.glsl?raw'; import particleFragmentSource from './particle-fragment.glsl?raw'; -import type { GpuParticleRenderer } from '../../../Particles/GpuParticleRenderer'; -import { vec } from '../../../Math/vector'; -import { Color } from '../../../Color'; -import type { HTMLImageSource } from '../ExcaliburGraphicsContext'; -import { ImageSourceAttributeConstants } from '../../ImageSource'; -import { parseImageWrapping } from '../../Wrapping'; -import { parseImageFiltering } from '../../Filtering'; -import { ParticleTransform } from '../../../Particles/Particles'; +import type { GpuParticleRenderer } from '../../../particles/gpu-particle-renderer'; +import { vec } from '../../../math/vector'; +import { Color } from '../../../color'; +import type { HTMLImageSource } from '../excalibur-graphics-context'; +import { ImageSourceAttributeConstants } from '../../image-source'; +import { parseImageWrapping } from '../../wrapping'; +import { parseImageFiltering } from '../../filtering'; +import { ParticleTransform } from '../../../particles/particles'; export class ParticleRenderer implements RendererPlugin { public readonly type = 'ex.particle' as const; diff --git a/src/engine/Graphics/Context/particle-renderer/particle-vertex.glsl b/src/engine/graphics/context/particle-renderer/particle-vertex.glsl similarity index 100% rename from src/engine/Graphics/Context/particle-renderer/particle-vertex.glsl rename to src/engine/graphics/context/particle-renderer/particle-vertex.glsl diff --git a/src/engine/Graphics/Context/quad-index-buffer.ts b/src/engine/graphics/context/quad-index-buffer.ts similarity index 100% rename from src/engine/Graphics/Context/quad-index-buffer.ts rename to src/engine/graphics/context/quad-index-buffer.ts diff --git a/src/engine/Graphics/Context/rectangle-renderer/rectangle-renderer.frag.glsl b/src/engine/graphics/context/rectangle-renderer/rectangle-renderer.frag.glsl similarity index 100% rename from src/engine/Graphics/Context/rectangle-renderer/rectangle-renderer.frag.glsl rename to src/engine/graphics/context/rectangle-renderer/rectangle-renderer.frag.glsl diff --git a/src/engine/Graphics/Context/rectangle-renderer/rectangle-renderer.ts b/src/engine/graphics/context/rectangle-renderer/rectangle-renderer.ts similarity index 97% rename from src/engine/Graphics/Context/rectangle-renderer/rectangle-renderer.ts rename to src/engine/graphics/context/rectangle-renderer/rectangle-renderer.ts index 891c378e..0c0914fc 100644 --- a/src/engine/Graphics/Context/rectangle-renderer/rectangle-renderer.ts +++ b/src/engine/graphics/context/rectangle-renderer/rectangle-renderer.ts @@ -1,8 +1,8 @@ -import { Color } from '../../../Color'; -import { vec, Vector } from '../../../Math/vector'; -import { GraphicsDiagnostics } from '../../GraphicsDiagnostics'; -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; -import { pixelSnapEpsilon } from '../ExcaliburGraphicsContextWebGL'; +import { Color } from '../../../color'; +import { vec, Vector } from '../../../math/vector'; +import { GraphicsDiagnostics } from '../../graphics-diagnostics'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; +import { pixelSnapEpsilon } from '../excalibur-graphics-context-webgl'; import { QuadIndexBuffer } from '../quad-index-buffer'; import type { RendererPlugin } from '../renderer'; import { Shader } from '../shader'; diff --git a/src/engine/Graphics/Context/rectangle-renderer/rectangle-renderer.vert.glsl b/src/engine/graphics/context/rectangle-renderer/rectangle-renderer.vert.glsl similarity index 100% rename from src/engine/Graphics/Context/rectangle-renderer/rectangle-renderer.vert.glsl rename to src/engine/graphics/context/rectangle-renderer/rectangle-renderer.vert.glsl diff --git a/src/engine/Graphics/Context/render-source.ts b/src/engine/graphics/context/render-source.ts similarity index 100% rename from src/engine/Graphics/Context/render-source.ts rename to src/engine/graphics/context/render-source.ts diff --git a/src/engine/Graphics/Context/render-target.ts b/src/engine/graphics/context/render-target.ts similarity index 100% rename from src/engine/Graphics/Context/render-target.ts rename to src/engine/graphics/context/render-target.ts diff --git a/src/engine/Graphics/Context/renderer.ts b/src/engine/graphics/context/renderer.ts similarity index 91% rename from src/engine/Graphics/Context/renderer.ts rename to src/engine/graphics/context/renderer.ts index 4e72d570..9a68cdf0 100644 --- a/src/engine/Graphics/Context/renderer.ts +++ b/src/engine/graphics/context/renderer.ts @@ -1,4 +1,4 @@ -import type { ExcaliburGraphicsContextWebGL } from './ExcaliburGraphicsContextWebGL'; +import type { ExcaliburGraphicsContextWebGL } from './excalibur-graphics-context-webgl'; /** * Interface that defines an Excalibur Renderer that can be called with .draw() in the {@apilink ExcaliburGraphicsContext} diff --git a/src/engine/Graphics/Context/screen-pass-painter/screen-fragment.glsl b/src/engine/graphics/context/screen-pass-painter/screen-fragment.glsl similarity index 100% rename from src/engine/Graphics/Context/screen-pass-painter/screen-fragment.glsl rename to src/engine/graphics/context/screen-pass-painter/screen-fragment.glsl diff --git a/src/engine/Graphics/Context/screen-pass-painter/screen-pass-painter.ts b/src/engine/graphics/context/screen-pass-painter/screen-pass-painter.ts similarity index 91% rename from src/engine/Graphics/Context/screen-pass-painter/screen-pass-painter.ts rename to src/engine/graphics/context/screen-pass-painter/screen-pass-painter.ts index 91414075..713a91a2 100644 --- a/src/engine/Graphics/Context/screen-pass-painter/screen-pass-painter.ts +++ b/src/engine/graphics/context/screen-pass-painter/screen-pass-painter.ts @@ -3,8 +3,8 @@ import screenFragment from './screen-fragment.glsl?raw'; import { Shader } from '../shader'; import { VertexBuffer } from '../vertex-buffer'; import { VertexLayout } from '../vertex-layout'; -import type { PostProcessor } from '../../PostProcessor/PostProcessor'; -import type { ExcaliburGraphicsContextWebGL } from '../ExcaliburGraphicsContextWebGL'; +import type { PostProcessor } from '../../post-processor/post-processor'; +import type { ExcaliburGraphicsContextWebGL } from '../excalibur-graphics-context-webgl'; /** * This is responsible for painting the entire screen during the render passes diff --git a/src/engine/Graphics/Context/screen-pass-painter/screen-vertex.glsl b/src/engine/graphics/context/screen-pass-painter/screen-vertex.glsl similarity index 100% rename from src/engine/Graphics/Context/screen-pass-painter/screen-vertex.glsl rename to src/engine/graphics/context/screen-pass-painter/screen-vertex.glsl diff --git a/src/engine/Graphics/Context/shader.ts b/src/engine/graphics/context/shader.ts similarity index 99% rename from src/engine/Graphics/Context/shader.ts rename to src/engine/graphics/context/shader.ts index 80d880f8..00a22e50 100644 --- a/src/engine/Graphics/Context/shader.ts +++ b/src/engine/graphics/context/shader.ts @@ -9,8 +9,8 @@ import { parseImageWrapping, Vector } from '../..'; -import type { Matrix } from '../../Math/matrix'; -import { watch } from '../../Util/Watch'; +import type { Matrix } from '../../math/matrix'; +import { watch } from '../../util/watch'; import { UniformBuffer } from './uniform-buffer'; import { getAttributeComponentSize, getAttributePointerType } from './webgl-util'; diff --git a/src/engine/Graphics/Context/state-stack.ts b/src/engine/graphics/context/state-stack.ts similarity index 86% rename from src/engine/Graphics/Context/state-stack.ts rename to src/engine/graphics/context/state-stack.ts index 280d8c2c..a961c81f 100644 --- a/src/engine/Graphics/Context/state-stack.ts +++ b/src/engine/graphics/context/state-stack.ts @@ -1,6 +1,6 @@ -import { Color } from '../../Color'; -import { RentalPool } from '../../Util/RentalPool'; -import type { ExcaliburGraphicsContextState } from './ExcaliburGraphicsContext'; +import { Color } from '../../color'; +import { RentalPool } from '../../util/rental-pool'; +import type { ExcaliburGraphicsContextState } from './excalibur-graphics-context'; import type { Material } from './material'; export class ContextState implements ExcaliburGraphicsContextState { diff --git a/src/engine/Graphics/Context/texture-loader.ts b/src/engine/graphics/context/texture-loader.ts similarity index 96% rename from src/engine/Graphics/Context/texture-loader.ts rename to src/engine/graphics/context/texture-loader.ts index 510638fa..fe35858d 100644 --- a/src/engine/Graphics/Context/texture-loader.ts +++ b/src/engine/graphics/context/texture-loader.ts @@ -1,9 +1,9 @@ -import type { GarbageCollector } from '../../GarbageCollector'; -import { Logger } from '../../Util/Log'; -import { ImageFiltering } from '../Filtering'; -import type { ImageSourceOptions, ImageWrapConfiguration } from '../ImageSource'; -import { ImageWrapping } from '../Wrapping'; -import type { HTMLImageSource } from './ExcaliburGraphicsContext'; +import type { GarbageCollector } from '../../garbage-collector'; +import { Logger } from '../../util/log'; +import { ImageFiltering } from '../filtering'; +import type { ImageSourceOptions, ImageWrapConfiguration } from '../image-source'; +import { ImageWrapping } from '../wrapping'; +import type { HTMLImageSource } from './excalibur-graphics-context'; /** * Manages loading image sources into webgl textures, a unique id is associated with all sources diff --git a/src/engine/Graphics/Context/transform-stack.ts b/src/engine/graphics/context/transform-stack.ts similarity index 90% rename from src/engine/Graphics/Context/transform-stack.ts rename to src/engine/graphics/context/transform-stack.ts index 23b4a162..8f371ced 100644 --- a/src/engine/Graphics/Context/transform-stack.ts +++ b/src/engine/graphics/context/transform-stack.ts @@ -1,5 +1,5 @@ -import { AffineMatrix } from '../../Math/affine-matrix'; -import { RentalPool } from '../../Util/RentalPool'; +import { AffineMatrix } from '../../math/affine-matrix'; +import { RentalPool } from '../../util/rental-pool'; export class TransformStack { private _pool = new RentalPool( diff --git a/src/engine/Graphics/Context/uniform-buffer.ts b/src/engine/graphics/context/uniform-buffer.ts similarity index 100% rename from src/engine/Graphics/Context/uniform-buffer.ts rename to src/engine/graphics/context/uniform-buffer.ts diff --git a/src/engine/Graphics/Context/vertex-buffer.ts b/src/engine/graphics/context/vertex-buffer.ts similarity index 100% rename from src/engine/Graphics/Context/vertex-buffer.ts rename to src/engine/graphics/context/vertex-buffer.ts diff --git a/src/engine/Graphics/Context/vertex-layout.ts b/src/engine/graphics/context/vertex-layout.ts similarity index 100% rename from src/engine/Graphics/Context/vertex-layout.ts rename to src/engine/graphics/context/vertex-layout.ts diff --git a/src/engine/Graphics/Context/webgl-util.ts b/src/engine/graphics/context/webgl-util.ts similarity index 100% rename from src/engine/Graphics/Context/webgl-util.ts rename to src/engine/graphics/context/webgl-util.ts diff --git a/src/engine/Graphics/DebugGraphicsComponent.ts b/src/engine/graphics/debug-graphics-component.ts similarity index 67% rename from src/engine/Graphics/DebugGraphicsComponent.ts rename to src/engine/graphics/debug-graphics-component.ts index d91cf08d..faaf4704 100644 --- a/src/engine/Graphics/DebugGraphicsComponent.ts +++ b/src/engine/graphics/debug-graphics-component.ts @@ -1,6 +1,6 @@ -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import type { DebugConfig } from '../Debug'; -import { Component } from '../EntityComponentSystem/Component'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import type { DebugConfig } from '../debug'; +import { Component } from '../entity-component-system/component'; /** * Provide arbitrary drawing for the purposes of debugging your game diff --git a/src/engine/Graphics/Debug.ts b/src/engine/graphics/debug.ts similarity index 92% rename from src/engine/Graphics/Debug.ts rename to src/engine/graphics/debug.ts index bd165034..32a1b56e 100644 --- a/src/engine/Graphics/Debug.ts +++ b/src/engine/graphics/debug.ts @@ -1,14 +1,14 @@ -import type { Vector } from '../Math/vector'; +import type { Vector } from '../math/vector'; import type { ExcaliburGraphicsContext, LineGraphicsOptions, PointGraphicsOptions, RectGraphicsOptions -} from './Context/ExcaliburGraphicsContext'; -import { Color } from '../Color'; -import type { Ray } from '../Math/ray'; -import type { BoundingBox } from '../Collision/BoundingBox'; -import type { DebugConfig } from '../Debug'; +} from './context/excalibur-graphics-context'; +import { Color } from '../color'; +import type { Ray } from '../math/ray'; +import type { BoundingBox } from '../collision/bounding-box'; +import type { DebugConfig } from '../debug'; export class Debug { static _drawCalls: ((ctx: ExcaliburGraphicsContext) => void)[] = []; diff --git a/src/engine/Graphics/Filtering.ts b/src/engine/graphics/filtering.ts similarity index 100% rename from src/engine/Graphics/Filtering.ts rename to src/engine/graphics/filtering.ts diff --git a/src/engine/Graphics/FontCache.ts b/src/engine/graphics/font-cache.ts similarity index 92% rename from src/engine/Graphics/FontCache.ts rename to src/engine/graphics/font-cache.ts index 7be0bd8a..093ddfe4 100644 --- a/src/engine/Graphics/FontCache.ts +++ b/src/engine/graphics/font-cache.ts @@ -1,8 +1,8 @@ -import type { BoundingBox } from '../Collision/BoundingBox'; -import type { Color } from '../Color'; -import { Logger } from '../Util/Log'; -import type { Font } from './Font'; -import { FontTextInstance } from './FontTextInstance'; +import type { BoundingBox } from '../collision/bounding-box'; +import type { Color } from '../color'; +import { Logger } from '../util/log'; +import type { Font } from './font'; +import { FontTextInstance } from './font-text-instance'; export class FontCache { public static FONT_TIMEOUT = 500; diff --git a/src/engine/Graphics/FontCommon.ts b/src/engine/graphics/font-common.ts similarity index 94% rename from src/engine/Graphics/FontCommon.ts rename to src/engine/graphics/font-common.ts index 9ca85909..98751b74 100644 --- a/src/engine/Graphics/FontCommon.ts +++ b/src/engine/graphics/font-common.ts @@ -1,7 +1,7 @@ -import type { BoundingBox } from '../Collision/BoundingBox'; -import type { Color } from '../Color'; -import type { Vector } from '../Math/vector'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; +import type { BoundingBox } from '../collision/bounding-box'; +import type { Color } from '../color'; +import type { Vector } from '../math/vector'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; /** * Enum representing the different font size units diff --git a/src/engine/Graphics/FontTextInstance.ts b/src/engine/graphics/font-text-instance.ts similarity index 96% rename from src/engine/Graphics/FontTextInstance.ts rename to src/engine/graphics/font-text-instance.ts index 0e838b13..60d08f1a 100644 --- a/src/engine/Graphics/FontTextInstance.ts +++ b/src/engine/graphics/font-text-instance.ts @@ -1,9 +1,9 @@ -import { BoundingBox } from '../Collision/BoundingBox'; -import { Color } from '../Color'; -import { line } from '../Util/DrawUtil'; -import { ExcaliburGraphicsContextWebGL } from './Context/ExcaliburGraphicsContextWebGL'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import type { Font } from './Font'; +import { BoundingBox } from '../collision/bounding-box'; +import { Color } from '../color'; +import { line } from '../util/draw-util'; +import { ExcaliburGraphicsContextWebGL } from './context/excalibur-graphics-context-webgl'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import type { Font } from './font'; export class FontTextInstance { public canvas: HTMLCanvasElement; diff --git a/src/engine/Graphics/Font.ts b/src/engine/graphics/font.ts similarity index 90% rename from src/engine/Graphics/Font.ts rename to src/engine/graphics/font.ts index b4168e56..fbc800e8 100644 --- a/src/engine/Graphics/Font.ts +++ b/src/engine/graphics/font.ts @@ -1,15 +1,15 @@ -import type { Vector } from '../Math/vector'; -import { BoundingBox } from '../Collision/Index'; -import { Color } from '../Color'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import type { FontOptions, FontRenderer } from './FontCommon'; -import { BaseAlign, Direction, FontStyle, FontUnit, TextAlign } from './FontCommon'; -import type { GraphicOptions } from './Graphic'; -import { Graphic } from './Graphic'; -import type { RasterOptions } from './Raster'; -import { ImageFiltering } from './Filtering'; -import { FontTextInstance } from './FontTextInstance'; -import { FontCache } from './FontCache'; +import type { Vector } from '../math/vector'; +import { BoundingBox } from '../collision/index'; +import { Color } from '../color'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import type { FontOptions, FontRenderer } from './font-common'; +import { BaseAlign, Direction, FontStyle, FontUnit, TextAlign } from './font-common'; +import type { GraphicOptions } from './graphic'; +import { Graphic } from './graphic'; +import type { RasterOptions } from './raster'; +import { ImageFiltering } from './filtering'; +import { FontTextInstance } from './font-text-instance'; +import { FontCache } from './font-cache'; /** * Represents a system or web font in Excalibur * diff --git a/src/engine/Graphics/Graphic.ts b/src/engine/graphics/graphic.ts similarity index 96% rename from src/engine/Graphics/Graphic.ts rename to src/engine/graphics/graphic.ts index d95093fe..6f07c011 100644 --- a/src/engine/Graphics/Graphic.ts +++ b/src/engine/graphics/graphic.ts @@ -1,9 +1,9 @@ -import { Vector, vec } from '../Math/vector'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import { BoundingBox } from '../Collision/BoundingBox'; -import type { Color } from '../Color'; -import { watch } from '../Util/Watch'; -import { AffineMatrix } from '../Math/affine-matrix'; +import { Vector, vec } from '../math/vector'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import { BoundingBox } from '../collision/bounding-box'; +import type { Color } from '../color'; +import { watch } from '../util/watch'; +import { AffineMatrix } from '../math/affine-matrix'; export interface GraphicOptions { /** diff --git a/src/engine/Graphics/GraphicsComponent.ts b/src/engine/graphics/graphics-component.ts similarity index 94% rename from src/engine/Graphics/GraphicsComponent.ts rename to src/engine/graphics/graphics-component.ts index 66093519..d4523a59 100644 --- a/src/engine/Graphics/GraphicsComponent.ts +++ b/src/engine/graphics/graphics-component.ts @@ -1,17 +1,17 @@ -import { Vector, vec } from '../Math/vector'; -import { Graphic } from './Graphic'; -import type { HasTick } from './Animation'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import { BoundingBox } from '../Collision/Index'; -import { Component } from '../EntityComponentSystem/Component'; -import type { Material } from './Context/material'; -import { Logger } from '../Util/Log'; -import { WatchVector } from '../Math/watch-vector'; -import { TransformComponent } from '../EntityComponentSystem'; -import { GraphicsGroup } from '../Graphics/GraphicsGroup'; -import type { Color } from '../Color'; -import { Raster } from './Raster'; -import { Text } from './Text'; +import { Vector, vec } from '../math/vector'; +import { Graphic } from './graphic'; +import type { HasTick } from './animation'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import { BoundingBox } from '../collision/index'; +import { Component } from '../entity-component-system/component'; +import type { Material } from './context/material'; +import { Logger } from '../util/log'; +import { WatchVector } from '../math/watch-vector'; +import { TransformComponent } from '../entity-component-system'; +import { GraphicsGroup } from '../graphics/graphics-group'; +import type { Color } from '../color'; +import { Raster } from './raster'; +import { Text } from './text'; /** * Type guard for checking if a Graphic HasTick (used for graphics that change over time like animations) diff --git a/src/engine/Graphics/GraphicsDiagnostics.ts b/src/engine/graphics/graphics-diagnostics.ts similarity index 100% rename from src/engine/Graphics/GraphicsDiagnostics.ts rename to src/engine/graphics/graphics-diagnostics.ts diff --git a/src/engine/Graphics/GraphicsGroup.ts b/src/engine/graphics/graphics-group.ts similarity index 91% rename from src/engine/Graphics/GraphicsGroup.ts rename to src/engine/graphics/graphics-group.ts index 4513f641..1e155cd1 100644 --- a/src/engine/Graphics/GraphicsGroup.ts +++ b/src/engine/graphics/graphics-group.ts @@ -1,11 +1,11 @@ -import { Vector } from '../Math/vector'; -import type { GraphicOptions } from './Graphic'; -import { Graphic } from './Graphic'; -import type { HasTick } from './Animation'; -import { Animation } from './Animation'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import { BoundingBox } from '../Collision/Index'; -import { Logger } from '../Util/Log'; +import { Vector } from '../math/vector'; +import type { GraphicOptions } from './graphic'; +import { Graphic } from './graphic'; +import type { HasTick } from './animation'; +import { Animation } from './animation'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import { BoundingBox } from '../collision/index'; +import { Logger } from '../util/log'; export interface GraphicsGroupingOptions { members: (GraphicsGrouping | Graphic)[]; diff --git a/src/engine/Graphics/GraphicsSystem.ts b/src/engine/graphics/graphics-system.ts similarity index 90% rename from src/engine/Graphics/GraphicsSystem.ts rename to src/engine/graphics/graphics-system.ts index 9919fed6..f30ce414 100644 --- a/src/engine/Graphics/GraphicsSystem.ts +++ b/src/engine/graphics/graphics-system.ts @@ -1,22 +1,22 @@ -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import type { Scene } from '../Scene'; -import { GraphicsComponent } from './GraphicsComponent'; -import { vec, Vector } from '../Math/vector'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import type { Entity } from '../EntityComponentSystem/Entity'; -import type { Camera } from '../Camera'; -import type { Query, World } from '../EntityComponentSystem'; -import { System, SystemPriority, SystemType } from '../EntityComponentSystem'; -import type { Engine } from '../Engine'; -import { GraphicsGroup } from './GraphicsGroup'; -import { ParallaxComponent } from './ParallaxComponent'; -import { CoordPlane } from '../Math/coord-plane'; -import { BodyComponent } from '../Collision/BodyComponent'; -import { FontCache } from './FontCache'; -import { PostDrawEvent, PostTransformDrawEvent, PreDrawEvent, PreTransformDrawEvent } from '../Events'; -import { Transform } from '../Math/transform'; -import { blendTransform } from './TransformInterpolation'; -import { Graphic } from './Graphic'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import type { Scene } from '../scene'; +import { GraphicsComponent } from './graphics-component'; +import { vec, Vector } from '../math/vector'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import type { Entity } from '../entity-component-system/entity'; +import type { Camera } from '../camera'; +import type { Query, World } from '../entity-component-system'; +import { System, SystemPriority, SystemType } from '../entity-component-system'; +import type { Engine } from '../engine'; +import { GraphicsGroup } from './graphics-group'; +import { ParallaxComponent } from './parallax-component'; +import { CoordPlane } from '../math/coord-plane'; +import { BodyComponent } from '../collision/body-component'; +import { FontCache } from './font-cache'; +import { PostDrawEvent, PostTransformDrawEvent, PreDrawEvent, PreTransformDrawEvent } from '../events'; +import { Transform } from '../math/transform'; +import { blendTransform } from './transform-interpolation'; +import { Graphic } from './graphic'; export class GraphicsSystem extends System { static priority = SystemPriority.Average; diff --git a/src/engine/Graphics/ImageSource.ts b/src/engine/graphics/image-source.ts similarity index 95% rename from src/engine/Graphics/ImageSource.ts rename to src/engine/graphics/image-source.ts index ad29d99a..67f9fd80 100644 --- a/src/engine/Graphics/ImageSource.ts +++ b/src/engine/graphics/image-source.ts @@ -1,13 +1,13 @@ -import { Resource } from '../Resources/Resource'; -import type { SpriteOptions } from './Sprite'; -import { Sprite } from './Sprite'; -import type { Loadable } from '../Interfaces/Index'; -import { Logger } from '../Util/Log'; -import { ImageFiltering } from './Filtering'; -import { Future } from '../Util/Future'; -import { TextureLoader } from '../Graphics/Context/texture-loader'; -import { ImageWrapping } from './Wrapping'; -import type { GraphicOptions } from './Graphic'; +import { Resource } from '../resources/resource'; +import type { SpriteOptions } from './sprite'; +import { Sprite } from './sprite'; +import type { Loadable } from '../interfaces/index'; +import { Logger } from '../util/log'; +import { ImageFiltering } from './filtering'; +import { Future } from '../util/future'; +import { TextureLoader } from '../graphics/context/texture-loader'; +import { ImageWrapping } from './wrapping'; +import type { GraphicOptions } from './graphic'; export interface ImageSourceOptions { filtering?: ImageFiltering; diff --git a/src/engine/graphics/index.ts b/src/engine/graphics/index.ts new file mode 100644 index 00000000..d84da830 --- /dev/null +++ b/src/engine/graphics/index.ts @@ -0,0 +1,66 @@ +// Graphics +export * from './graphic'; +export * from './sprite'; +export * from './sprite-sheet'; +export * from './graphics-group'; +export * from './image-source'; +export * from './animation'; +export * from './line'; + +// graphics ecs +export * from './graphics-component'; +export * from './debug-graphics-component'; +export * from './graphics-system'; +export * from './offscreen-system'; +export * from './parallax-component'; + +// raster graphics +export * from './raster'; +export * from './circle'; +export * from './rectangle'; +export * from './polygon'; +export * from './text'; +export * from './font-common'; +export * from './font'; +export * from './font-cache'; +export * from './sprite-font'; +export * from './canvas'; +export * from './nine-slice'; +export * from './tiled-sprite'; +export * from './tiled-animation'; + +export * from './context/excalibur-graphics-context'; +export * from './context/excalibur-graphics-context-2d-canvas'; +export * from './context/excalibur-graphics-context-webgl'; + +// todo deleteme +export * from './context/particle-renderer/particle-renderer'; + +export * from './context/debug-text'; + +// post processor +export type * from './post-processor/post-processor'; +export * from './post-processor/screen-shader'; +export * from './post-processor/color-blindness-mode'; +export * from './post-processor/color-blindness-post-processor'; + +export * from './context/texture-loader'; +export * from './filtering'; +export * from './wrapping'; + +// rendering +export * from './context/shader'; +export * from './context/vertex-buffer'; +export * from './context/uniform-buffer'; +export * from './context/vertex-layout'; +export * from './context/quad-index-buffer'; +export * from './context/material'; +export type * from './context/renderer'; + +// debug +export * from './debug'; + +// util + +import * as webgl from './context/webgl-util'; +export { webgl }; diff --git a/src/engine/Graphics/Line.ts b/src/engine/graphics/line.ts similarity index 85% rename from src/engine/Graphics/Line.ts rename to src/engine/graphics/line.ts index cbf8b1bf..14bdd4cd 100644 --- a/src/engine/Graphics/Line.ts +++ b/src/engine/graphics/line.ts @@ -1,8 +1,8 @@ -import { BoundingBox } from '../Collision/BoundingBox'; -import { Color } from '../Color'; -import type { Vector } from '../Math/vector'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import { Graphic } from './Graphic'; +import { BoundingBox } from '../collision/bounding-box'; +import { Color } from '../color'; +import type { Vector } from '../math/vector'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import { Graphic } from './graphic'; export interface LineOptions { start: Vector; diff --git a/src/engine/Graphics/NineSlice.ts b/src/engine/graphics/nine-slice.ts similarity index 98% rename from src/engine/Graphics/NineSlice.ts rename to src/engine/graphics/nine-slice.ts index 27180f6d..9375ff89 100644 --- a/src/engine/Graphics/NineSlice.ts +++ b/src/engine/graphics/nine-slice.ts @@ -1,9 +1,9 @@ -import type { GraphicOptions } from './Graphic'; -import { Graphic } from './Graphic'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import type { ImageSource } from './ImageSource'; -import { Logger } from '../Util/Log'; -import { Vector } from '../Math/vector'; +import type { GraphicOptions } from './graphic'; +import { Graphic } from './graphic'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import type { ImageSource } from './image-source'; +import { Logger } from '../util/log'; +import { Vector } from '../math/vector'; /** * Nine slice stretch mode diff --git a/src/engine/Graphics/OffscreenSystem.ts b/src/engine/graphics/offscreen-system.ts similarity index 77% rename from src/engine/Graphics/OffscreenSystem.ts rename to src/engine/graphics/offscreen-system.ts index 629cda31..6994451e 100644 --- a/src/engine/Graphics/OffscreenSystem.ts +++ b/src/engine/graphics/offscreen-system.ts @@ -1,16 +1,16 @@ -import { GraphicsComponent } from './GraphicsComponent'; -import { EnterViewPortEvent, ExitViewPortEvent } from '../Events'; -import type { Scene } from '../Scene'; -import type { Screen } from '../Screen'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import type { Camera } from '../Camera'; -import { System, SystemType } from '../EntityComponentSystem/System'; -import { ParallaxComponent } from './ParallaxComponent'; -import { Vector } from '../Math/vector'; -import { CoordPlane } from '../Math/coord-plane'; -import type { BoundingBox } from '../Collision/BoundingBox'; -import type { Query, World } from '../EntityComponentSystem'; -import { SystemPriority } from '../EntityComponentSystem'; +import { GraphicsComponent } from './graphics-component'; +import { EnterViewPortEvent, ExitViewPortEvent } from '../events'; +import type { Scene } from '../scene'; +import type { Screen } from '../screen'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import type { Camera } from '../camera'; +import { System, SystemType } from '../entity-component-system//system'; +import { ParallaxComponent } from './parallax-component'; +import { Vector } from '../math/vector'; +import { CoordPlane } from '../math/coord-plane'; +import type { BoundingBox } from '../collision/bounding-box'; +import type { Query, World } from '../entity-component-system'; +import { SystemPriority } from '../entity-component-system'; export class OffscreenSystem extends System { static priority: number = SystemPriority.Higher; diff --git a/src/engine/Graphics/ParallaxComponent.ts b/src/engine/graphics/parallax-component.ts similarity index 58% rename from src/engine/Graphics/ParallaxComponent.ts rename to src/engine/graphics/parallax-component.ts index f0f5c21c..cc5600ef 100644 --- a/src/engine/Graphics/ParallaxComponent.ts +++ b/src/engine/graphics/parallax-component.ts @@ -1,6 +1,6 @@ -import { Component } from '../EntityComponentSystem/Component'; -import type { Vector } from '../Math/vector'; -import { vec } from '../Math/vector'; +import { Component } from '../entity-component-system/component'; +import type { Vector } from '../math/vector'; +import { vec } from '../math/vector'; export class ParallaxComponent extends Component { parallaxFactor = vec(1.0, 1.0); diff --git a/src/engine/Graphics/Polygon.ts b/src/engine/graphics/polygon.ts similarity index 89% rename from src/engine/Graphics/Polygon.ts rename to src/engine/graphics/polygon.ts index 95407384..856fb532 100644 --- a/src/engine/Graphics/Polygon.ts +++ b/src/engine/graphics/polygon.ts @@ -1,8 +1,8 @@ -import { ImageFiltering } from './Filtering'; -import type { Vector } from '../Math/vector'; -import { vec } from '../Math/vector'; -import type { RasterOptions } from './Raster'; -import { Raster } from './Raster'; +import { ImageFiltering } from './filtering'; +import type { Vector } from '../math/vector'; +import { vec } from '../math/vector'; +import type { RasterOptions } from './raster'; +import { Raster } from './raster'; export interface PolygonOptions { points: Vector[]; diff --git a/src/engine/Graphics/PostProcessor/color-blind-fragment.glsl b/src/engine/graphics/post-processor/color-blind-fragment.glsl similarity index 100% rename from src/engine/Graphics/PostProcessor/color-blind-fragment.glsl rename to src/engine/graphics/post-processor/color-blind-fragment.glsl diff --git a/src/engine/Graphics/PostProcessor/ColorBlindnessMode.ts b/src/engine/graphics/post-processor/color-blindness-mode.ts similarity index 100% rename from src/engine/Graphics/PostProcessor/ColorBlindnessMode.ts rename to src/engine/graphics/post-processor/color-blindness-mode.ts diff --git a/src/engine/Graphics/PostProcessor/ColorBlindnessPostProcessor.ts b/src/engine/graphics/post-processor/color-blindness-post-processor.ts similarity index 81% rename from src/engine/Graphics/PostProcessor/ColorBlindnessPostProcessor.ts rename to src/engine/graphics/post-processor/color-blindness-post-processor.ts index becde977..362a7141 100644 --- a/src/engine/Graphics/PostProcessor/ColorBlindnessPostProcessor.ts +++ b/src/engine/graphics/post-processor/color-blindness-post-processor.ts @@ -1,10 +1,10 @@ import colorBlindCorrectSource from './color-blind-fragment.glsl?raw'; -import type { PostProcessor } from './PostProcessor'; -import { ColorBlindnessMode } from './ColorBlindnessMode'; -import type { Shader } from '../Context/shader'; -import type { VertexLayout } from '../Context/vertex-layout'; -import { ScreenShader } from './ScreenShader'; -import type { ExcaliburGraphicsContextWebGL } from '../Context/ExcaliburGraphicsContextWebGL'; +import type { PostProcessor } from './post-processor'; +import { ColorBlindnessMode } from './color-blindness-mode'; +import type { Shader } from '../context/shader'; +import type { VertexLayout } from '../context/vertex-layout'; +import { ScreenShader } from './screen-shader'; +import type { ExcaliburGraphicsContextWebGL } from '../context/excalibur-graphics-context-webgl'; export class ColorBlindnessPostProcessor implements PostProcessor { private _shader!: ScreenShader; diff --git a/src/engine/Graphics/PostProcessor/PostProcessor.ts b/src/engine/graphics/post-processor/post-processor.ts similarity index 84% rename from src/engine/Graphics/PostProcessor/PostProcessor.ts rename to src/engine/graphics/post-processor/post-processor.ts index 2035419c..bcb93611 100644 --- a/src/engine/Graphics/PostProcessor/PostProcessor.ts +++ b/src/engine/graphics/post-processor/post-processor.ts @@ -1,6 +1,6 @@ -import type { VertexLayout } from '../Context/vertex-layout'; -import type { Shader } from '../Context/shader'; -import type { ExcaliburGraphicsContextWebGL } from '../Context/ExcaliburGraphicsContextWebGL'; +import type { VertexLayout } from '../context/vertex-layout'; +import type { Shader } from '../context/shader'; +import type { ExcaliburGraphicsContextWebGL } from '../context/excalibur-graphics-context-webgl'; /** * PostProcessors can be used to apply a shader to the entire screen. It is recommended diff --git a/src/engine/Graphics/PostProcessor/ScreenShader.ts b/src/engine/graphics/post-processor/screen-shader.ts similarity index 86% rename from src/engine/Graphics/PostProcessor/ScreenShader.ts rename to src/engine/graphics/post-processor/screen-shader.ts index c9eaa32e..a7a00d5d 100644 --- a/src/engine/Graphics/PostProcessor/ScreenShader.ts +++ b/src/engine/graphics/post-processor/screen-shader.ts @@ -1,8 +1,8 @@ -import { Logger } from '../../Util/Log'; -import type { ExcaliburGraphicsContextWebGL } from '../Context/ExcaliburGraphicsContextWebGL'; -import { Shader } from '../Context/shader'; -import { VertexBuffer } from '../Context/vertex-buffer'; -import { VertexLayout } from '../Context/vertex-layout'; +import { Logger } from '../../util/log'; +import type { ExcaliburGraphicsContextWebGL } from '../context/excalibur-graphics-context-webgl'; +import { Shader } from '../context/shader'; +import { VertexBuffer } from '../context/vertex-buffer'; +import { VertexLayout } from '../context/vertex-layout'; /** * Helper that defines a whole screen renderer, just provide a fragment source! diff --git a/src/engine/Graphics/Raster.ts b/src/engine/graphics/raster.ts similarity index 95% rename from src/engine/Graphics/Raster.ts rename to src/engine/graphics/raster.ts index bc78d11b..c1455ccf 100644 --- a/src/engine/Graphics/Raster.ts +++ b/src/engine/graphics/raster.ts @@ -1,12 +1,12 @@ -import type { GraphicOptions } from './Graphic'; -import { Graphic } from './Graphic'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import { Color } from '../Color'; -import { Vector } from '../Math/vector'; -import { BoundingBox } from '../Collision/BoundingBox'; -import { watch } from '../Util/Watch'; -import type { ImageFiltering } from './Filtering'; -import { omit } from '../Util/Util'; +import type { GraphicOptions } from './graphic'; +import { Graphic } from './graphic'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import { Color } from '../color'; +import { Vector } from '../math/vector'; +import { BoundingBox } from '../collision/bounding-box'; +import { watch } from '../util/watch'; +import type { ImageFiltering } from './filtering'; +import { omit } from '../util/util'; export interface RasterOptions extends GraphicOptions { /** diff --git a/src/engine/Graphics/Rectangle.ts b/src/engine/graphics/rectangle.ts similarity index 90% rename from src/engine/Graphics/Rectangle.ts rename to src/engine/graphics/rectangle.ts index 94ee3fe6..6ca14f50 100644 --- a/src/engine/Graphics/Rectangle.ts +++ b/src/engine/graphics/rectangle.ts @@ -1,5 +1,5 @@ -import type { RasterOptions } from './Raster'; -import { Raster } from './Raster'; +import type { RasterOptions } from './raster'; +import { Raster } from './raster'; export interface RectangleOptions { width: number; diff --git a/src/engine/Graphics/SpriteFont.ts b/src/engine/graphics/sprite-font.ts similarity index 93% rename from src/engine/Graphics/SpriteFont.ts rename to src/engine/graphics/sprite-font.ts index 338695cf..ba2b3f90 100644 --- a/src/engine/Graphics/SpriteFont.ts +++ b/src/engine/graphics/sprite-font.ts @@ -1,12 +1,12 @@ -import { Vector } from '../Math/vector'; -import { Logger } from '../Util/Log'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import type { FontRenderer } from './FontCommon'; -import type { GraphicOptions } from './Graphic'; -import { Graphic } from './Graphic'; -import type { Sprite } from './Sprite'; -import type { SpriteSheet } from './SpriteSheet'; -import { BoundingBox } from '../Collision/BoundingBox'; +import { Vector } from '../math/vector'; +import { Logger } from '../util/log'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import type { FontRenderer } from './font-common'; +import type { GraphicOptions } from './graphic'; +import { Graphic } from './graphic'; +import type { Sprite } from './sprite'; +import type { SpriteSheet } from './sprite-sheet'; +import { BoundingBox } from '../collision/bounding-box'; export interface SpriteFontOptions { /** diff --git a/src/engine/Graphics/SpriteSheet.ts b/src/engine/graphics/sprite-sheet.ts similarity index 97% rename from src/engine/Graphics/SpriteSheet.ts rename to src/engine/graphics/sprite-sheet.ts index cf26e777..f3fc9225 100644 --- a/src/engine/Graphics/SpriteSheet.ts +++ b/src/engine/graphics/sprite-sheet.ts @@ -1,10 +1,10 @@ -import { ImageSource } from './ImageSource'; -import type { SourceView } from './Sprite'; -import { Sprite } from './Sprite'; -import type { GraphicOptions } from './Graphic'; -import type { TiledSpriteOptions } from './TiledSprite'; -import { TiledSprite } from './TiledSprite'; -import { Vector } from '../Math/vector'; +import { ImageSource } from './image-source'; +import type { SourceView } from './sprite'; +import { Sprite } from './sprite'; +import type { GraphicOptions } from './graphic'; +import type { TiledSpriteOptions } from './tiled-sprite'; +import { TiledSprite } from './tiled-sprite'; +import { Vector } from '../math/vector'; /** * Specify sprite sheet spacing options, useful if your sprites are not tightly packed diff --git a/src/engine/Graphics/Sprite.ts b/src/engine/graphics/sprite.ts similarity index 93% rename from src/engine/Graphics/Sprite.ts rename to src/engine/graphics/sprite.ts index 154d34ad..1756f3aa 100644 --- a/src/engine/Graphics/Sprite.ts +++ b/src/engine/graphics/sprite.ts @@ -1,8 +1,8 @@ -import type { GraphicOptions } from './Graphic'; -import { Graphic } from './Graphic'; -import type { ImageSource } from './ImageSource'; -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import { Logger } from '../Util/Log'; +import type { GraphicOptions } from './graphic'; +import { Graphic } from './graphic'; +import type { ImageSource } from './image-source'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import { Logger } from '../util/log'; export type SourceView = { x: number; y: number; width: number; height: number }; export type DestinationSize = { width: number; height: number }; diff --git a/src/engine/Graphics/Text.ts b/src/engine/graphics/text.ts similarity index 91% rename from src/engine/Graphics/Text.ts rename to src/engine/graphics/text.ts index 7499f461..c639d612 100644 --- a/src/engine/Graphics/Text.ts +++ b/src/engine/graphics/text.ts @@ -1,10 +1,10 @@ -import type { ExcaliburGraphicsContext } from './Context/ExcaliburGraphicsContext'; -import type { BoundingBox } from '../Collision/BoundingBox'; -import type { SpriteFont } from './SpriteFont'; -import type { GraphicOptions } from './Graphic'; -import { Graphic } from './Graphic'; -import { Color } from '../Color'; -import { Font } from './Font'; +import type { ExcaliburGraphicsContext } from './context/excalibur-graphics-context'; +import type { BoundingBox } from '../collision/bounding-box'; +import type { SpriteFont } from './sprite-font'; +import type { GraphicOptions } from './graphic'; +import { Graphic } from './graphic'; +import { Color } from '../color'; +import { Font } from './font'; export interface TextOptions { /** diff --git a/src/engine/Graphics/TiledAnimation.ts b/src/engine/graphics/tiled-animation.ts similarity index 88% rename from src/engine/Graphics/TiledAnimation.ts rename to src/engine/graphics/tiled-animation.ts index 9347378e..669aa251 100644 --- a/src/engine/Graphics/TiledAnimation.ts +++ b/src/engine/graphics/tiled-animation.ts @@ -1,14 +1,14 @@ -import type { ImageFiltering } from './Filtering'; -import type { ImageWrapConfiguration } from './ImageSource'; -import type { SourceView } from './Sprite'; -import { Sprite } from './Sprite'; -import type { ImageWrapping } from './Wrapping'; -import type { AnimationOptions } from './Animation'; -import { Animation } from './Animation'; -import type { GraphicOptions } from './Graphic'; -import { TiledSprite } from './TiledSprite'; -import { watch } from '../Util/Watch'; -import { Future } from '../Util/Future'; +import type { ImageFiltering } from './filtering'; +import type { ImageWrapConfiguration } from './image-source'; +import type { SourceView } from './sprite'; +import { Sprite } from './sprite'; +import type { ImageWrapping } from './wrapping'; +import type { AnimationOptions } from './animation'; +import { Animation } from './animation'; +import type { GraphicOptions } from './graphic'; +import { TiledSprite } from './tiled-sprite'; +import { watch } from '../util/watch'; +import { Future } from '../util/future'; export interface TiledAnimationOptions { /** diff --git a/src/engine/Graphics/TiledSprite.ts b/src/engine/graphics/tiled-sprite.ts similarity index 88% rename from src/engine/Graphics/TiledSprite.ts rename to src/engine/graphics/tiled-sprite.ts index 368891f4..0055c060 100644 --- a/src/engine/Graphics/TiledSprite.ts +++ b/src/engine/graphics/tiled-sprite.ts @@ -1,11 +1,11 @@ -import { Future } from '../Util/Future'; -import type { ImageFiltering } from './Filtering'; -import type { GraphicOptions } from './Graphic'; -import type { ImageWrapConfiguration } from './ImageSource'; -import { ImageSource } from './ImageSource'; -import type { SourceView } from './Sprite'; -import { Sprite } from './Sprite'; -import { ImageWrapping } from './Wrapping'; +import { Future } from '../util/future'; +import type { ImageFiltering } from './filtering'; +import type { GraphicOptions } from './graphic'; +import type { ImageWrapConfiguration } from './image-source'; +import { ImageSource } from './image-source'; +import type { SourceView } from './sprite'; +import { Sprite } from './sprite'; +import { ImageWrapping } from './wrapping'; export interface TiledSpriteOptions { image: ImageSource; diff --git a/src/engine/Graphics/TransformInterpolation.ts b/src/engine/graphics/transform-interpolation.ts similarity index 98% rename from src/engine/Graphics/TransformInterpolation.ts rename to src/engine/graphics/transform-interpolation.ts index c87141f9..fa6f2fcf 100644 --- a/src/engine/Graphics/TransformInterpolation.ts +++ b/src/engine/graphics/transform-interpolation.ts @@ -1,4 +1,4 @@ -import { Transform } from '../Math/transform'; +import { Transform } from '../math/transform'; /** * Blend 2 transforms for interpolation, will interpolate from the context of newTx's parent if it exists diff --git a/src/engine/Graphics/tsconfig.json b/src/engine/graphics/tsconfig.json similarity index 100% rename from src/engine/Graphics/tsconfig.json rename to src/engine/graphics/tsconfig.json diff --git a/src/engine/Graphics/Wrapping.ts b/src/engine/graphics/wrapping.ts similarity index 100% rename from src/engine/Graphics/Wrapping.ts rename to src/engine/graphics/wrapping.ts diff --git a/src/engine/Id.ts b/src/engine/id.ts similarity index 100% rename from src/engine/Id.ts rename to src/engine/id.ts diff --git a/src/engine/index.ts b/src/engine/index.ts index 3e14c90f..3056e12c 100644 --- a/src/engine/index.ts +++ b/src/engine/index.ts @@ -3,63 +3,63 @@ * @description `process.env.__EX_VERSION` gets replaced by Webpack on build */ export const EX_VERSION = process.env.__EX_VERSION; -import { polyfill } from './Polyfill'; +import { polyfill } from './polyfill'; polyfill(); // This file is used as the bundle entry point and exports everything // that will be exposed as the `ex` global variable. -export * from './Flags'; -export * from './Id'; -export * from './Engine'; -export * from './GarbageCollector'; -export * from './Screen'; -export * from './Actor'; -export * from './Math/index'; -export * from './Camera'; -export * from './Debug/index'; -export * from './EventEmitter'; -export * from './Events/MediaEvents'; -export * from './Events'; -export * from './Label'; -export { FontStyle, FontUnit, TextAlign, BaseAlign } from './Graphics/FontCommon'; -export * from './Particles/index'; -export * from './Scene'; +export * from './flags'; +export * from './id'; +export * from './engine'; +export * from './garbage-collector'; +export * from './screen'; +export * from './actor'; +export * from './math/index'; +export * from './camera'; +export * from './debug/index'; +export * from './event-emitter'; +export * from './events/media-events'; +export * from './events'; +export * from './label'; +export { FontStyle, FontUnit, TextAlign, BaseAlign } from './graphics/font-common'; +export * from './particles/index'; +export * from './scene'; -export * from './TileMap/index'; +export * from './tile-map/index'; -export * from './Timer'; -export * from './Trigger'; -export * from './ScreenElement'; +export * from './timer'; +export * from './trigger'; +export * from './screen-element'; -export * from './Actions/index'; -export * from './Collision/Index'; +export * from './actions/index'; +export * from './collision/index'; -export * from './Interfaces/Index'; -export * from './Resources/Index'; +export * from './interfaces/index'; +export * from './resources/index'; -export * from './EntityComponentSystem/index'; +export * from './entity-component-system/index'; -export * from './Director/index'; +export * from './director/index'; -export * from './Color'; +export * from './color'; -export * from './Graphics/index'; +export * from './graphics/index'; // ex.Events namespace -import * as events from './Events'; +import * as events from './events'; export { events as Events }; -export { WheelEvent } from './Input/WheelEvent'; +export { WheelEvent } from './input/wheel-event'; -export { PointerEvent } from './Input/PointerEvent'; +export { PointerEvent } from './input/pointer-event'; -export { WheelDeltaMode } from './Input/WheelDeltaMode'; +export { WheelDeltaMode } from './input/wheel-delta-mode'; -export { PointerButton } from './Input/PointerButton'; +export { PointerButton } from './input/pointer-button'; -export { NativePointerButton } from './Input/NativePointerButton'; +export { NativePointerButton } from './input/native-pointer-button'; -export type { CapturePointerConfig } from './Input/CapturePointerConfig'; +export type { CapturePointerConfig } from './input/capture-pointer-config'; export type { NativePointerEvent, @@ -67,14 +67,14 @@ export type { NativeTouchEvent, NativeWheelEvent, PointerInitOptions -} from './Input/PointerEventReceiver'; -export { PointerEventReceiver } from './Input/PointerEventReceiver'; +} from './input/pointer-event-receiver'; +export { PointerEventReceiver } from './input/pointer-event-receiver'; -export { PointerAbstraction } from './Input/PointerAbstraction'; -export { PointerComponent } from './Input/PointerComponent'; -export { PointerSystem } from './Input/PointerSystem'; -export { PointerType } from './Input/PointerType'; -export { PointerScope } from './Input/PointerScope'; +export { PointerAbstraction } from './input/pointer-abstraction'; +export { PointerComponent } from './input/pointer-component'; +export { PointerSystem } from './input/pointer-system'; +export { PointerType } from './input/pointer-type'; +export { PointerScope } from './input/pointer-scope'; export type { NavigatorGamepads, @@ -82,37 +82,37 @@ export type { NavigatorGamepadButton, NavigatorGamepadEvent, GamepadConfiguration -} from './Input/Gamepad'; -export { Gamepads, Gamepad, Buttons, Axes } from './Input/Gamepad'; +} from './input/gamepad'; +export { Gamepads, Gamepad, Buttons, Axes } from './input/gamepad'; -export type { KeyboardInitOptions } from './Input/Keyboard'; -export { Keys, KeyEvent, Keyboard } from './Input/Keyboard'; -export * from './Input/InputHost'; -export * from './Input/InputMapper'; +export type { KeyboardInitOptions } from './input/keyboard'; +export { Keys, KeyEvent, Keyboard } from './input/keyboard'; +export * from './input/input-host'; +export * from './input/input-mapper'; // ex.Util namespaces -import * as util from './Util/Index'; +import * as util from './util/index'; export { util as Util }; -export * from './Util/Browser'; -export * from './Util/Decorators'; -export * from './Util/Detector'; -export * from './Util/EasingFunctions'; -export * from './Util/Observable'; -export * from './Util/Log'; -export * from './Util/Pool'; -export * from './Util/Fps'; -export * from './Util/Clock'; -export * from './Util/WebAudio'; -export * from './Util/Toaster'; -export * from './Util/StateMachine'; -export * from './Util/Future'; -export * from './Util/Semaphore'; -export * from './Util/Coroutine'; -export * from './Util/Assert'; -export * from './Util/RentalPool'; +export * from './util/browser'; +export * from './util/decorators'; +export * from './util/detector'; +export * from './util/easing-functions'; +export * from './util/observable'; +export * from './util/log'; +export * from './util/pool'; +export * from './util/fps'; +export * from './util/clock'; +export * from './util/web-audio'; +export * from './util/toaster'; +export * from './util/state-machine'; +export * from './util/future'; +export * from './util/semaphore'; +export * from './util/coroutine'; +export * from './util/assert'; +export * from './util/rental-pool'; // ex.Deprecated -// import * as deprecated from './Deprecated'; +// import * as deprecated from './deprecated'; // export { deprecated as Deprecated }; // export * from './Deprecated'; diff --git a/src/engine/Input/CapturePointerConfig.ts b/src/engine/input/capture-pointer-config.ts similarity index 100% rename from src/engine/Input/CapturePointerConfig.ts rename to src/engine/input/capture-pointer-config.ts diff --git a/src/engine/Input/Gamepad.ts b/src/engine/input/gamepad.ts similarity index 98% rename from src/engine/Input/Gamepad.ts rename to src/engine/input/gamepad.ts index 7b790971..11206bea 100644 --- a/src/engine/Input/Gamepad.ts +++ b/src/engine/input/gamepad.ts @@ -1,6 +1,6 @@ -import { GamepadConnectEvent, GamepadDisconnectEvent, GamepadButtonEvent, GamepadAxisEvent } from '../Events'; -import type { EventKey, Handler, Subscription } from '../EventEmitter'; -import { EventEmitter } from '../EventEmitter'; +import { GamepadConnectEvent, GamepadDisconnectEvent, GamepadButtonEvent, GamepadAxisEvent } from '../events'; +import type { EventKey, Handler, Subscription } from '../event-emitter'; +import { EventEmitter } from '../event-emitter'; export interface GamepadEvents { connect: GamepadConnectEvent; diff --git a/src/engine/Input/InputHost.ts b/src/engine/input/input-host.ts similarity index 85% rename from src/engine/Input/InputHost.ts rename to src/engine/input/input-host.ts index 2add1e5c..87faba49 100644 --- a/src/engine/Input/InputHost.ts +++ b/src/engine/input/input-host.ts @@ -1,8 +1,8 @@ -import type { Engine } from '../Engine'; -import { Gamepads } from './Gamepad'; -import { InputMapper } from './InputMapper'; -import { Keyboard } from './Keyboard'; -import { PointerEventReceiver } from './PointerEventReceiver'; +import type { Engine } from '../engine'; +import { Gamepads } from './gamepad'; +import { InputMapper } from './input-mapper'; +import { Keyboard } from './keyboard'; +import { PointerEventReceiver } from './pointer-event-receiver'; export interface InputHostOptions { pointerTarget: Document | HTMLCanvasElement; diff --git a/src/engine/Input/InputMapper.ts b/src/engine/input/input-mapper.ts similarity index 92% rename from src/engine/Input/InputMapper.ts rename to src/engine/input/input-mapper.ts index 0c20cad5..d1bbd347 100644 --- a/src/engine/Input/InputMapper.ts +++ b/src/engine/input/input-mapper.ts @@ -1,6 +1,6 @@ -import type { Gamepads } from './Gamepad'; -import type { Keyboard } from './Keyboard'; -import type { PointerEventReceiver } from './PointerEventReceiver'; +import type { Gamepads } from './gamepad'; +import type { Keyboard } from './keyboard'; +import type { PointerEventReceiver } from './pointer-event-receiver'; export interface InputsOptions { keyboard: Keyboard; diff --git a/src/engine/Input/Keyboard.ts b/src/engine/input/keyboard.ts similarity index 98% rename from src/engine/Input/Keyboard.ts rename to src/engine/input/keyboard.ts index 9c9c617c..a7e9622c 100644 --- a/src/engine/Input/Keyboard.ts +++ b/src/engine/input/keyboard.ts @@ -1,7 +1,7 @@ -import * as Events from '../Events'; -import { getDefaultGlobal } from '../Util/IFrame'; -import type { EventKey, Handler, Subscription } from '../EventEmitter'; -import { EventEmitter } from '../EventEmitter'; +import * as Events from '../events'; +import { getDefaultGlobal } from '../util/iframe'; +import type { EventKey, Handler, Subscription } from '../event-emitter'; +import { EventEmitter } from '../event-emitter'; /** * Enum representing physical input key codes diff --git a/src/engine/Input/NativePointerButton.ts b/src/engine/input/native-pointer-button.ts similarity index 100% rename from src/engine/Input/NativePointerButton.ts rename to src/engine/input/native-pointer-button.ts diff --git a/src/engine/Input/PointerAbstraction.ts b/src/engine/input/pointer-abstraction.ts similarity index 88% rename from src/engine/Input/PointerAbstraction.ts rename to src/engine/input/pointer-abstraction.ts index d484d3a8..d439acf9 100644 --- a/src/engine/Input/PointerAbstraction.ts +++ b/src/engine/input/pointer-abstraction.ts @@ -1,10 +1,10 @@ -import { Vector } from '../Math/vector'; -import type { PointerEvent } from './PointerEvent'; -import type { EventKey, Handler, Subscription } from '../EventEmitter'; -import { EventEmitter } from '../EventEmitter'; -import type { PointerEvents } from './PointerEventReceiver'; -import { GlobalCoordinates } from '../Math/global-coordinates'; -import type { Engine } from '../Engine'; +import { Vector } from '../math/vector'; +import type { PointerEvent } from './pointer-event'; +import type { EventKey, Handler, Subscription } from '../event-emitter'; +import { EventEmitter } from '../event-emitter'; +import type { PointerEvents } from './pointer-event-receiver'; +import { GlobalCoordinates } from '../math/global-coordinates'; +import type { Engine } from '../engine'; export class PointerAbstraction { public events = new EventEmitter(); diff --git a/src/engine/Input/PointerButton.ts b/src/engine/input/pointer-button.ts similarity index 100% rename from src/engine/Input/PointerButton.ts rename to src/engine/input/pointer-button.ts diff --git a/src/engine/Input/PointerComponent.ts b/src/engine/input/pointer-component.ts similarity index 91% rename from src/engine/Input/PointerComponent.ts rename to src/engine/input/pointer-component.ts index 020a2d6b..aeed75a6 100644 --- a/src/engine/Input/PointerComponent.ts +++ b/src/engine/input/pointer-component.ts @@ -1,5 +1,5 @@ -import { Component } from '../EntityComponentSystem/Component'; -import type { BoundingBox } from '../Collision/BoundingBox'; +import { Component } from '../entity-component-system/component'; +import type { BoundingBox } from '../collision/bounding-box'; export interface PointerComponentOptions { useColliderShape?: boolean; diff --git a/src/engine/Input/PointerEventReceiver.ts b/src/engine/input/pointer-event-receiver.ts similarity index 95% rename from src/engine/Input/PointerEventReceiver.ts rename to src/engine/input/pointer-event-receiver.ts index a900c501..5a217e50 100644 --- a/src/engine/Input/PointerEventReceiver.ts +++ b/src/engine/input/pointer-event-receiver.ts @@ -1,21 +1,21 @@ -import type { Engine } from '../Engine'; -import { ScrollPreventionMode } from '../Engine'; -import { GlobalCoordinates } from '../Math/global-coordinates'; -import type { Vector } from '../Math/vector'; -import { vec } from '../Math/vector'; -import { PointerEvent } from './PointerEvent'; -import { WheelEvent } from './WheelEvent'; -import { PointerAbstraction } from './PointerAbstraction'; - -import { WheelDeltaMode } from './WheelDeltaMode'; -import { PointerSystem } from './PointerSystem'; -import { NativePointerButton } from './NativePointerButton'; -import { PointerButton } from './PointerButton'; -import { fail } from '../Util/Util'; -import { PointerType } from './PointerType'; -import { isCrossOriginIframe, isIframe } from '../Util/IFrame'; -import type { EventKey, Handler, Subscription } from '../EventEmitter'; -import { EventEmitter } from '../EventEmitter'; +import type { Engine } from '../engine'; +import { ScrollPreventionMode } from '../engine'; +import { GlobalCoordinates } from '../math/global-coordinates'; +import type { Vector } from '../math/vector'; +import { vec } from '../math/vector'; +import { PointerEvent } from './pointer-event'; +import { WheelEvent } from './wheel-event'; +import { PointerAbstraction } from './pointer-abstraction'; + +import { WheelDeltaMode } from './wheel-delta-mode'; +import { PointerSystem } from './pointer-system'; +import { NativePointerButton } from './native-pointer-button'; +import { PointerButton } from './pointer-button'; +import { fail } from '../util/util'; +import { PointerType } from './pointer-type'; +import { isCrossOriginIframe, isIframe } from '../util/iframe'; +import type { EventKey, Handler, Subscription } from '../event-emitter'; +import { EventEmitter } from '../event-emitter'; export type NativePointerEvent = globalThis.PointerEvent; export type NativeMouseEvent = globalThis.MouseEvent; diff --git a/src/engine/Input/PointerEvent.ts b/src/engine/input/pointer-event.ts similarity index 72% rename from src/engine/Input/PointerEvent.ts rename to src/engine/input/pointer-event.ts index dd42cf9f..86ca0333 100644 --- a/src/engine/Input/PointerEvent.ts +++ b/src/engine/input/pointer-event.ts @@ -1,7 +1,7 @@ -import type { GlobalCoordinates } from '../Math/global-coordinates'; -import type { Vector } from '../Math/vector'; -import type { PointerButton } from './PointerButton'; -import type { PointerType } from './PointerType'; +import type { GlobalCoordinates } from '../math/global-coordinates'; +import type { Vector } from '../math/vector'; +import type { PointerButton } from './pointer-button'; +import type { PointerType } from './pointer-type'; export class PointerEvent { public active = true; diff --git a/src/engine/Input/PointerEventsToObjectDispatcher.ts b/src/engine/input/pointer-events-to-object-dispatcher.ts similarity index 97% rename from src/engine/Input/PointerEventsToObjectDispatcher.ts rename to src/engine/input/pointer-events-to-object-dispatcher.ts index 1dd9c2c8..8e8d4a0b 100644 --- a/src/engine/Input/PointerEventsToObjectDispatcher.ts +++ b/src/engine/input/pointer-events-to-object-dispatcher.ts @@ -1,8 +1,8 @@ -import type { EventEmitter } from '../EventEmitter'; -import type { PointerEvent } from './PointerEvent'; -import type { GlobalCoordinates } from '../Math'; -import type { PointerEventReceiver } from './PointerEventReceiver'; -import { RentalPool } from '../Util/RentalPool'; +import type { EventEmitter } from '../event-emitter'; +import type { PointerEvent } from './pointer-event'; +import type { GlobalCoordinates } from '../math'; +import type { PointerEventReceiver } from './pointer-event-receiver'; +import { RentalPool } from '../util/rental-pool'; /** * Signals that an object has nested pointer events on nested objects that are not an Entity with diff --git a/src/engine/Input/PointerScope.ts b/src/engine/input/pointer-scope.ts similarity index 100% rename from src/engine/Input/PointerScope.ts rename to src/engine/input/pointer-scope.ts diff --git a/src/engine/Input/PointerSystem.ts b/src/engine/input/pointer-system.ts similarity index 90% rename from src/engine/Input/PointerSystem.ts rename to src/engine/input/pointer-system.ts index c02ce929..6de75e88 100644 --- a/src/engine/Input/PointerSystem.ts +++ b/src/engine/input/pointer-system.ts @@ -1,13 +1,13 @@ -import type { Engine } from '../Engine'; -import type { Entity, World, Query } from '../EntityComponentSystem'; -import { System, TransformComponent, SystemType, SystemPriority } from '../EntityComponentSystem'; -import { GraphicsComponent } from '../Graphics/GraphicsComponent'; -import type { Scene } from '../Scene'; -import { PointerComponent } from './PointerComponent'; -import type { PointerEventReceiver } from './PointerEventReceiver'; -import { CoordPlane } from '../Math/coord-plane'; -import { SparseHashGrid } from '../Collision/Detection/SparseHashGrid'; -import { PointerEventsToObjectDispatcher } from './PointerEventsToObjectDispatcher'; +import type { Engine } from '../engine'; +import type { Entity, World, Query } from '../entity-component-system'; +import { System, TransformComponent, SystemType, SystemPriority } from '../entity-component-system'; +import { GraphicsComponent } from '../graphics/graphics-component'; +import type { Scene } from '../scene'; +import { PointerComponent } from './pointer-component'; +import type { PointerEventReceiver } from './pointer-event-receiver'; +import { CoordPlane } from '../math/coord-plane'; +import { SparseHashGrid } from '../collision/detection/sparse-hash-grid'; +import { PointerEventsToObjectDispatcher } from './pointer-events-to-object-dispatcher'; /** * The PointerSystem is responsible for dispatching pointer events to entities diff --git a/src/engine/Input/PointerType.ts b/src/engine/input/pointer-type.ts similarity index 100% rename from src/engine/Input/PointerType.ts rename to src/engine/input/pointer-type.ts diff --git a/src/engine/Input/WheelDeltaMode.ts b/src/engine/input/wheel-delta-mode.ts similarity index 100% rename from src/engine/Input/WheelDeltaMode.ts rename to src/engine/input/wheel-delta-mode.ts diff --git a/src/engine/Input/WheelEvent.ts b/src/engine/input/wheel-event.ts similarity index 88% rename from src/engine/Input/WheelEvent.ts rename to src/engine/input/wheel-event.ts index 9d5d9a30..a04249c6 100644 --- a/src/engine/Input/WheelEvent.ts +++ b/src/engine/input/wheel-event.ts @@ -1,4 +1,4 @@ -import type { WheelDeltaMode } from './WheelDeltaMode'; +import type { WheelDeltaMode } from './wheel-delta-mode'; export class WheelEvent { public active = true; diff --git a/src/engine/Interfaces/AudioImplementation.ts b/src/engine/interfaces/audio-implementation.ts similarity index 95% rename from src/engine/Interfaces/AudioImplementation.ts rename to src/engine/interfaces/audio-implementation.ts index 9a783c9b..baa9d03b 100644 --- a/src/engine/Interfaces/AudioImplementation.ts +++ b/src/engine/interfaces/audio-implementation.ts @@ -1,4 +1,4 @@ -import type { Audio } from './Audio'; +import type { Audio } from './audio'; export type ExResponseType = '' | 'arraybuffer' | 'blob' | 'document' | 'json' | 'text'; diff --git a/src/engine/Interfaces/Audio.ts b/src/engine/interfaces/audio.ts similarity index 100% rename from src/engine/Interfaces/Audio.ts rename to src/engine/interfaces/audio.ts diff --git a/src/engine/Interfaces/Clonable.ts b/src/engine/interfaces/clonable.ts similarity index 100% rename from src/engine/Interfaces/Clonable.ts rename to src/engine/interfaces/clonable.ts diff --git a/src/engine/Interfaces/Evented.ts b/src/engine/interfaces/evented.ts similarity index 96% rename from src/engine/Interfaces/Evented.ts rename to src/engine/interfaces/evented.ts index f458d0d6..7025fd53 100644 --- a/src/engine/Interfaces/Evented.ts +++ b/src/engine/interfaces/evented.ts @@ -1,4 +1,4 @@ -import type { Handler } from '../EventEmitter'; +import type { Handler } from '../event-emitter'; export interface Eventable { /** diff --git a/src/engine/interfaces/index.ts b/src/engine/interfaces/index.ts new file mode 100644 index 00000000..949eec47 --- /dev/null +++ b/src/engine/interfaces/index.ts @@ -0,0 +1,7 @@ +export type * from './clonable'; +export type * from './audio'; +export * from './audio-implementation'; +export type * from './evented'; +export type * from './loadable'; +export * from './lifecycle-events'; +export type * from './pointer-event-handlers'; diff --git a/src/engine/Interfaces/LifecycleEvents.ts b/src/engine/interfaces/lifecycle-events.ts similarity index 97% rename from src/engine/Interfaces/LifecycleEvents.ts rename to src/engine/interfaces/lifecycle-events.ts index 5f384195..22b73de5 100644 --- a/src/engine/Interfaces/LifecycleEvents.ts +++ b/src/engine/interfaces/lifecycle-events.ts @@ -1,7 +1,7 @@ -import type { Engine } from './../Engine'; -import type * as Events from './../Events'; -import type { Scene } from '../Scene'; -import type { ExcaliburGraphicsContext } from '../Graphics'; +import type { Engine } from '../engine'; +import type * as Events from '../events'; +import type { Scene } from '../scene'; +import type { ExcaliburGraphicsContext } from '../graphics'; // eslint-disable-next-line @typescript-eslint/naming-convention export interface _initialize { diff --git a/src/engine/Interfaces/Loadable.ts b/src/engine/interfaces/loadable.ts similarity index 100% rename from src/engine/Interfaces/Loadable.ts rename to src/engine/interfaces/loadable.ts diff --git a/src/engine/Interfaces/PointerEventHandlers.ts b/src/engine/interfaces/pointer-event-handlers.ts similarity index 95% rename from src/engine/Interfaces/PointerEventHandlers.ts rename to src/engine/interfaces/pointer-event-handlers.ts index d92b1dd7..a0019128 100644 --- a/src/engine/Interfaces/PointerEventHandlers.ts +++ b/src/engine/interfaces/pointer-event-handlers.ts @@ -1,6 +1,6 @@ -import type * as Events from '../Events'; -import type { PointerEvent } from '../Input/PointerEvent'; -import type { WheelEvent } from '../Input/WheelEvent'; +import type * as Events from '../events'; +import type { PointerEvent } from '../input/pointer-event'; +import type { WheelEvent } from '../input/wheel-event'; export interface PointerEvents { on(eventName: Events.pointerup, handler: (event: PointerEvent) => void): void; on(eventName: Events.pointerdown, handler: (event: PointerEvent) => void): void; diff --git a/src/engine/Label.ts b/src/engine/label.ts similarity index 88% rename from src/engine/Label.ts rename to src/engine/label.ts index 1a0c47af..299cde09 100644 --- a/src/engine/Label.ts +++ b/src/engine/label.ts @@ -1,12 +1,12 @@ -import type { Engine } from './Engine'; -import type { Color } from './Color'; -import { vec, Vector } from './Math/vector'; -import { Text } from './Graphics/Text'; -import type { SpriteFont } from './Graphics'; -import { GraphicsComponent } from './Graphics'; -import { Font } from './Graphics/Font'; -import { Actor } from './Actor'; -import type { ActorArgs } from './Actor'; +import type { Engine } from './engine'; +import type { Color } from './color'; +import { vec, Vector } from './math/vector'; +import { Text } from './graphics/text'; +import type { SpriteFont } from './graphics'; +import { GraphicsComponent } from './graphics'; +import { Font } from './graphics/font'; +import { Actor } from './actor'; +import type { ActorArgs } from './actor'; /** * Option for creating a label diff --git a/src/engine/Math/affine-matrix.ts b/src/engine/math/affine-matrix.ts similarity index 100% rename from src/engine/Math/affine-matrix.ts rename to src/engine/math/affine-matrix.ts diff --git a/src/engine/Math/bezier-curve.ts b/src/engine/math/bezier-curve.ts similarity index 100% rename from src/engine/Math/bezier-curve.ts rename to src/engine/math/bezier-curve.ts diff --git a/src/engine/Math/coord-plane.ts b/src/engine/math/coord-plane.ts similarity index 100% rename from src/engine/Math/coord-plane.ts rename to src/engine/math/coord-plane.ts diff --git a/src/engine/Math/easings.ts b/src/engine/math/easings.ts similarity index 100% rename from src/engine/Math/easings.ts rename to src/engine/math/easings.ts diff --git a/src/engine/Math/global-coordinates.ts b/src/engine/math/global-coordinates.ts similarity index 96% rename from src/engine/Math/global-coordinates.ts rename to src/engine/math/global-coordinates.ts index f5d64e0c..474cc0ab 100644 --- a/src/engine/Math/global-coordinates.ts +++ b/src/engine/math/global-coordinates.ts @@ -1,4 +1,4 @@ -import type { Engine } from '../Engine'; +import type { Engine } from '../engine'; import { Vector } from './vector'; export class GlobalCoordinates { diff --git a/src/engine/Math/graph.ts b/src/engine/math/graph.ts similarity index 99% rename from src/engine/Math/graph.ts rename to src/engine/math/graph.ts index 8a68b7b4..8240dfe1 100644 --- a/src/engine/Math/graph.ts +++ b/src/engine/math/graph.ts @@ -1,4 +1,4 @@ -import { Random } from './Random'; +import { Random } from './random'; import type { Vector } from './vector'; /** diff --git a/src/engine/Math/index.ts b/src/engine/math/index.ts similarity index 94% rename from src/engine/Math/index.ts rename to src/engine/math/index.ts index 8dcae486..3b5fd52a 100644 --- a/src/engine/Math/index.ts +++ b/src/engine/math/index.ts @@ -4,7 +4,7 @@ export * from './matrix'; export * from './affine-matrix'; export * from './transform'; export * from './coord-plane'; -export * from './Random'; +export * from './random'; export * from './global-coordinates'; export * from './line-segment'; export * from './projection'; diff --git a/src/engine/Math/lerp.ts b/src/engine/math/lerp.ts similarity index 100% rename from src/engine/Math/lerp.ts rename to src/engine/math/lerp.ts diff --git a/src/engine/Math/line-segment.ts b/src/engine/math/line-segment.ts similarity index 100% rename from src/engine/Math/line-segment.ts rename to src/engine/math/line-segment.ts diff --git a/src/engine/Math/matrix.ts b/src/engine/math/matrix.ts similarity index 100% rename from src/engine/Math/matrix.ts rename to src/engine/math/matrix.ts diff --git a/src/engine/Math/projection.ts b/src/engine/math/projection.ts similarity index 100% rename from src/engine/Math/projection.ts rename to src/engine/math/projection.ts diff --git a/src/engine/Math/Random.ts b/src/engine/math/random.ts similarity index 100% rename from src/engine/Math/Random.ts rename to src/engine/math/random.ts diff --git a/src/engine/Math/ray.ts b/src/engine/math/ray.ts similarity index 100% rename from src/engine/Math/ray.ts rename to src/engine/math/ray.ts diff --git a/src/engine/Math/rotation-type.ts b/src/engine/math/rotation-type.ts similarity index 100% rename from src/engine/Math/rotation-type.ts rename to src/engine/math/rotation-type.ts diff --git a/src/engine/Math/transform.ts b/src/engine/math/transform.ts similarity index 100% rename from src/engine/Math/transform.ts rename to src/engine/math/transform.ts diff --git a/src/engine/Math/util.ts b/src/engine/math/util.ts similarity index 98% rename from src/engine/Math/util.ts rename to src/engine/math/util.ts index 13c2a0f5..35cc9a1d 100644 --- a/src/engine/Math/util.ts +++ b/src/engine/math/util.ts @@ -1,4 +1,4 @@ -import { Random } from './Random'; +import { Random } from './random'; /** * Two PI constant diff --git a/src/engine/Math/vector-view.ts b/src/engine/math/vector-view.ts similarity index 100% rename from src/engine/Math/vector-view.ts rename to src/engine/math/vector-view.ts diff --git a/src/engine/Math/vector.ts b/src/engine/math/vector.ts similarity index 99% rename from src/engine/Math/vector.ts rename to src/engine/math/vector.ts index ece601f7..cb2936c3 100644 --- a/src/engine/Math/vector.ts +++ b/src/engine/math/vector.ts @@ -1,4 +1,4 @@ -import type { Clonable } from '../Interfaces/Clonable'; +import type { Clonable } from '../interfaces/clonable'; import { RotationType } from './rotation-type'; import { canonicalizeAngle, clamp, TwoPI } from './util'; diff --git a/src/engine/Math/watch-vector.ts b/src/engine/math/watch-vector.ts similarity index 100% rename from src/engine/Math/watch-vector.ts rename to src/engine/math/watch-vector.ts diff --git a/src/engine/Particles/EmitterType.ts b/src/engine/particles/emitter-type.ts similarity index 100% rename from src/engine/Particles/EmitterType.ts rename to src/engine/particles/emitter-type.ts diff --git a/src/engine/Particles/GpuParticleEmitter.ts b/src/engine/particles/gpu-particle-emitter.ts similarity index 80% rename from src/engine/Particles/GpuParticleEmitter.ts rename to src/engine/particles/gpu-particle-emitter.ts index 8b012eae..f93951b3 100644 --- a/src/engine/Particles/GpuParticleEmitter.ts +++ b/src/engine/particles/gpu-particle-emitter.ts @@ -1,17 +1,17 @@ -import type { Engine } from '../Engine'; -import { Actor } from '../Actor'; -import { EmitterType } from './EmitterType'; -import type { ParticleEmitterArgs } from './Particles'; -import { ParticleTransform } from './Particles'; -import type { GpuParticleConfig } from './GpuParticleRenderer'; -import { GpuParticleRenderer } from './GpuParticleRenderer'; -import { GraphicsComponent } from '../Graphics/GraphicsComponent'; -import { Random } from '../Math/Random'; -import type { Vector } from '../Math/vector'; -import { vec } from '../Math/vector'; -import { clamp } from '../Math'; -import type { ExcaliburGraphicsContextWebGL } from '../Graphics/Context/ExcaliburGraphicsContextWebGL'; -import type { ParticleRenderer } from '../Graphics/Context/particle-renderer/particle-renderer'; +import type { Engine } from '../engine'; +import { Actor } from '../actor'; +import { EmitterType } from './emitter-type'; +import type { ParticleEmitterArgs } from './particles'; +import { ParticleTransform } from './particles'; +import type { GpuParticleConfig } from './gpu-particle-renderer'; +import { GpuParticleRenderer } from './gpu-particle-renderer'; +import { GraphicsComponent } from '../graphics/graphics-component'; +import { Random } from '../math/random'; +import type { Vector } from '../math/vector'; +import { vec } from '../math/vector'; +import { clamp } from '../math'; +import type { ExcaliburGraphicsContextWebGL } from '../graphics/context/excalibur-graphics-context-webgl'; +import type { ParticleRenderer } from '../graphics/context/particle-renderer/particle-renderer'; export class GpuParticleEmitter extends Actor { public particle: GpuParticleConfig = { diff --git a/src/engine/Particles/GpuParticleRenderer.ts b/src/engine/particles/gpu-particle-renderer.ts similarity index 95% rename from src/engine/Particles/GpuParticleRenderer.ts rename to src/engine/particles/gpu-particle-renderer.ts index 70de59da..10e540bc 100644 --- a/src/engine/Particles/GpuParticleRenderer.ts +++ b/src/engine/particles/gpu-particle-renderer.ts @@ -1,13 +1,13 @@ -import { randomInRange, TwoPI } from '../Math/util'; -import type { ExcaliburGraphicsContextWebGL } from '../Graphics/Context/ExcaliburGraphicsContextWebGL'; -import type { GpuParticleEmitter } from './GpuParticleEmitter'; -import type { ParticleConfig } from './Particles'; -import { ParticleTransform } from './Particles'; -import type { Random } from '../Math/Random'; -import type { Sprite } from '../Graphics/Sprite'; -import { EmitterType } from './EmitterType'; -import { assert } from '../Util/Assert'; -import { vec } from '../Math/vector'; +import { randomInRange, TwoPI } from '../math/util'; +import type { ExcaliburGraphicsContextWebGL } from '../graphics/context/excalibur-graphics-context-webgl'; +import type { GpuParticleEmitter } from './gpu-particle-emitter'; +import type { ParticleConfig } from './particles'; +import { ParticleTransform } from './particles'; +import type { Random } from '../math/random'; +import type { Sprite } from '../graphics/sprite'; +import { EmitterType } from './emitter-type'; +import { assert } from '../util/assert'; +import { vec } from '../math/vector'; export interface GpuParticleConfig extends ParticleConfig { /** diff --git a/src/engine/particles/index.ts b/src/engine/particles/index.ts new file mode 100644 index 00000000..64d077d2 --- /dev/null +++ b/src/engine/particles/index.ts @@ -0,0 +1,5 @@ +export * from './emitter-type'; +export * from './particles'; +export * from './particle-emitter'; +export * from './gpu-particle-emitter'; +export * from './gpu-particle-renderer'; diff --git a/src/engine/Particles/ParticleEmitter.ts b/src/engine/particles/particle-emitter.ts similarity index 92% rename from src/engine/Particles/ParticleEmitter.ts rename to src/engine/particles/particle-emitter.ts index eb69d3c7..f723e6c6 100644 --- a/src/engine/Particles/ParticleEmitter.ts +++ b/src/engine/particles/particle-emitter.ts @@ -1,13 +1,13 @@ -import type { Engine } from '../Engine'; -import { Actor } from '../Actor'; -import { vec } from '../Math/vector'; -import { Random } from '../Math/Random'; -import { CollisionType } from '../Collision/CollisionType'; -import { randomInRange } from '../Math/util'; -import { EmitterType } from './EmitterType'; -import type { ParticleEmitterArgs, ParticleConfig } from './Particles'; -import { Particle, ParticleTransform } from './Particles'; -import { RentalPool } from '../Util/RentalPool'; +import type { Engine } from '../engine'; +import { Actor } from '../actor'; +import { vec } from '../math/vector'; +import { Random } from '../math/random'; +import { CollisionType } from '../collision/collision-type'; +import { randomInRange } from '../math/util'; +import { EmitterType } from './emitter-type'; +import type { ParticleEmitterArgs, ParticleConfig } from './particles'; +import { Particle, ParticleTransform } from './particles'; +import { RentalPool } from '../util/rental-pool'; /** * Using a particle emitter is a great way to create interesting effects diff --git a/src/engine/Particles/Particles.ts b/src/engine/particles/particles.ts similarity index 91% rename from src/engine/Particles/Particles.ts rename to src/engine/particles/particles.ts index 222b9648..83f94713 100644 --- a/src/engine/Particles/Particles.ts +++ b/src/engine/particles/particles.ts @@ -1,17 +1,17 @@ -import type { Engine } from '../Engine'; -import { Color } from '../Color'; -import { Vector, vec } from '../Math/vector'; -import type { Random } from '../Math/Random'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import { GraphicsComponent } from '../Graphics/GraphicsComponent'; -import { Entity } from '../EntityComponentSystem/Entity'; -import { BoundingBox } from '../Collision/BoundingBox'; -import { clamp } from '../Math/util'; -import type { Graphic } from '../Graphics'; -import type { EmitterType } from './EmitterType'; -import { MotionComponent } from '../EntityComponentSystem'; -import { EulerIntegrator } from '../Collision/Integrator'; -import type { ParticleEmitter } from './ParticleEmitter'; +import type { Engine } from '../engine'; +import { Color } from '../color'; +import { Vector, vec } from '../math/vector'; +import type { Random } from '../math/random'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import { GraphicsComponent } from '../graphics/graphics-component'; +import { Entity } from '../entity-component-system/entity'; +import { BoundingBox } from '../collision/bounding-box'; +import { clamp } from '../math/util'; +import type { Graphic } from '../graphics'; +import type { EmitterType } from './emitter-type'; +import { MotionComponent } from '../entity-component-system'; +import { EulerIntegrator } from '../collision/integrator'; +import type { ParticleEmitter } from './particle-emitter'; /** /** diff --git a/src/engine/Particles/tsconfig.json b/src/engine/particles/tsconfig.json similarity index 100% rename from src/engine/Particles/tsconfig.json rename to src/engine/particles/tsconfig.json diff --git a/src/engine/Polyfill.ts b/src/engine/polyfill.ts similarity index 100% rename from src/engine/Polyfill.ts rename to src/engine/polyfill.ts diff --git a/src/engine/Resources/Font.ts b/src/engine/resources/font.ts similarity index 86% rename from src/engine/Resources/Font.ts rename to src/engine/resources/font.ts index 3d781b74..5d63935a 100644 --- a/src/engine/Resources/Font.ts +++ b/src/engine/resources/font.ts @@ -1,8 +1,8 @@ -import { Font } from '../Graphics/Font'; -import type { FontOptions } from '../Graphics/FontCommon'; -import type { GraphicOptions, RasterOptions } from '../Graphics'; -import type { Loadable } from '../Interfaces/Loadable'; -import { Resource } from './Resource'; +import { Font } from '../graphics/font'; +import type { FontOptions } from '../graphics/font-common'; +import type { GraphicOptions, RasterOptions } from '../graphics'; +import type { Loadable } from '../interfaces/loadable'; +import { Resource } from './resource'; export interface FontSourceOptions extends Omit, GraphicOptions, RasterOptions { /** diff --git a/src/engine/Resources/Gif.ts b/src/engine/resources/gif.ts similarity index 98% rename from src/engine/Resources/Gif.ts rename to src/engine/resources/gif.ts index 7c59207b..213fcfbd 100644 --- a/src/engine/Resources/Gif.ts +++ b/src/engine/resources/gif.ts @@ -1,9 +1,9 @@ -import { Resource } from './Resource'; -import type { Sprite } from '../Graphics/Sprite'; -import { SpriteSheet } from '../Graphics/SpriteSheet'; -import { Animation } from '../Graphics/Animation'; -import type { Loadable } from '../Interfaces/Index'; -import { ImageSource } from '../Graphics/ImageSource'; +import { Resource } from './resource'; +import type { Sprite } from '../graphics/sprite'; +import { SpriteSheet } from '../graphics/sprite-sheet'; +import { Animation } from '../graphics/animation'; +import type { Loadable } from '../interfaces/index'; +import { ImageSource } from '../graphics/image-source'; /** * The {@apilink Texture} object allows games built in Excalibur to load image resources. * {@apilink Texture} is an {@apilink Loadable} which means it can be passed to a {@apilink Loader} diff --git a/src/engine/resources/index.ts b/src/engine/resources/index.ts new file mode 100644 index 00000000..ba9bd0e7 --- /dev/null +++ b/src/engine/resources/index.ts @@ -0,0 +1,4 @@ +export * from './resource'; +export * from './sound/index'; +export * from './gif'; +export * from './font'; diff --git a/src/engine/Resources/Resource.ts b/src/engine/resources/resource.ts similarity index 96% rename from src/engine/Resources/Resource.ts rename to src/engine/resources/resource.ts index 3d74a5a3..3ae0c882 100644 --- a/src/engine/Resources/Resource.ts +++ b/src/engine/resources/resource.ts @@ -1,6 +1,6 @@ -import type { Loadable } from '../Interfaces/Loadable'; -import { Logger } from '../Util/Log'; -import { EventEmitter } from '../EventEmitter'; +import type { Loadable } from '../interfaces/loadable'; +import { Logger } from '../util/log'; +import { EventEmitter } from '../event-emitter'; export interface ResourceEvents { complete: any; diff --git a/src/engine/Resources/Sound/AudioContext.ts b/src/engine/resources/sound/audio-context.ts similarity index 100% rename from src/engine/Resources/Sound/AudioContext.ts rename to src/engine/resources/sound/audio-context.ts diff --git a/src/engine/resources/sound/index.ts b/src/engine/resources/sound/index.ts new file mode 100644 index 00000000..0b173de7 --- /dev/null +++ b/src/engine/resources/sound/index.ts @@ -0,0 +1,4 @@ +export * from './sound'; +export * from './sound-manager'; +export * from './audio-context'; +export * from './web-audio-instance'; diff --git a/src/engine/Resources/Sound/SoundManager.ts b/src/engine/resources/sound/sound-manager.ts similarity index 99% rename from src/engine/Resources/Sound/SoundManager.ts rename to src/engine/resources/sound/sound-manager.ts index 4cdf75af..a27b3e79 100644 --- a/src/engine/Resources/Sound/SoundManager.ts +++ b/src/engine/resources/sound/sound-manager.ts @@ -1,5 +1,5 @@ -import { clamp } from '../../Math'; -import { Sound } from './Sound'; +import { clamp } from '../../math'; +import { Sound } from './sound'; export type AnyString = {} & string; diff --git a/src/engine/Resources/Sound/Sound.ts b/src/engine/resources/sound/sound.ts similarity index 96% rename from src/engine/Resources/Sound/Sound.ts rename to src/engine/resources/sound/sound.ts index cd9e9217..b06f1b80 100644 --- a/src/engine/Resources/Sound/Sound.ts +++ b/src/engine/resources/sound/sound.ts @@ -1,15 +1,15 @@ -import { ExResponse } from '../../Interfaces/AudioImplementation'; -import type { Audio } from '../../Interfaces/Audio'; -import type { Engine } from '../../Engine'; -import { Resource } from '../Resource'; -import { WebAudioInstance } from './WebAudioInstance'; -import { AudioContextFactory } from './AudioContext'; -import { NativeSoundEvent, NativeSoundProcessedEvent } from '../../Events/MediaEvents'; -import { canPlayFile } from '../../Util/Sound'; -import type { Loadable } from '../../Interfaces/Index'; -import { Logger } from '../../Util/Log'; -import type { EventKey, Handler, Subscription } from '../../EventEmitter'; -import { EventEmitter } from '../../EventEmitter'; +import { ExResponse } from '../../interfaces/audio-implementation'; +import type { Audio } from '../../interfaces/audio'; +import type { Engine } from '../../engine'; +import { Resource } from '../resource'; +import { WebAudioInstance } from './web-audio-instance'; +import { AudioContextFactory } from './audio-context'; +import { NativeSoundEvent, NativeSoundProcessedEvent } from '../../events/media-events'; +import { canPlayFile } from '../../util/sound'; +import type { Loadable } from '../../interfaces/index'; +import { Logger } from '../../util/log'; +import type { EventKey, Handler, Subscription } from '../../event-emitter'; +import { EventEmitter } from '../../event-emitter'; export interface SoundEvents { volumechange: NativeSoundEvent; diff --git a/src/engine/Resources/Sound/WebAudioInstance.ts b/src/engine/resources/sound/web-audio-instance.ts similarity index 96% rename from src/engine/Resources/Sound/WebAudioInstance.ts rename to src/engine/resources/sound/web-audio-instance.ts index 433d5d1a..03c30364 100644 --- a/src/engine/Resources/Sound/WebAudioInstance.ts +++ b/src/engine/resources/sound/web-audio-instance.ts @@ -1,8 +1,8 @@ -import { StateMachine } from '../../Util/StateMachine'; -import type { Audio } from '../../Interfaces/Audio'; -import { clamp } from '../../Math/util'; -import { AudioContextFactory } from './AudioContext'; -import { Future } from '../../Util/Future'; +import { StateMachine } from '../../util/state-machine'; +import type { Audio } from '../../interfaces/audio'; +import { clamp } from '../../math/util'; +import { AudioContextFactory } from './audio-context'; +import { Future } from '../../util/future'; interface SoundState { startedAt: number; diff --git a/src/engine/Resources/tsconfig.json b/src/engine/resources/tsconfig.json similarity index 100% rename from src/engine/Resources/tsconfig.json rename to src/engine/resources/tsconfig.json diff --git a/src/engine/Scene.ts b/src/engine/scene.ts similarity index 92% rename from src/engine/Scene.ts rename to src/engine/scene.ts index 84831aa2..67da2957 100644 --- a/src/engine/Scene.ts +++ b/src/engine/scene.ts @@ -1,5 +1,5 @@ -import { isScreenElement, ScreenElement } from './ScreenElement'; -import type { ActivateEvent, DeactivateEvent } from './Events'; +import { isScreenElement, ScreenElement } from './screen-element'; +import type { ActivateEvent, DeactivateEvent } from './events'; import { InitializeEvent, PreUpdateEvent, @@ -8,37 +8,37 @@ import { PostDrawEvent, PreDebugDrawEvent, PostDebugDrawEvent -} from './Events'; -import { Logger } from './Util/Log'; -import { Timer } from './Timer'; -import type { Engine } from './Engine'; -import { TileMap } from './TileMap'; -import { Camera } from './Camera'; -import { Actor } from './Actor'; -import type { CanInitialize, CanActivate, CanDeactivate, CanUpdate, CanDraw, SceneActivationContext } from './Interfaces/LifecycleEvents'; -import * as Util from './Util/Util'; -import { Trigger } from './Trigger'; -import { SystemType } from './EntityComponentSystem/System'; -import { World } from './EntityComponentSystem/World'; -import { MotionSystem } from './Collision/MotionSystem'; -import { CollisionSystem } from './Collision/CollisionSystem'; -import { Entity } from './EntityComponentSystem/Entity'; -import { GraphicsSystem } from './Graphics/GraphicsSystem'; -import { DebugSystem } from './Debug/DebugSystem'; -import { PointerSystem } from './Input/PointerSystem'; -import { ActionsSystem } from './Actions/ActionsSystem'; -import { IsometricEntitySystem } from './TileMap/IsometricEntitySystem'; -import { OffscreenSystem } from './Graphics/OffscreenSystem'; -import type { ExcaliburGraphicsContext } from './Graphics'; -import { PhysicsWorld } from './Collision/PhysicsWorld'; -import type { EventKey, Handler, Subscription } from './EventEmitter'; -import { EventEmitter } from './EventEmitter'; -import type { Color } from './Color'; -import type { DefaultLoader } from './Director/DefaultLoader'; -import type { Transition } from './Director'; -import { InputHost } from './Input/InputHost'; -import { PointerScope } from './Input/PointerScope'; -import { getDefaultPhysicsConfig } from './Collision/PhysicsConfig'; +} from './events'; +import { Logger } from './util/log'; +import { Timer } from './timer'; +import type { Engine } from './engine'; +import { TileMap } from './tile-map'; +import { Camera } from './camera'; +import { Actor } from './actor'; +import type { CanInitialize, CanActivate, CanDeactivate, CanUpdate, CanDraw, SceneActivationContext } from './interfaces/lifecycle-events'; +import * as Util from './util/util'; +import { Trigger } from './trigger'; +import { SystemType } from './entity-component-system/system'; +import { World } from './entity-component-system/world'; +import { MotionSystem } from './collision/motion-system'; +import { CollisionSystem } from './collision/collision-system'; +import { Entity } from './entity-component-system/entity'; +import { GraphicsSystem } from './graphics/graphics-system'; +import { DebugSystem } from './debug/debug-system'; +import { PointerSystem } from './input/pointer-system'; +import { ActionsSystem } from './actions/actions-system'; +import { IsometricEntitySystem } from './tile-map/isometric-entity-system'; +import { OffscreenSystem } from './graphics/offscreen-system'; +import type { ExcaliburGraphicsContext } from './graphics'; +import { PhysicsWorld } from './collision/physics-world'; +import type { EventKey, Handler, Subscription } from './event-emitter'; +import { EventEmitter } from './event-emitter'; +import type { Color } from './color'; +import type { DefaultLoader } from './director/default-loader'; +import type { Transition } from './director'; +import { InputHost } from './input/input-host'; +import { PointerScope } from './input/pointer-scope'; +import { getDefaultPhysicsConfig } from './collision/physics-config'; export class PreLoadEvent { loader: DefaultLoader; diff --git a/src/engine/ScreenElement.ts b/src/engine/screen-element.ts similarity index 78% rename from src/engine/ScreenElement.ts rename to src/engine/screen-element.ts index 4f82d8b4..e5c02ef1 100644 --- a/src/engine/ScreenElement.ts +++ b/src/engine/screen-element.ts @@ -1,10 +1,10 @@ -import { Vector, vec } from './Math/vector'; -import type { Engine } from './Engine'; -import type { ActorArgs } from './Actor'; -import { Actor } from './Actor'; -import { TransformComponent } from './EntityComponentSystem/Components/TransformComponent'; -import { CollisionType } from './Collision/CollisionType'; -import { CoordPlane } from './Math/coord-plane'; +import { Vector, vec } from './math/vector'; +import type { Engine } from './engine'; +import type { ActorArgs } from './actor'; +import { Actor } from './actor'; +import { TransformComponent } from './entity-component-system/components/transform-component'; +import { CollisionType } from './collision/collision-type'; +import { CoordPlane } from './math/coord-plane'; /** * Type guard to detect a screen element diff --git a/src/engine/Screen.ts b/src/engine/screen.ts similarity index 98% rename from src/engine/Screen.ts rename to src/engine/screen.ts index 33308c95..0502d7fb 100644 --- a/src/engine/Screen.ts +++ b/src/engine/screen.ts @@ -1,13 +1,13 @@ -import { vec, Vector } from './Math/vector'; -import { Logger } from './Util/Log'; -import type { Camera } from './Camera'; -import type { BrowserEvents } from './Util/Browser'; -import { BoundingBox } from './Collision/Index'; -import type { ExcaliburGraphicsContext } from './Graphics/Context/ExcaliburGraphicsContext'; -import { getPosition } from './Util/Util'; -import { ExcaliburGraphicsContextWebGL } from './Graphics/Context/ExcaliburGraphicsContextWebGL'; -import { ExcaliburGraphicsContext2DCanvas } from './Graphics/Context/ExcaliburGraphicsContext2DCanvas'; -import { EventEmitter } from './EventEmitter'; +import { vec, Vector } from './math/vector'; +import { Logger } from './util/log'; +import type { Camera } from './camera'; +import type { BrowserEvents } from './util/browser'; +import { BoundingBox } from './collision/index'; +import type { ExcaliburGraphicsContext } from './graphics/context/excalibur-graphics-context'; +import { getPosition } from './util/util'; +import { ExcaliburGraphicsContextWebGL } from './graphics/context/excalibur-graphics-context-webgl'; +import { ExcaliburGraphicsContext2DCanvas } from './graphics/context/excalibur-graphics-context-2d-canvas'; +import { EventEmitter } from './event-emitter'; /** * Enum representing the different display modes available to Excalibur. diff --git a/src/engine/tile-map/index.ts b/src/engine/tile-map/index.ts new file mode 100644 index 00000000..e096d807 --- /dev/null +++ b/src/engine/tile-map/index.ts @@ -0,0 +1,4 @@ +export * from './tile-map'; +export * from './isometric-map'; +export * from './isometric-entity-component'; +export * from './isometric-entity-system'; diff --git a/src/engine/TileMap/IsometricEntityComponent.ts b/src/engine/tile-map/isometric-entity-component.ts similarity index 87% rename from src/engine/TileMap/IsometricEntityComponent.ts rename to src/engine/tile-map/isometric-entity-component.ts index 3263251f..df3bf978 100644 --- a/src/engine/TileMap/IsometricEntityComponent.ts +++ b/src/engine/tile-map/isometric-entity-component.ts @@ -1,5 +1,5 @@ -import { Component } from '../EntityComponentSystem/Component'; -import type { IsometricMap } from './IsometricMap'; +import { Component } from '../entity-component-system/component'; +import type { IsometricMap } from './isometric-map'; export interface IsometricEntityComponentOptions { columns: number; diff --git a/src/engine/TileMap/IsometricEntitySystem.ts b/src/engine/tile-map/isometric-entity-system.ts similarity index 70% rename from src/engine/TileMap/IsometricEntitySystem.ts rename to src/engine/tile-map/isometric-entity-system.ts index 27b57462..57f8ae5b 100644 --- a/src/engine/TileMap/IsometricEntitySystem.ts +++ b/src/engine/tile-map/isometric-entity-system.ts @@ -1,8 +1,8 @@ -import { System, SystemType } from '../EntityComponentSystem/System'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import { IsometricEntityComponent } from './IsometricEntityComponent'; -import type { Query, World } from '../EntityComponentSystem'; -import { SystemPriority } from '../EntityComponentSystem'; +import { System, SystemType } from '../entity-component-system/system'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import { IsometricEntityComponent } from './isometric-entity-component'; +import type { Query, World } from '../entity-component-system'; +import { SystemPriority } from '../entity-component-system'; export class IsometricEntitySystem extends System { static priority: number = SystemPriority.Lower; diff --git a/src/engine/TileMap/IsometricMap.ts b/src/engine/tile-map/isometric-map.ts similarity index 92% rename from src/engine/TileMap/IsometricMap.ts rename to src/engine/tile-map/isometric-map.ts index 3fdc83e7..fc0d372c 100644 --- a/src/engine/TileMap/IsometricMap.ts +++ b/src/engine/tile-map/isometric-map.ts @@ -1,25 +1,25 @@ -import { BodyComponent } from '../Collision/BodyComponent'; -import { BoundingBox } from '../Collision/BoundingBox'; -import { ColliderComponent } from '../Collision/ColliderComponent'; -import type { Collider } from '../Collision/Colliders/Collider'; -import { CollisionType } from '../Collision/CollisionType'; -import { CompositeCollider } from '../Collision/Colliders/CompositeCollider'; -import { vec, Vector } from '../Math/vector'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import type { EntityEvents } from '../EntityComponentSystem/Entity'; -import { Entity } from '../EntityComponentSystem/Entity'; -import type { ExcaliburGraphicsContext, Graphic } from '../Graphics'; -import { DebugGraphicsComponent, GraphicsComponent } from '../Graphics'; -import { IsometricEntityComponent } from './IsometricEntityComponent'; -import type { DebugConfig } from '../Debug'; -import { PointerComponent } from '../Input/PointerComponent'; -import type { PointerEvent } from '../Input/PointerEvent'; -import { EventEmitter } from '../EventEmitter'; -import type { HasNestedPointerEvents } from '../Input/PointerEventsToObjectDispatcher'; -import { PointerEventsToObjectDispatcher } from '../Input/PointerEventsToObjectDispatcher'; -import type { PointerEventReceiver } from '../Input/PointerEventReceiver'; -import type { GlobalCoordinates } from '../Math'; -import { CoordPlane } from '../Math'; +import { BodyComponent } from '../collision/body-component'; +import { BoundingBox } from '../collision/bounding-box'; +import { ColliderComponent } from '../collision/collider-component'; +import type { Collider } from '../collision/colliders/collider'; +import { CollisionType } from '../collision/collision-type'; +import { CompositeCollider } from '../collision/colliders/composite-collider'; +import { vec, Vector } from '../math/vector'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import type { EntityEvents } from '../entity-component-system/entity'; +import { Entity } from '../entity-component-system/entity'; +import type { ExcaliburGraphicsContext, Graphic } from '../graphics'; +import { DebugGraphicsComponent, GraphicsComponent } from '../graphics'; +import { IsometricEntityComponent } from './isometric-entity-component'; +import type { DebugConfig } from '../debug'; +import { PointerComponent } from '../input/pointer-component'; +import type { PointerEvent } from '../input/pointer-event'; +import { EventEmitter } from '../event-emitter'; +import type { HasNestedPointerEvents } from '../input/pointer-events-to-object-dispatcher'; +import { PointerEventsToObjectDispatcher } from '../input/pointer-events-to-object-dispatcher'; +import type { PointerEventReceiver } from '../input/pointer-event-receiver'; +import type { GlobalCoordinates } from '../math'; +import { CoordPlane } from '../math'; export interface IsometricTilePointerEvents { pointerup: PointerEvent; diff --git a/src/engine/TileMap/TileMap.ts b/src/engine/tile-map/tile-map.ts similarity index 94% rename from src/engine/TileMap/TileMap.ts rename to src/engine/tile-map/tile-map.ts index 3085ceca..dd7b0c92 100644 --- a/src/engine/TileMap/TileMap.ts +++ b/src/engine/tile-map/tile-map.ts @@ -1,32 +1,32 @@ -import { BoundingBox } from '../Collision/BoundingBox'; -import type { Engine } from '../Engine'; -import { Vector, vec } from '../Math/vector'; -import { Logger } from '../Util/Log'; -import type { EntityEvents } from '../EntityComponentSystem/Entity'; -import { Entity } from '../EntityComponentSystem/Entity'; -import { TransformComponent } from '../EntityComponentSystem/Components/TransformComponent'; -import { BodyComponent } from '../Collision/BodyComponent'; -import { CollisionType } from '../Collision/CollisionType'; -import { Shape } from '../Collision/Colliders/Shape'; -import type { ExcaliburGraphicsContext, Graphic } from '../Graphics'; -import { GraphicsComponent, hasGraphicsTick, ParallaxComponent } from '../Graphics'; -import { MotionComponent } from '../EntityComponentSystem/Components/MotionComponent'; -import { ColliderComponent } from '../Collision/ColliderComponent'; -import type { CompositeCollider } from '../Collision/Colliders/CompositeCollider'; -import { DebugGraphicsComponent } from '../Graphics/DebugGraphicsComponent'; -import type { Collider } from '../Collision/Colliders/Collider'; -import { PostDrawEvent, PostUpdateEvent, PreDrawEvent, PreUpdateEvent } from '../Events'; -import type { EventKey, Handler, Subscription } from '../EventEmitter'; -import { EventEmitter } from '../EventEmitter'; -import { CoordPlane } from '../Math/coord-plane'; -import type { DebugConfig } from '../Debug'; -import { clamp } from '../Math/util'; -import { PointerComponent } from '../Input/PointerComponent'; -import type { PointerEvent } from '../Input/PointerEvent'; -import type { PointerEventReceiver } from '../Input/PointerEventReceiver'; -import type { HasNestedPointerEvents } from '../Input/PointerEventsToObjectDispatcher'; -import { PointerEventsToObjectDispatcher } from '../Input/PointerEventsToObjectDispatcher'; -import type { GlobalCoordinates } from '../Math'; +import { BoundingBox } from '../collision/bounding-box'; +import type { Engine } from '../engine'; +import { Vector, vec } from '../math/vector'; +import { Logger } from '../util/log'; +import type { EntityEvents } from '../entity-component-system/entity'; +import { Entity } from '../entity-component-system/entity'; +import { TransformComponent } from '../entity-component-system/components/transform-component'; +import { BodyComponent } from '../collision/body-component'; +import { CollisionType } from '../collision/collision-type'; +import { Shape } from '../collision/colliders/shape'; +import type { ExcaliburGraphicsContext, Graphic } from '../graphics'; +import { GraphicsComponent, hasGraphicsTick, ParallaxComponent } from '../graphics'; +import { MotionComponent } from '../entity-component-system/components/motion-component'; +import { ColliderComponent } from '../collision/collider-component'; +import type { CompositeCollider } from '../collision/colliders/composite-collider'; +import { DebugGraphicsComponent } from '../graphics/debug-graphics-component'; +import type { Collider } from '../collision/colliders/collider'; +import { PostDrawEvent, PostUpdateEvent, PreDrawEvent, PreUpdateEvent } from '../events'; +import type { EventKey, Handler, Subscription } from '../event-emitter'; +import { EventEmitter } from '../event-emitter'; +import { CoordPlane } from '../math/coord-plane'; +import type { DebugConfig } from '../debug'; +import { clamp } from '../math/util'; +import { PointerComponent } from '../input/pointer-component'; +import type { PointerEvent } from '../input/pointer-event'; +import type { PointerEventReceiver } from '../input/pointer-event-receiver'; +import type { HasNestedPointerEvents } from '../input/pointer-events-to-object-dispatcher'; +import { PointerEventsToObjectDispatcher } from '../input/pointer-events-to-object-dispatcher'; +import type { GlobalCoordinates } from '../math'; export interface TileMapOptions { /** diff --git a/src/engine/TileMap/tsconfig.json b/src/engine/tile-map/tsconfig.json similarity index 100% rename from src/engine/TileMap/tsconfig.json rename to src/engine/tile-map/tsconfig.json diff --git a/src/engine/Timer.ts b/src/engine/timer.ts similarity index 98% rename from src/engine/Timer.ts rename to src/engine/timer.ts index d4d4cbdf..b05ab3c4 100644 --- a/src/engine/Timer.ts +++ b/src/engine/timer.ts @@ -1,8 +1,8 @@ -import type { Scene } from './Scene'; -import { Logger } from './Util/Log'; +import type { Scene } from './scene'; +import { Logger } from './util/log'; import type * as ex from './index'; -import { Random } from './Math/Random'; -import { EventEmitter } from './EventEmitter'; +import { Random } from './math/random'; +import { EventEmitter } from './event-emitter'; /** * Built in events supported by all entities diff --git a/src/engine/Trigger.ts b/src/engine/trigger.ts similarity index 87% rename from src/engine/Trigger.ts rename to src/engine/trigger.ts index 69f65428..618e7f40 100644 --- a/src/engine/Trigger.ts +++ b/src/engine/trigger.ts @@ -1,11 +1,11 @@ -import type { Vector } from './Math/vector'; -import type { CollisionEndEvent, CollisionStartEvent } from './Events'; -import { ExitTriggerEvent, EnterTriggerEvent } from './Events'; -import { CollisionType } from './Collision/CollisionType'; -import type { Entity } from './EntityComponentSystem'; -import type { ActorArgs, ActorEvents } from './Actor'; -import { Actor } from './Actor'; -import { EventEmitter } from './EventEmitter'; +import type { Vector } from './math/vector'; +import type { CollisionEndEvent, CollisionStartEvent } from './events'; +import { ExitTriggerEvent, EnterTriggerEvent } from './events'; +import { CollisionType } from './collision/collision-type'; +import type { Entity } from './entity-component-system'; +import type { ActorArgs, ActorEvents } from './actor'; +import { Actor } from './actor'; +import { EventEmitter } from './event-emitter'; export interface TriggerEvents extends ActorEvents { exit: ExitTriggerEvent; diff --git a/src/engine/Util/Assert.ts b/src/engine/util/assert.ts similarity index 100% rename from src/engine/Util/Assert.ts rename to src/engine/util/assert.ts diff --git a/src/engine/Util/Browser.ts b/src/engine/util/browser.ts similarity index 100% rename from src/engine/Util/Browser.ts rename to src/engine/util/browser.ts diff --git a/src/engine/Util/Clock.ts b/src/engine/util/clock.ts similarity index 99% rename from src/engine/Util/Clock.ts rename to src/engine/util/clock.ts index f78bf6a9..951678b7 100644 --- a/src/engine/Util/Clock.ts +++ b/src/engine/util/clock.ts @@ -1,5 +1,5 @@ -import { Logger } from '../Util/Log'; -import { FpsSampler } from './Fps'; +import { Logger } from '../util/log'; +import { FpsSampler } from './fps'; export type ScheduledCallbackTiming = 'preframe' | 'postframe' | 'preupdate' | 'postupdate' | 'predraw' | 'postdraw'; diff --git a/src/engine/Util/Coroutine.ts b/src/engine/util/coroutine.ts similarity index 97% rename from src/engine/Util/Coroutine.ts rename to src/engine/util/coroutine.ts index 4241f750..cbef1f63 100644 --- a/src/engine/Util/Coroutine.ts +++ b/src/engine/util/coroutine.ts @@ -1,7 +1,7 @@ -import { createContext, useContext } from '../Context'; -import { Engine } from '../Engine'; -import type { ScheduledCallbackTiming } from './Clock'; -import { Logger } from './Log'; +import { createContext, useContext } from '../context'; +import { Engine } from '../engine'; +import type { ScheduledCallbackTiming } from './clock'; +import { Logger } from './log'; export type CoroutineGenerator = () => Generator | undefined, void, number>; const InsideCoroutineContext = createContext(); diff --git a/src/engine/Util/Decorators.ts b/src/engine/util/decorators.ts similarity index 97% rename from src/engine/Util/Decorators.ts rename to src/engine/util/decorators.ts index 41bca5ed..2f68d1ff 100644 --- a/src/engine/Util/Decorators.ts +++ b/src/engine/util/decorators.ts @@ -1,5 +1,5 @@ -import { Flags } from '../Flags'; -import { Logger } from './Log'; +import { Flags } from '../flags'; +import { Logger } from './log'; /** * Obsolete decorator options diff --git a/src/engine/Util/Detector.ts b/src/engine/util/detector.ts similarity index 99% rename from src/engine/Util/Detector.ts rename to src/engine/util/detector.ts index 52b85db5..8ec84e2f 100644 --- a/src/engine/Util/Detector.ts +++ b/src/engine/util/detector.ts @@ -1,4 +1,4 @@ -import { Logger } from './Log'; +import { Logger } from './log'; /** * This is the list of features that will be used to log the supported * features to the console when Detector.logBrowserFeatures() is called. diff --git a/src/engine/Util/DrawUtil.ts b/src/engine/util/draw-util.ts similarity index 98% rename from src/engine/Util/DrawUtil.ts rename to src/engine/util/draw-util.ts index 6930d718..fe915ab7 100644 --- a/src/engine/Util/DrawUtil.ts +++ b/src/engine/util/draw-util.ts @@ -1,5 +1,5 @@ -import { Color } from '../Color'; -import type { Vector } from '../Math/vector'; +import { Color } from '../color'; +import type { Vector } from '../math/vector'; /** * A canvas linecap style. "butt" is the default flush style, "round" is a semi-circle cap with a radius half the width of diff --git a/src/engine/Util/EasingFunctions.ts b/src/engine/util/easing-functions.ts similarity index 99% rename from src/engine/Util/EasingFunctions.ts rename to src/engine/util/easing-functions.ts index 25b461b1..15c017c3 100644 --- a/src/engine/Util/EasingFunctions.ts +++ b/src/engine/util/easing-functions.ts @@ -1,4 +1,4 @@ -import { Vector } from '../Math/vector'; +import { Vector } from '../math/vector'; /** * A definition of an EasingFunction. See {@apilink EasingFunctions}. diff --git a/src/engine/Util/Fps.ts b/src/engine/util/fps.ts similarity index 100% rename from src/engine/Util/Fps.ts rename to src/engine/util/fps.ts diff --git a/src/engine/Util/Future.ts b/src/engine/util/future.ts similarity index 100% rename from src/engine/Util/Future.ts rename to src/engine/util/future.ts diff --git a/src/engine/Util/IFrame.ts b/src/engine/util/iframe.ts similarity index 97% rename from src/engine/Util/IFrame.ts rename to src/engine/util/iframe.ts index 6e7984d6..995facd8 100644 --- a/src/engine/Util/IFrame.ts +++ b/src/engine/util/iframe.ts @@ -1,4 +1,4 @@ -import { Logger } from './Log'; +import { Logger } from './log'; /** * Checks if excalibur is in a x-origin iframe diff --git a/src/engine/util/index.ts b/src/engine/util/index.ts new file mode 100644 index 00000000..8a0e2e91 --- /dev/null +++ b/src/engine/util/index.ts @@ -0,0 +1,10 @@ +export * from './util'; + +export * from './log'; + +export * from './observable'; + +export * from './easing-functions'; + +import * as drawUtil from './draw-util'; +export { drawUtil as DrawUtil }; diff --git a/src/engine/Util/Log.ts b/src/engine/util/log.ts similarity index 98% rename from src/engine/Util/Log.ts rename to src/engine/util/log.ts index b996f607..e0017498 100644 --- a/src/engine/Util/Log.ts +++ b/src/engine/util/log.ts @@ -1,8 +1,8 @@ /* eslint-disable no-console */ -import type { Engine } from '../Engine'; -import { vec } from '../Math/vector'; -import { Color } from '../Color'; +import type { Engine } from '../engine'; +import { vec } from '../math/vector'; +import { Color } from '../color'; /** * Logging level that Excalibur will tag diff --git a/src/engine/Util/Observable.ts b/src/engine/util/observable.ts similarity index 100% rename from src/engine/Util/Observable.ts rename to src/engine/util/observable.ts diff --git a/src/engine/Util/Pool.ts b/src/engine/util/pool.ts similarity index 98% rename from src/engine/Util/Pool.ts rename to src/engine/util/pool.ts index d18415a9..04d5be7a 100644 --- a/src/engine/Util/Pool.ts +++ b/src/engine/util/pool.ts @@ -1,4 +1,4 @@ -import { Logger } from '../Util/Log'; +import { Logger } from '../util/log'; export class Pool { public totalAllocations = 0; public index = 0; diff --git a/src/engine/Util/RentalPool.ts b/src/engine/util/rental-pool.ts similarity index 100% rename from src/engine/Util/RentalPool.ts rename to src/engine/util/rental-pool.ts diff --git a/src/engine/Util/Required.ts b/src/engine/util/required.ts similarity index 100% rename from src/engine/Util/Required.ts rename to src/engine/util/required.ts diff --git a/src/engine/Util/Semaphore.ts b/src/engine/util/semaphore.ts similarity index 97% rename from src/engine/Util/Semaphore.ts rename to src/engine/util/semaphore.ts index fe660dcf..bba057d5 100644 --- a/src/engine/Util/Semaphore.ts +++ b/src/engine/util/semaphore.ts @@ -1,4 +1,4 @@ -import { Future } from './Future'; +import { Future } from './future'; class AsyncWaitQueue { // Code from StephenCleary https://gist.github.com/StephenCleary/ba50b2da419c03b9cba1d20cb4654d5e diff --git a/src/engine/Util/Sound.ts b/src/engine/util/sound.ts similarity index 83% rename from src/engine/Util/Sound.ts rename to src/engine/util/sound.ts index 2caac4f1..6e3ce664 100644 --- a/src/engine/Util/Sound.ts +++ b/src/engine/util/sound.ts @@ -1,4 +1,4 @@ -import { Logger } from './Log'; +import { Logger } from './log'; /** * Whether or not the browser can play this file as HTML5 Audio @@ -6,7 +6,7 @@ import { Logger } from './Log'; export function canPlayFile(file: string): boolean { try { const a = new Audio(); - const filetype = /.*\.([A-Za-z0-9]+)(?:(?:\?|\#).*)*$/; + const filetype = /.*\.([A-Za-z0-9]+)(?=[?#]|$)/; const type = file.match(filetype)[1]; if (a.canPlayType('audio/' + type)) { return true; diff --git a/src/engine/Util/StateMachine.ts b/src/engine/util/state-machine.ts similarity index 100% rename from src/engine/Util/StateMachine.ts rename to src/engine/util/state-machine.ts diff --git a/src/engine/Util/Toaster.css b/src/engine/util/toaster.css similarity index 100% rename from src/engine/Util/Toaster.css rename to src/engine/util/toaster.css diff --git a/src/engine/Util/Toaster.ts b/src/engine/util/toaster.ts similarity index 98% rename from src/engine/Util/Toaster.ts rename to src/engine/util/toaster.ts index 0186f7ff..1f31c961 100644 --- a/src/engine/Util/Toaster.ts +++ b/src/engine/util/toaster.ts @@ -1,4 +1,4 @@ -import toasterCss from './Toaster.css?inline'; +import toasterCss from './toaster.css?inline'; /** * The Toaster is only meant to be called from inside Excalibur to display messages to players diff --git a/src/engine/Util/Util.ts b/src/engine/util/util.ts similarity index 96% rename from src/engine/Util/Util.ts rename to src/engine/util/util.ts index 2198814a..62627e6f 100644 --- a/src/engine/Util/Util.ts +++ b/src/engine/util/util.ts @@ -1,6 +1,6 @@ -import { Vector, vec } from '../Math/vector'; -import type { Clock } from './Clock'; -import { Future } from './Future'; +import { Vector, vec } from '../math/vector'; +import type { Clock } from './clock'; +import { Future } from './future'; /** * diff --git a/src/engine/Util/Watch.ts b/src/engine/util/watch.ts similarity index 100% rename from src/engine/Util/Watch.ts rename to src/engine/util/watch.ts diff --git a/src/engine/Util/WebAudio.ts b/src/engine/util/web-audio.ts similarity index 95% rename from src/engine/Util/WebAudio.ts rename to src/engine/util/web-audio.ts index be986945..5350a69e 100644 --- a/src/engine/Util/WebAudio.ts +++ b/src/engine/util/web-audio.ts @@ -1,5 +1,5 @@ -import { AudioContextFactory } from '../Resources/Sound/AudioContext'; -import { Logger } from './Log'; +import { AudioContextFactory } from '../resources/sound/audio-context'; +import { Logger } from './log'; export interface LegacyWebAudioSource { playbackState: string; diff --git a/src/spec/__util__/Mocks.ts b/src/spec/__util__/mocks.ts similarity index 100% rename from src/spec/__util__/Mocks.ts rename to src/spec/__util__/mocks.ts diff --git a/src/spec/__util__/TestUtils.ts b/src/spec/__util__/test-utils.ts similarity index 100% rename from src/spec/__util__/TestUtils.ts rename to src/spec/__util__/test-utils.ts diff --git a/src/spec/assets/images/ActorSpec/zindex-blue-top.png b/src/spec/assets/images/actor-spec/zindex-blue-top.png similarity index 100% rename from src/spec/assets/images/ActorSpec/zindex-blue-top.png rename to src/spec/assets/images/actor-spec/zindex-blue-top.png diff --git a/src/spec/assets/images/ActorSpec/zindex-green-top.png b/src/spec/assets/images/actor-spec/zindex-green-top.png similarity index 100% rename from src/spec/assets/images/ActorSpec/zindex-green-top.png rename to src/spec/assets/images/actor-spec/zindex-green-top.png diff --git a/src/spec/assets/images/CameraSpec/zoomin.png b/src/spec/assets/images/camera-spec/zoomin.png similarity index 100% rename from src/spec/assets/images/CameraSpec/zoomin.png rename to src/spec/assets/images/camera-spec/zoomin.png diff --git a/src/spec/assets/images/CameraSpec/zoomout.png b/src/spec/assets/images/camera-spec/zoomout.png similarity index 100% rename from src/spec/assets/images/CameraSpec/zoomout.png rename to src/spec/assets/images/camera-spec/zoomout.png diff --git a/src/spec/assets/images/CollisionShapeSpec/circle-debug.png b/src/spec/assets/images/collision-shape-spec/circle-debug.png similarity index 100% rename from src/spec/assets/images/CollisionShapeSpec/circle-debug.png rename to src/spec/assets/images/collision-shape-spec/circle-debug.png diff --git a/src/spec/assets/images/CollisionShapeSpec/circle.old.png b/src/spec/assets/images/collision-shape-spec/circle.old.png similarity index 100% rename from src/spec/assets/images/CollisionShapeSpec/circle.old.png rename to src/spec/assets/images/collision-shape-spec/circle.old.png diff --git a/src/spec/assets/images/CollisionShapeSpec/circle.png b/src/spec/assets/images/collision-shape-spec/circle.png similarity index 100% rename from src/spec/assets/images/CollisionShapeSpec/circle.png rename to src/spec/assets/images/collision-shape-spec/circle.png diff --git a/src/spec/assets/images/CollisionShapeSpec/edge.png b/src/spec/assets/images/collision-shape-spec/edge.png similarity index 100% rename from src/spec/assets/images/CollisionShapeSpec/edge.png rename to src/spec/assets/images/collision-shape-spec/edge.png diff --git a/src/spec/assets/images/CollisionShapeSpec/triangle.png b/src/spec/assets/images/collision-shape-spec/triangle.png similarity index 100% rename from src/spec/assets/images/CollisionShapeSpec/triangle.png rename to src/spec/assets/images/collision-shape-spec/triangle.png diff --git a/src/spec/assets/images/ColorBlindCorrectorSpec/actor.png b/src/spec/assets/images/color-blind-corrector-spec/actor.png similarity index 100% rename from src/spec/assets/images/ColorBlindCorrectorSpec/actor.png rename to src/spec/assets/images/color-blind-corrector-spec/actor.png diff --git a/src/spec/assets/images/ColorBlindCorrectorSpec/deuteranope_correct.png b/src/spec/assets/images/color-blind-corrector-spec/deuteranope_correct.png similarity index 100% rename from src/spec/assets/images/ColorBlindCorrectorSpec/deuteranope_correct.png rename to src/spec/assets/images/color-blind-corrector-spec/deuteranope_correct.png diff --git a/src/spec/assets/images/ColorBlindCorrectorSpec/deuteranope_simulate.png b/src/spec/assets/images/color-blind-corrector-spec/deuteranope_simulate.png similarity index 100% rename from src/spec/assets/images/ColorBlindCorrectorSpec/deuteranope_simulate.png rename to src/spec/assets/images/color-blind-corrector-spec/deuteranope_simulate.png diff --git a/src/spec/assets/images/ColorBlindCorrectorSpec/normal.png b/src/spec/assets/images/color-blind-corrector-spec/normal.png similarity index 100% rename from src/spec/assets/images/ColorBlindCorrectorSpec/normal.png rename to src/spec/assets/images/color-blind-corrector-spec/normal.png diff --git a/src/spec/assets/images/ColorBlindCorrectorSpec/protanope_correct.png b/src/spec/assets/images/color-blind-corrector-spec/protanope_correct.png similarity index 100% rename from src/spec/assets/images/ColorBlindCorrectorSpec/protanope_correct.png rename to src/spec/assets/images/color-blind-corrector-spec/protanope_correct.png diff --git a/src/spec/assets/images/ColorBlindCorrectorSpec/protanope_simulate.png b/src/spec/assets/images/color-blind-corrector-spec/protanope_simulate.png similarity index 100% rename from src/spec/assets/images/ColorBlindCorrectorSpec/protanope_simulate.png rename to src/spec/assets/images/color-blind-corrector-spec/protanope_simulate.png diff --git a/src/spec/assets/images/ColorBlindCorrectorSpec/tritanope_correct.png b/src/spec/assets/images/color-blind-corrector-spec/tritanope_correct.png similarity index 100% rename from src/spec/assets/images/ColorBlindCorrectorSpec/tritanope_correct.png rename to src/spec/assets/images/color-blind-corrector-spec/tritanope_correct.png diff --git a/src/spec/assets/images/ColorBlindCorrectorSpec/tritanope_simulate.png b/src/spec/assets/images/color-blind-corrector-spec/tritanope_simulate.png similarity index 100% rename from src/spec/assets/images/ColorBlindCorrectorSpec/tritanope_simulate.png rename to src/spec/assets/images/color-blind-corrector-spec/tritanope_simulate.png diff --git a/src/spec/assets/images/CompositeColliderSpec/composite.png b/src/spec/assets/images/composite-collider-spec/composite.png similarity index 100% rename from src/spec/assets/images/CompositeColliderSpec/composite.png rename to src/spec/assets/images/composite-collider-spec/composite.png diff --git a/src/spec/assets/images/CrossFadeSpec/crossfade.png b/src/spec/assets/images/cross-fade-spec/crossfade.png similarity index 100% rename from src/spec/assets/images/CrossFadeSpec/crossfade.png rename to src/spec/assets/images/cross-fade-spec/crossfade.png diff --git a/src/spec/assets/images/DebugSpec/bounds.png b/src/spec/assets/images/debug-spec/bounds.png similarity index 100% rename from src/spec/assets/images/DebugSpec/bounds.png rename to src/spec/assets/images/debug-spec/bounds.png diff --git a/src/spec/assets/images/DebugSpec/circle.png b/src/spec/assets/images/debug-spec/circle.png similarity index 100% rename from src/spec/assets/images/DebugSpec/circle.png rename to src/spec/assets/images/debug-spec/circle.png diff --git a/src/spec/assets/images/DebugSpec/line.png b/src/spec/assets/images/debug-spec/line.png similarity index 100% rename from src/spec/assets/images/DebugSpec/line.png rename to src/spec/assets/images/debug-spec/line.png diff --git a/src/spec/assets/images/DebugSpec/lines.png b/src/spec/assets/images/debug-spec/lines.png similarity index 100% rename from src/spec/assets/images/DebugSpec/lines.png rename to src/spec/assets/images/debug-spec/lines.png diff --git a/src/spec/assets/images/DebugSpec/point.png b/src/spec/assets/images/debug-spec/point.png similarity index 100% rename from src/spec/assets/images/DebugSpec/point.png rename to src/spec/assets/images/debug-spec/point.png diff --git a/src/spec/assets/images/DebugSpec/polygon.png b/src/spec/assets/images/debug-spec/polygon.png similarity index 100% rename from src/spec/assets/images/DebugSpec/polygon.png rename to src/spec/assets/images/debug-spec/polygon.png diff --git a/src/spec/assets/images/DebugSpec/ray.png b/src/spec/assets/images/debug-spec/ray.png similarity index 100% rename from src/spec/assets/images/DebugSpec/ray.png rename to src/spec/assets/images/debug-spec/ray.png diff --git a/src/spec/assets/images/DebugSpec/text.png b/src/spec/assets/images/debug-spec/text.png similarity index 100% rename from src/spec/assets/images/DebugSpec/text.png rename to src/spec/assets/images/debug-spec/text.png diff --git a/src/spec/assets/images/DebugSystemSpec/body.png b/src/spec/assets/images/debug-system-spec/body.png similarity index 100% rename from src/spec/assets/images/DebugSystemSpec/body.png rename to src/spec/assets/images/debug-system-spec/body.png diff --git a/src/spec/assets/images/DebugSystemSpec/collider.png b/src/spec/assets/images/debug-system-spec/collider.png similarity index 100% rename from src/spec/assets/images/DebugSystemSpec/collider.png rename to src/spec/assets/images/debug-system-spec/collider.png diff --git a/src/spec/assets/images/DebugSystemSpec/composite-collider.png b/src/spec/assets/images/debug-system-spec/composite-collider.png similarity index 100% rename from src/spec/assets/images/DebugSystemSpec/composite-collider.png rename to src/spec/assets/images/debug-system-spec/composite-collider.png diff --git a/src/spec/assets/images/DebugSystemSpec/debug-draw-component.png b/src/spec/assets/images/debug-system-spec/debug-draw-component.png similarity index 100% rename from src/spec/assets/images/DebugSystemSpec/debug-draw-component.png rename to src/spec/assets/images/debug-system-spec/debug-draw-component.png diff --git a/src/spec/assets/images/DebugSystemSpec/graphics.png b/src/spec/assets/images/debug-system-spec/graphics.png similarity index 100% rename from src/spec/assets/images/DebugSystemSpec/graphics.png rename to src/spec/assets/images/debug-system-spec/graphics.png diff --git a/src/spec/assets/images/DebugSystemSpec/motion.png b/src/spec/assets/images/debug-system-spec/motion.png similarity index 100% rename from src/spec/assets/images/DebugSystemSpec/motion.png rename to src/spec/assets/images/debug-system-spec/motion.png diff --git a/src/spec/assets/images/DebugSystemSpec/tilemap-debug.png b/src/spec/assets/images/debug-system-spec/tilemap-debug.png similarity index 100% rename from src/spec/assets/images/DebugSystemSpec/tilemap-debug.png rename to src/spec/assets/images/debug-system-spec/tilemap-debug.png diff --git a/src/spec/assets/images/DebugSystemSpec/transform.png b/src/spec/assets/images/debug-system-spec/transform.png similarity index 100% rename from src/spec/assets/images/DebugSystemSpec/transform.png rename to src/spec/assets/images/debug-system-spec/transform.png diff --git a/src/spec/assets/images/DebugTextSpec/draw-canvas2d.png b/src/spec/assets/images/debug-text-spec/draw-canvas2d.png similarity index 100% rename from src/spec/assets/images/DebugTextSpec/draw-canvas2d.png rename to src/spec/assets/images/debug-text-spec/draw-canvas2d.png diff --git a/src/spec/assets/images/DebugTextSpec/draw-webgl.png b/src/spec/assets/images/debug-text-spec/draw-webgl.png similarity index 100% rename from src/spec/assets/images/DebugTextSpec/draw-webgl.png rename to src/spec/assets/images/debug-text-spec/draw-webgl.png diff --git a/src/spec/assets/images/DebugTextSpec/draw.png b/src/spec/assets/images/debug-text-spec/draw.png similarity index 100% rename from src/spec/assets/images/DebugTextSpec/draw.png rename to src/spec/assets/images/debug-text-spec/draw.png diff --git a/src/spec/assets/images/DefaultLoaderSpec/loading.png b/src/spec/assets/images/default-loader-spec/loading.png similarity index 100% rename from src/spec/assets/images/DefaultLoaderSpec/loading.png rename to src/spec/assets/images/default-loader-spec/loading.png diff --git a/src/spec/assets/images/DirectorSpec/fadein.png b/src/spec/assets/images/director-spec/fadein.png similarity index 100% rename from src/spec/assets/images/DirectorSpec/fadein.png rename to src/spec/assets/images/director-spec/fadein.png diff --git a/src/spec/assets/images/EngineSpec/engine-load-complete.png b/src/spec/assets/images/engine-spec/engine-load-complete.png similarity index 100% rename from src/spec/assets/images/EngineSpec/engine-load-complete.png rename to src/spec/assets/images/engine-spec/engine-load-complete.png diff --git a/src/spec/assets/images/EngineSpec/engine-suppress-play.png b/src/spec/assets/images/engine-spec/engine-suppress-play.png similarity index 100% rename from src/spec/assets/images/EngineSpec/engine-suppress-play.png rename to src/spec/assets/images/engine-spec/engine-suppress-play.png diff --git a/src/spec/assets/images/EngineSpec/hero.png b/src/spec/assets/images/engine-spec/hero.png similarity index 100% rename from src/spec/assets/images/EngineSpec/hero.png rename to src/spec/assets/images/engine-spec/hero.png diff --git a/src/spec/assets/images/EngineSpec/index.png b/src/spec/assets/images/engine-spec/index.png similarity index 100% rename from src/spec/assets/images/EngineSpec/index.png rename to src/spec/assets/images/engine-spec/index.png diff --git a/src/spec/assets/images/EngineSpec/pixelart.png b/src/spec/assets/images/engine-spec/pixelart.png similarity index 100% rename from src/spec/assets/images/EngineSpec/pixelart.png rename to src/spec/assets/images/engine-spec/pixelart.png diff --git a/src/spec/assets/images/EngineSpec/screenshot.png b/src/spec/assets/images/engine-spec/screenshot.png similarity index 100% rename from src/spec/assets/images/EngineSpec/screenshot.png rename to src/spec/assets/images/engine-spec/screenshot.png diff --git a/src/spec/assets/images/EngineSpec/snaptopixel.png b/src/spec/assets/images/engine-spec/snaptopixel.png similarity index 100% rename from src/spec/assets/images/EngineSpec/snaptopixel.png rename to src/spec/assets/images/engine-spec/snaptopixel.png diff --git a/src/spec/assets/images/EngineSpec/sprite.png b/src/spec/assets/images/engine-spec/sprite.png similarity index 100% rename from src/spec/assets/images/EngineSpec/sprite.png rename to src/spec/assets/images/engine-spec/sprite.png diff --git a/src/spec/assets/images/EngineSpec/tileset.png b/src/spec/assets/images/engine-spec/tileset.png similarity index 100% rename from src/spec/assets/images/EngineSpec/tileset.png rename to src/spec/assets/images/engine-spec/tileset.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-circle.png b/src/spec/assets/images/excalibur-graphics-context-spec/2d-circle.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-circle.png rename to src/spec/assets/images/excalibur-graphics-context-spec/2d-circle.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawgraphic.png b/src/spec/assets/images/excalibur-graphics-context-spec/2d-drawgraphic.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawgraphic.png rename to src/spec/assets/images/excalibur-graphics-context-spec/2d-drawgraphic.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawline.png b/src/spec/assets/images/excalibur-graphics-context-spec/2d-drawline.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawline.png rename to src/spec/assets/images/excalibur-graphics-context-spec/2d-drawline.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawpoint.png b/src/spec/assets/images/excalibur-graphics-context-spec/2d-drawpoint.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawpoint.png rename to src/spec/assets/images/excalibur-graphics-context-spec/2d-drawpoint.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-line.png b/src/spec/assets/images/excalibur-graphics-context-spec/2d-line.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-line.png rename to src/spec/assets/images/excalibur-graphics-context-spec/2d-line.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-snap-to-pixel.png b/src/spec/assets/images/excalibur-graphics-context-spec/2d-snap-to-pixel.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-snap-to-pixel.png rename to src/spec/assets/images/excalibur-graphics-context-spec/2d-snap-to-pixel.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-transform.png b/src/spec/assets/images/excalibur-graphics-context-spec/2d-transform.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-transform.png rename to src/spec/assets/images/excalibur-graphics-context-spec/2d-transform.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/painter-order-circle-image-rect.png b/src/spec/assets/images/excalibur-graphics-context-spec/painter-order-circle-image-rect.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/painter-order-circle-image-rect.png rename to src/spec/assets/images/excalibur-graphics-context-spec/painter-order-circle-image-rect.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-circle-next.png b/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-circle-next.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-circle-next.png rename to src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-circle-next.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-line-next.png b/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-line-next.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-line-next.png rename to src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-line-next.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-next.png b/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-next.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-next.png rename to src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-next.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-point-next.png b/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-point-next.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-point-next.png rename to src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-point-next.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap.png b/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap.png rename to src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/rasters.png b/src/spec/assets/images/excalibur-graphics-context-spec/rasters.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/rasters.png rename to src/spec/assets/images/excalibur-graphics-context-spec/rasters.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/sword.png b/src/spec/assets/images/excalibur-graphics-context-spec/sword.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/sword.png rename to src/spec/assets/images/excalibur-graphics-context-spec/sword.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/test.png b/src/spec/assets/images/excalibur-graphics-context-spec/test.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/test.png rename to src/spec/assets/images/excalibur-graphics-context-spec/test.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-circle-with-opacity.png b/src/spec/assets/images/excalibur-graphics-context-spec/webgl-circle-with-opacity.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-circle-with-opacity.png rename to src/spec/assets/images/excalibur-graphics-context-spec/webgl-circle-with-opacity.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-circle.png b/src/spec/assets/images/excalibur-graphics-context-spec/webgl-circle.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-circle.png rename to src/spec/assets/images/excalibur-graphics-context-spec/webgl-circle.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-drawline.png b/src/spec/assets/images/excalibur-graphics-context-spec/webgl-drawline.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-drawline.png rename to src/spec/assets/images/excalibur-graphics-context-spec/webgl-drawline.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-drawpoint.png b/src/spec/assets/images/excalibur-graphics-context-spec/webgl-drawpoint.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-drawpoint.png rename to src/spec/assets/images/excalibur-graphics-context-spec/webgl-drawpoint.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-line.png b/src/spec/assets/images/excalibur-graphics-context-spec/webgl-line.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-line.png rename to src/spec/assets/images/excalibur-graphics-context-spec/webgl-line.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-rect.png b/src/spec/assets/images/excalibur-graphics-context-spec/webgl-rect.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-rect.png rename to src/spec/assets/images/excalibur-graphics-context-spec/webgl-rect.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-solid-rect.png b/src/spec/assets/images/excalibur-graphics-context-spec/webgl-solid-rect.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-solid-rect.png rename to src/spec/assets/images/excalibur-graphics-context-spec/webgl-solid-rect.png diff --git a/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-transform.png b/src/spec/assets/images/excalibur-graphics-context-spec/webgl-transform.png similarity index 100% rename from src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-transform.png rename to src/spec/assets/images/excalibur-graphics-context-spec/webgl-transform.png diff --git a/src/spec/assets/images/FadeInOutSpec/fadein.png b/src/spec/assets/images/fade-in-out-spec/fadein.png similarity index 100% rename from src/spec/assets/images/FadeInOutSpec/fadein.png rename to src/spec/assets/images/fade-in-out-spec/fadein.png diff --git a/src/spec/assets/images/FadeInOutSpec/fadeout.png b/src/spec/assets/images/fade-in-out-spec/fadeout.png similarity index 100% rename from src/spec/assets/images/FadeInOutSpec/fadeout.png rename to src/spec/assets/images/fade-in-out-spec/fadeout.png diff --git a/src/spec/assets/images/GifSpec/frame1.png b/src/spec/assets/images/gif-spec/frame1.png similarity index 100% rename from src/spec/assets/images/GifSpec/frame1.png rename to src/spec/assets/images/gif-spec/frame1.png diff --git a/src/spec/assets/images/GifSpec/frame2.png b/src/spec/assets/images/gif-spec/frame2.png similarity index 100% rename from src/spec/assets/images/GifSpec/frame2.png rename to src/spec/assets/images/gif-spec/frame2.png diff --git a/src/spec/assets/images/GifSpec/loading-frame-20.png b/src/spec/assets/images/gif-spec/loading-frame-20.png similarity index 100% rename from src/spec/assets/images/GifSpec/loading-frame-20.png rename to src/spec/assets/images/gif-spec/loading-frame-20.png diff --git a/src/spec/assets/images/GifSpec/loading-screen.gif b/src/spec/assets/images/gif-spec/loading-screen.gif similarity index 100% rename from src/spec/assets/images/GifSpec/loading-screen.gif rename to src/spec/assets/images/gif-spec/loading-screen.gif diff --git a/src/spec/assets/images/GifSpec/stoplight-frame-1.png b/src/spec/assets/images/gif-spec/stoplight-frame-1.png similarity index 100% rename from src/spec/assets/images/GifSpec/stoplight-frame-1.png rename to src/spec/assets/images/gif-spec/stoplight-frame-1.png diff --git a/src/spec/assets/images/GifSpec/stoplight-frame-2.png b/src/spec/assets/images/gif-spec/stoplight-frame-2.png similarity index 100% rename from src/spec/assets/images/GifSpec/stoplight-frame-2.png rename to src/spec/assets/images/gif-spec/stoplight-frame-2.png diff --git a/src/spec/assets/images/GifSpec/stoplight-frame-3.png b/src/spec/assets/images/gif-spec/stoplight-frame-3.png similarity index 100% rename from src/spec/assets/images/GifSpec/stoplight-frame-3.png rename to src/spec/assets/images/gif-spec/stoplight-frame-3.png diff --git a/src/spec/assets/images/GifSpec/stoplight.gif b/src/spec/assets/images/gif-spec/stoplight.gif similarity index 100% rename from src/spec/assets/images/GifSpec/stoplight.gif rename to src/spec/assets/images/gif-spec/stoplight.gif diff --git a/src/spec/assets/images/GifSpec/sword.gif b/src/spec/assets/images/gif-spec/sword.gif similarity index 100% rename from src/spec/assets/images/GifSpec/sword.gif rename to src/spec/assets/images/gif-spec/sword.gif diff --git a/src/spec/assets/images/GpuParticlesSpec/clear.png b/src/spec/assets/images/gpu-particles-spec/clear.png similarity index 100% rename from src/spec/assets/images/GpuParticlesSpec/clear.png rename to src/spec/assets/images/gpu-particles-spec/clear.png diff --git a/src/spec/assets/images/GpuParticlesSpec/particles-wrapped.png b/src/spec/assets/images/gpu-particles-spec/particles-wrapped.png similarity index 100% rename from src/spec/assets/images/GpuParticlesSpec/particles-wrapped.png rename to src/spec/assets/images/gpu-particles-spec/particles-wrapped.png diff --git a/src/spec/assets/images/GpuParticlesSpec/particles.png b/src/spec/assets/images/gpu-particles-spec/particles.png similarity index 100% rename from src/spec/assets/images/GpuParticlesSpec/particles.png rename to src/spec/assets/images/gpu-particles-spec/particles.png diff --git a/src/spec/assets/images/GraphicSpec/base.png b/src/spec/assets/images/graphic-spec/base.png similarity index 100% rename from src/spec/assets/images/GraphicSpec/base.png rename to src/spec/assets/images/graphic-spec/base.png diff --git a/src/spec/assets/images/GraphicSpec/debug.png b/src/spec/assets/images/graphic-spec/debug.png similarity index 100% rename from src/spec/assets/images/GraphicSpec/debug.png rename to src/spec/assets/images/graphic-spec/debug.png diff --git a/src/spec/assets/images/GraphicSpec/flipped.png b/src/spec/assets/images/graphic-spec/flipped.png similarity index 100% rename from src/spec/assets/images/GraphicSpec/flipped.png rename to src/spec/assets/images/graphic-spec/flipped.png diff --git a/src/spec/assets/images/GraphicSpec/opacity.png b/src/spec/assets/images/graphic-spec/opacity.png similarity index 100% rename from src/spec/assets/images/GraphicSpec/opacity.png rename to src/spec/assets/images/graphic-spec/opacity.png diff --git a/src/spec/assets/images/GraphicSpec/rotated.png b/src/spec/assets/images/graphic-spec/rotated.png similarity index 100% rename from src/spec/assets/images/GraphicSpec/rotated.png rename to src/spec/assets/images/graphic-spec/rotated.png diff --git a/src/spec/assets/images/GraphicSpec/scaled.png b/src/spec/assets/images/graphic-spec/scaled.png similarity index 100% rename from src/spec/assets/images/GraphicSpec/scaled.png rename to src/spec/assets/images/graphic-spec/scaled.png diff --git a/src/spec/assets/images/GraphicsAnimationSpec/frame-1.png b/src/spec/assets/images/graphics-animation-spec/frame-1.png similarity index 100% rename from src/spec/assets/images/GraphicsAnimationSpec/frame-1.png rename to src/spec/assets/images/graphics-animation-spec/frame-1.png diff --git a/src/spec/assets/images/GraphicsAnimationSpec/frame-2.png b/src/spec/assets/images/graphics-animation-spec/frame-2.png similarity index 100% rename from src/spec/assets/images/GraphicsAnimationSpec/frame-2.png rename to src/spec/assets/images/graphics-animation-spec/frame-2.png diff --git a/src/spec/assets/images/GraphicsAnimationSpec/frame-3.png b/src/spec/assets/images/graphics-animation-spec/frame-3.png similarity index 100% rename from src/spec/assets/images/GraphicsAnimationSpec/frame-3.png rename to src/spec/assets/images/graphics-animation-spec/frame-3.png diff --git a/src/spec/assets/images/GraphicsCanvasSpec/centered.png b/src/spec/assets/images/graphics-canvas-spec/centered.png similarity index 100% rename from src/spec/assets/images/GraphicsCanvasSpec/centered.png rename to src/spec/assets/images/graphics-canvas-spec/centered.png diff --git a/src/spec/assets/images/GraphicsCanvasSpec/draw.png b/src/spec/assets/images/graphics-canvas-spec/draw.png similarity index 100% rename from src/spec/assets/images/GraphicsCanvasSpec/draw.png rename to src/spec/assets/images/graphics-canvas-spec/draw.png diff --git a/src/spec/assets/images/GraphicsCircleSpec/circle.png b/src/spec/assets/images/graphics-circle-spec/circle.png similarity index 100% rename from src/spec/assets/images/GraphicsCircleSpec/circle.png rename to src/spec/assets/images/graphics-circle-spec/circle.png diff --git a/src/spec/assets/images/GraphicsCircleSpec/line-width.png b/src/spec/assets/images/graphics-circle-spec/line-width.png similarity index 100% rename from src/spec/assets/images/GraphicsCircleSpec/line-width.png rename to src/spec/assets/images/graphics-circle-spec/line-width.png diff --git a/src/spec/assets/images/GraphicsGroupSpec/graphics-group-without-anchor.png b/src/spec/assets/images/graphics-group-spec/graphics-group-without-anchor.png similarity index 100% rename from src/spec/assets/images/GraphicsGroupSpec/graphics-group-without-anchor.png rename to src/spec/assets/images/graphics-group-spec/graphics-group-without-anchor.png diff --git a/src/spec/assets/images/GraphicsGroupSpec/graphics-group.png b/src/spec/assets/images/graphics-group-spec/graphics-group.png similarity index 100% rename from src/spec/assets/images/GraphicsGroupSpec/graphics-group.png rename to src/spec/assets/images/graphics-group-spec/graphics-group.png diff --git a/src/spec/assets/images/GraphicsImageSourceSpec/arrows.svg b/src/spec/assets/images/graphics-image-source-spec/arrows.svg similarity index 100% rename from src/spec/assets/images/GraphicsImageSourceSpec/arrows.svg rename to src/spec/assets/images/graphics-image-source-spec/arrows.svg diff --git a/src/spec/assets/images/GraphicsImageSourceSpec/big-image.png b/src/spec/assets/images/graphics-image-source-spec/big-image.png similarity index 100% rename from src/spec/assets/images/GraphicsImageSourceSpec/big-image.png rename to src/spec/assets/images/graphics-image-source-spec/big-image.png diff --git a/src/spec/assets/images/GraphicsImageSourceSpec/canvas-image.png b/src/spec/assets/images/graphics-image-source-spec/canvas-image.png similarity index 100% rename from src/spec/assets/images/GraphicsImageSourceSpec/canvas-image.png rename to src/spec/assets/images/graphics-image-source-spec/canvas-image.png diff --git a/src/spec/assets/images/GraphicsNineSliceSpec/InputTile.png b/src/spec/assets/images/graphics-nine-slice-spec/inputtile.png similarity index 100% rename from src/spec/assets/images/GraphicsNineSliceSpec/InputTile.png rename to src/spec/assets/images/graphics-nine-slice-spec/inputtile.png diff --git a/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_stretch_h_stretch.aseprite b/src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_stretch_h_stretch.aseprite similarity index 100% rename from src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_stretch_h_stretch.aseprite rename to src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_stretch_h_stretch.aseprite diff --git a/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_stretch_h_stretch.png b/src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_stretch_h_stretch.png similarity index 100% rename from src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_stretch_h_stretch.png rename to src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_stretch_h_stretch.png diff --git a/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tile_h_tile.aseprite b/src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tile_h_tile.aseprite similarity index 100% rename from src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tile_h_tile.aseprite rename to src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tile_h_tile.aseprite diff --git a/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tile_h_tile.png b/src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tile_h_tile.png similarity index 100% rename from src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tile_h_tile.png rename to src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tile_h_tile.png diff --git a/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tilefit_h_tilefit.aseprite b/src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tilefit_h_tilefit.aseprite similarity index 100% rename from src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tilefit_h_tilefit.aseprite rename to src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tilefit_h_tilefit.aseprite diff --git a/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tilefit_h_tilefit.png b/src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tilefit_h_tilefit.png similarity index 100% rename from src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tilefit_h_tilefit.png rename to src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tilefit_h_tilefit.png diff --git a/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_64_64_noCenter.png b/src/spec/assets/images/graphics-nine-slice-spec/resultimage_64_64_noCenter.png similarity index 100% rename from src/spec/assets/images/GraphicsNineSliceSpec/resultImage_64_64_noCenter.png rename to src/spec/assets/images/graphics-nine-slice-spec/resultimage_64_64_noCenter.png diff --git a/src/spec/assets/images/GraphicsPolygonSpec/poly.png b/src/spec/assets/images/graphics-polygon-spec/poly.png similarity index 100% rename from src/spec/assets/images/GraphicsPolygonSpec/poly.png rename to src/spec/assets/images/graphics-polygon-spec/poly.png diff --git a/src/spec/assets/images/GraphicsRasterSpec/raster-quality.png b/src/spec/assets/images/graphics-raster-spec/raster-quality.png similarity index 100% rename from src/spec/assets/images/GraphicsRasterSpec/raster-quality.png rename to src/spec/assets/images/graphics-raster-spec/raster-quality.png diff --git a/src/spec/assets/images/GraphicsRasterSpec/raster.png b/src/spec/assets/images/graphics-raster-spec/raster.png similarity index 100% rename from src/spec/assets/images/GraphicsRasterSpec/raster.png rename to src/spec/assets/images/graphics-raster-spec/raster.png diff --git a/src/spec/assets/images/GraphicsRectSpec/clone-rect.png b/src/spec/assets/images/graphics-rect-spec/clone-rect.png similarity index 100% rename from src/spec/assets/images/GraphicsRectSpec/clone-rect.png rename to src/spec/assets/images/graphics-rect-spec/clone-rect.png diff --git a/src/spec/assets/images/GraphicsRectSpec/rect.png b/src/spec/assets/images/graphics-rect-spec/rect.png similarity index 100% rename from src/spec/assets/images/GraphicsRectSpec/rect.png rename to src/spec/assets/images/graphics-rect-spec/rect.png diff --git a/src/spec/assets/images/GraphicsSpriteSpec/change-size-and-scale.png b/src/spec/assets/images/graphics-sprite-spec/change-size-and-scale.png similarity index 100% rename from src/spec/assets/images/GraphicsSpriteSpec/change-size-and-scale.png rename to src/spec/assets/images/graphics-sprite-spec/change-size-and-scale.png diff --git a/src/spec/assets/images/GraphicsSpriteSpec/change-size.png b/src/spec/assets/images/graphics-sprite-spec/change-size.png similarity index 100% rename from src/spec/assets/images/GraphicsSpriteSpec/change-size.png rename to src/spec/assets/images/graphics-sprite-spec/change-size.png diff --git a/src/spec/assets/images/GraphicsSpriteSpec/dest-size.png b/src/spec/assets/images/graphics-sprite-spec/dest-size.png similarity index 100% rename from src/spec/assets/images/GraphicsSpriteSpec/dest-size.png rename to src/spec/assets/images/graphics-sprite-spec/dest-size.png diff --git a/src/spec/assets/images/GraphicsSpriteSpec/dest-view.png b/src/spec/assets/images/graphics-sprite-spec/dest-view.png similarity index 100% rename from src/spec/assets/images/GraphicsSpriteSpec/dest-view.png rename to src/spec/assets/images/graphics-sprite-spec/dest-view.png diff --git a/src/spec/assets/images/GraphicsSpriteSpec/icon-tint.png b/src/spec/assets/images/graphics-sprite-spec/icon-tint.png similarity index 100% rename from src/spec/assets/images/GraphicsSpriteSpec/icon-tint.png rename to src/spec/assets/images/graphics-sprite-spec/icon-tint.png diff --git a/src/spec/assets/images/GraphicsSpriteSpec/icon.png b/src/spec/assets/images/graphics-sprite-spec/icon.png similarity index 100% rename from src/spec/assets/images/GraphicsSpriteSpec/icon.png rename to src/spec/assets/images/graphics-sprite-spec/icon.png diff --git a/src/spec/assets/images/GraphicsSpriteSpec/source-view.png b/src/spec/assets/images/graphics-sprite-spec/source-view.png similarity index 100% rename from src/spec/assets/images/GraphicsSpriteSpec/source-view.png rename to src/spec/assets/images/graphics-sprite-spec/source-view.png diff --git a/src/spec/assets/images/GraphicsSystemSpec/graphics-context-opacity.png b/src/spec/assets/images/graphics-system-spec/graphics-context-opacity.png similarity index 100% rename from src/spec/assets/images/GraphicsSystemSpec/graphics-context-opacity.png rename to src/spec/assets/images/graphics-system-spec/graphics-context-opacity.png diff --git a/src/spec/assets/images/GraphicsSystemSpec/graphics-system.png b/src/spec/assets/images/graphics-system-spec/graphics-system.png similarity index 100% rename from src/spec/assets/images/GraphicsSystemSpec/graphics-system.png rename to src/spec/assets/images/graphics-system-spec/graphics-system.png diff --git a/src/spec/assets/images/GraphicsSystemSpec/sword-flip-both-offset.png b/src/spec/assets/images/graphics-system-spec/sword-flip-both-offset.png similarity index 100% rename from src/spec/assets/images/GraphicsSystemSpec/sword-flip-both-offset.png rename to src/spec/assets/images/graphics-system-spec/sword-flip-both-offset.png diff --git a/src/spec/assets/images/GraphicsSystemSpec/sword-flip-both.png b/src/spec/assets/images/graphics-system-spec/sword-flip-both.png similarity index 100% rename from src/spec/assets/images/GraphicsSystemSpec/sword-flip-both.png rename to src/spec/assets/images/graphics-system-spec/sword-flip-both.png diff --git a/src/spec/assets/images/GraphicsSystemSpec/sword-flip-horizontal.png b/src/spec/assets/images/graphics-system-spec/sword-flip-horizontal.png similarity index 100% rename from src/spec/assets/images/GraphicsSystemSpec/sword-flip-horizontal.png rename to src/spec/assets/images/graphics-system-spec/sword-flip-horizontal.png diff --git a/src/spec/assets/images/GraphicsSystemSpec/sword-flip-vertical.png b/src/spec/assets/images/graphics-system-spec/sword-flip-vertical.png similarity index 100% rename from src/spec/assets/images/GraphicsSystemSpec/sword-flip-vertical.png rename to src/spec/assets/images/graphics-system-spec/sword-flip-vertical.png diff --git a/src/spec/assets/images/GraphicsSystemSpec/sword.png b/src/spec/assets/images/graphics-system-spec/sword.png similarity index 100% rename from src/spec/assets/images/GraphicsSystemSpec/sword.png rename to src/spec/assets/images/graphics-system-spec/sword.png diff --git a/src/spec/assets/images/GraphicsTextSpec/bold-linux.png b/src/spec/assets/images/graphics-text-spec/bold-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/bold-linux.png rename to src/spec/assets/images/graphics-text-spec/bold-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/bold-win.png b/src/spec/assets/images/graphics-text-spec/bold-win.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/bold-win.png rename to src/spec/assets/images/graphics-text-spec/bold-win.png diff --git a/src/spec/assets/images/GraphicsTextSpec/bold.png b/src/spec/assets/images/graphics-text-spec/bold.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/bold.png rename to src/spec/assets/images/graphics-text-spec/bold.png diff --git a/src/spec/assets/images/GraphicsTextSpec/flipped-linux.png b/src/spec/assets/images/graphics-text-spec/flipped-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/flipped-linux.png rename to src/spec/assets/images/graphics-text-spec/flipped-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/flipped.png b/src/spec/assets/images/graphics-text-spec/flipped.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/flipped.png rename to src/spec/assets/images/graphics-text-spec/flipped.png diff --git a/src/spec/assets/images/GraphicsTextSpec/font-alignment-linux.png b/src/spec/assets/images/graphics-text-spec/font-alignment-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/font-alignment-linux.png rename to src/spec/assets/images/graphics-text-spec/font-alignment-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/font-alignment.png b/src/spec/assets/images/graphics-text-spec/font-alignment.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/font-alignment.png rename to src/spec/assets/images/graphics-text-spec/font-alignment.png diff --git a/src/spec/assets/images/GraphicsTextSpec/font-text-wrap-linux.png b/src/spec/assets/images/graphics-text-spec/font-text-wrap-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/font-text-wrap-linux.png rename to src/spec/assets/images/graphics-text-spec/font-text-wrap-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/font-text-wrap-win.png b/src/spec/assets/images/graphics-text-spec/font-text-wrap-win.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/font-text-wrap-win.png rename to src/spec/assets/images/graphics-text-spec/font-text-wrap-win.png diff --git a/src/spec/assets/images/GraphicsTextSpec/font-text-wrap.png b/src/spec/assets/images/graphics-text-spec/font-text-wrap.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/font-text-wrap.png rename to src/spec/assets/images/graphics-text-spec/font-text-wrap.png diff --git a/src/spec/assets/images/GraphicsTextSpec/fonts.css b/src/spec/assets/images/graphics-text-spec/fonts.css similarity index 76% rename from src/spec/assets/images/GraphicsTextSpec/fonts.css rename to src/spec/assets/images/graphics-text-spec/fonts.css index d1ec788c..6b574a80 100644 --- a/src/spec/assets/images/GraphicsTextSpec/fonts.css +++ b/src/spec/assets/images/graphics-text-spec/fonts.css @@ -4,7 +4,7 @@ font-style: italic; font-weight: 400; font-display: block; - src: url(/src/spec/assets/images/GraphicsTextSpec/fonts/italic-400.woff2) format('woff2'); + src: url(/src/spec/assets/images/graphics-text-spec/fonts/italic-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; @@ -16,7 +16,7 @@ font-style: italic; font-weight: 600; font-display: block; - src: url(/src/spec/assets/images/GraphicsTextSpec/fonts/italic-600.woff2) format('woff2'); + src: url(/src/spec/assets/images/graphics-text-spec/fonts/italic-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; @@ -28,7 +28,7 @@ font-style: italic; font-weight: 700; font-display: block; - src: url(/src/spec/assets/images/GraphicsTextSpec/fonts/italic-700.woff2) format('woff2'); + src: url(/src/spec/assets/images/graphics-text-spec/fonts/italic-700.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; @@ -40,7 +40,7 @@ font-style: italic; font-weight: 800; font-display: block; - src: url(/src/spec/assets/images/GraphicsTextSpec/fonts/italic-800.woff2) format('woff2'); + src: url(/src/spec/assets/images/graphics-text-spec/fonts/italic-800.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; @@ -52,7 +52,7 @@ font-style: normal; font-weight: 400; font-display: block; - src: url(/src/spec/assets/images/GraphicsTextSpec/fonts/normal-400.woff2) format('woff2'); + src: url(/src/spec/assets/images/graphics-text-spec/fonts/normal-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; @@ -64,7 +64,7 @@ font-style: normal; font-weight: 600; font-display: block; - src: url(/src/spec/assets/images/GraphicsTextSpec/fonts/normal-600.woff2) format('woff2'); + src: url(/src/spec/assets/images/graphics-text-spec/fonts/normal-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; @@ -76,7 +76,7 @@ font-style: normal; font-weight: 700; font-display: block; - src: url(/src/spec/assets/images/GraphicsTextSpec/fonts/normal-700.woff2) format('woff2'); + src: url(/src/spec/assets/images/graphics-text-spec/fonts/normal-700.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; @@ -88,7 +88,7 @@ font-style: normal; font-weight: 800; font-display: block; - src: url(/src/spec/assets/images/GraphicsTextSpec/fonts/normal-800.woff2) format('woff2'); + src: url(/src/spec/assets/images/graphics-text-spec/fonts/normal-800.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; diff --git a/src/spec/assets/images/GraphicsTextSpec/fonts/italic-400.woff2 b/src/spec/assets/images/graphics-text-spec/fonts/italic-400.woff2 similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/fonts/italic-400.woff2 rename to src/spec/assets/images/graphics-text-spec/fonts/italic-400.woff2 diff --git a/src/spec/assets/images/GraphicsTextSpec/fonts/italic-600.woff2 b/src/spec/assets/images/graphics-text-spec/fonts/italic-600.woff2 similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/fonts/italic-600.woff2 rename to src/spec/assets/images/graphics-text-spec/fonts/italic-600.woff2 diff --git a/src/spec/assets/images/GraphicsTextSpec/fonts/italic-700.woff2 b/src/spec/assets/images/graphics-text-spec/fonts/italic-700.woff2 similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/fonts/italic-700.woff2 rename to src/spec/assets/images/graphics-text-spec/fonts/italic-700.woff2 diff --git a/src/spec/assets/images/GraphicsTextSpec/fonts/italic-800.woff2 b/src/spec/assets/images/graphics-text-spec/fonts/italic-800.woff2 similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/fonts/italic-800.woff2 rename to src/spec/assets/images/graphics-text-spec/fonts/italic-800.woff2 diff --git a/src/spec/assets/images/GraphicsTextSpec/fonts/normal-400.woff2 b/src/spec/assets/images/graphics-text-spec/fonts/normal-400.woff2 similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/fonts/normal-400.woff2 rename to src/spec/assets/images/graphics-text-spec/fonts/normal-400.woff2 diff --git a/src/spec/assets/images/GraphicsTextSpec/fonts/normal-600.woff2 b/src/spec/assets/images/graphics-text-spec/fonts/normal-600.woff2 similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/fonts/normal-600.woff2 rename to src/spec/assets/images/graphics-text-spec/fonts/normal-600.woff2 diff --git a/src/spec/assets/images/GraphicsTextSpec/fonts/normal-700.woff2 b/src/spec/assets/images/graphics-text-spec/fonts/normal-700.woff2 similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/fonts/normal-700.woff2 rename to src/spec/assets/images/graphics-text-spec/fonts/normal-700.woff2 diff --git a/src/spec/assets/images/GraphicsTextSpec/fonts/normal-800.woff2 b/src/spec/assets/images/graphics-text-spec/fonts/normal-800.woff2 similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/fonts/normal-800.woff2 rename to src/spec/assets/images/graphics-text-spec/fonts/normal-800.woff2 diff --git a/src/spec/assets/images/GraphicsTextSpec/italic-linux.png b/src/spec/assets/images/graphics-text-spec/italic-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/italic-linux.png rename to src/spec/assets/images/graphics-text-spec/italic-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/italic.png b/src/spec/assets/images/graphics-text-spec/italic.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/italic.png rename to src/spec/assets/images/graphics-text-spec/italic.png diff --git a/src/spec/assets/images/GraphicsTextSpec/line-height-linux.png b/src/spec/assets/images/graphics-text-spec/line-height-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/line-height-linux.png rename to src/spec/assets/images/graphics-text-spec/line-height-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/line-height-win.png b/src/spec/assets/images/graphics-text-spec/line-height-win.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/line-height-win.png rename to src/spec/assets/images/graphics-text-spec/line-height-win.png diff --git a/src/spec/assets/images/GraphicsTextSpec/line-height.png b/src/spec/assets/images/graphics-text-spec/line-height.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/line-height.png rename to src/spec/assets/images/graphics-text-spec/line-height.png diff --git a/src/spec/assets/images/GraphicsTextSpec/long-text-linux.png b/src/spec/assets/images/graphics-text-spec/long-text-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/long-text-linux.png rename to src/spec/assets/images/graphics-text-spec/long-text-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/long-text.png b/src/spec/assets/images/graphics-text-spec/long-text.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/long-text.png rename to src/spec/assets/images/graphics-text-spec/long-text.png diff --git a/src/spec/assets/images/GraphicsTextSpec/multi-text-linux.png b/src/spec/assets/images/graphics-text-spec/multi-text-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/multi-text-linux.png rename to src/spec/assets/images/graphics-text-spec/multi-text-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/multi-text-spritefont.png b/src/spec/assets/images/graphics-text-spec/multi-text-spritefont.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/multi-text-spritefont.png rename to src/spec/assets/images/graphics-text-spec/multi-text-spritefont.png diff --git a/src/spec/assets/images/GraphicsTextSpec/multi-text-win.png b/src/spec/assets/images/graphics-text-spec/multi-text-win.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/multi-text-win.png rename to src/spec/assets/images/graphics-text-spec/multi-text-win.png diff --git a/src/spec/assets/images/GraphicsTextSpec/multi-text.png b/src/spec/assets/images/graphics-text-spec/multi-text.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/multi-text.png rename to src/spec/assets/images/graphics-text-spec/multi-text.png diff --git a/src/spec/assets/images/GraphicsTextSpec/reuse-font-linux.png b/src/spec/assets/images/graphics-text-spec/reuse-font-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/reuse-font-linux.png rename to src/spec/assets/images/graphics-text-spec/reuse-font-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/reuse-font-win.png b/src/spec/assets/images/graphics-text-spec/reuse-font-win.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/reuse-font-win.png rename to src/spec/assets/images/graphics-text-spec/reuse-font-win.png diff --git a/src/spec/assets/images/GraphicsTextSpec/reuse-font.png b/src/spec/assets/images/graphics-text-spec/reuse-font.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/reuse-font.png rename to src/spec/assets/images/graphics-text-spec/reuse-font.png diff --git a/src/spec/assets/images/GraphicsTextSpec/rotated-left-linux.png b/src/spec/assets/images/graphics-text-spec/rotated-left-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/rotated-left-linux.png rename to src/spec/assets/images/graphics-text-spec/rotated-left-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/rotated-left.png b/src/spec/assets/images/graphics-text-spec/rotated-left.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/rotated-left.png rename to src/spec/assets/images/graphics-text-spec/rotated-left.png diff --git a/src/spec/assets/images/GraphicsTextSpec/rotated-linux.png b/src/spec/assets/images/graphics-text-spec/rotated-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/rotated-linux.png rename to src/spec/assets/images/graphics-text-spec/rotated-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/rotated-right-linux.png b/src/spec/assets/images/graphics-text-spec/rotated-right-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/rotated-right-linux.png rename to src/spec/assets/images/graphics-text-spec/rotated-right-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/rotated-right.png b/src/spec/assets/images/graphics-text-spec/rotated-right.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/rotated-right.png rename to src/spec/assets/images/graphics-text-spec/rotated-right.png diff --git a/src/spec/assets/images/GraphicsTextSpec/rotated-spritefont.png b/src/spec/assets/images/graphics-text-spec/rotated-spritefont.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/rotated-spritefont.png rename to src/spec/assets/images/graphics-text-spec/rotated-spritefont.png diff --git a/src/spec/assets/images/GraphicsTextSpec/rotated.png b/src/spec/assets/images/graphics-text-spec/rotated.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/rotated.png rename to src/spec/assets/images/graphics-text-spec/rotated.png diff --git a/src/spec/assets/images/GraphicsTextSpec/shadow-linux.png b/src/spec/assets/images/graphics-text-spec/shadow-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/shadow-linux.png rename to src/spec/assets/images/graphics-text-spec/shadow-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/shadow.png b/src/spec/assets/images/graphics-text-spec/shadow.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/shadow.png rename to src/spec/assets/images/graphics-text-spec/shadow.png diff --git a/src/spec/assets/images/GraphicsTextSpec/sprite-font-line-height.png b/src/spec/assets/images/graphics-text-spec/sprite-font-line-height.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/sprite-font-line-height.png rename to src/spec/assets/images/graphics-text-spec/sprite-font-line-height.png diff --git a/src/spec/assets/images/GraphicsTextSpec/sprite-font-text-wrap.png b/src/spec/assets/images/graphics-text-spec/sprite-font-text-wrap.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/sprite-font-text-wrap.png rename to src/spec/assets/images/graphics-text-spec/sprite-font-text-wrap.png diff --git a/src/spec/assets/images/GraphicsTextSpec/spritefont-alignment.png b/src/spec/assets/images/graphics-text-spec/spritefont-alignment.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/spritefont-alignment.png rename to src/spec/assets/images/graphics-text-spec/spritefont-alignment.png diff --git a/src/spec/assets/images/GraphicsTextSpec/spritefont-scaled.png b/src/spec/assets/images/graphics-text-spec/spritefont-scaled.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/spritefont-scaled.png rename to src/spec/assets/images/graphics-text-spec/spritefont-scaled.png diff --git a/src/spec/assets/images/GraphicsTextSpec/spritefont-shadow.png b/src/spec/assets/images/graphics-text-spec/spritefont-shadow.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/spritefont-shadow.png rename to src/spec/assets/images/graphics-text-spec/spritefont-shadow.png diff --git a/src/spec/assets/images/GraphicsTextSpec/spritefont-text.png b/src/spec/assets/images/graphics-text-spec/spritefont-text.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/spritefont-text.png rename to src/spec/assets/images/graphics-text-spec/spritefont-text.png diff --git a/src/spec/assets/images/GraphicsTextSpec/spritefont.png b/src/spec/assets/images/graphics-text-spec/spritefont.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/spritefont.png rename to src/spec/assets/images/graphics-text-spec/spritefont.png diff --git a/src/spec/assets/images/GraphicsTextSpec/text-linux.png b/src/spec/assets/images/graphics-text-spec/text-linux.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/text-linux.png rename to src/spec/assets/images/graphics-text-spec/text-linux.png diff --git a/src/spec/assets/images/GraphicsTextSpec/text.png b/src/spec/assets/images/graphics-text-spec/text.png similarity index 100% rename from src/spec/assets/images/GraphicsTextSpec/text.png rename to src/spec/assets/images/graphics-text-spec/text.png diff --git a/src/spec/assets/images/IsometricMapSpec/cube-map-bottom.png b/src/spec/assets/images/isometric-map-spec/cube-map-bottom.png similarity index 100% rename from src/spec/assets/images/IsometricMapSpec/cube-map-bottom.png rename to src/spec/assets/images/isometric-map-spec/cube-map-bottom.png diff --git a/src/spec/assets/images/IsometricMapSpec/cube-map-debug.png b/src/spec/assets/images/isometric-map-spec/cube-map-debug.png similarity index 100% rename from src/spec/assets/images/IsometricMapSpec/cube-map-debug.png rename to src/spec/assets/images/isometric-map-spec/cube-map-debug.png diff --git a/src/spec/assets/images/IsometricMapSpec/cube-map-top.png b/src/spec/assets/images/isometric-map-spec/cube-map-top.png similarity index 100% rename from src/spec/assets/images/IsometricMapSpec/cube-map-top.png rename to src/spec/assets/images/isometric-map-spec/cube-map-top.png diff --git a/src/spec/assets/images/IsometricMapSpec/cube.png b/src/spec/assets/images/isometric-map-spec/cube.png similarity index 100% rename from src/spec/assets/images/IsometricMapSpec/cube.png rename to src/spec/assets/images/isometric-map-spec/cube.png diff --git a/src/spec/assets/images/IsometricMapSpec/map.png b/src/spec/assets/images/isometric-map-spec/map.png similarity index 100% rename from src/spec/assets/images/IsometricMapSpec/map.png rename to src/spec/assets/images/isometric-map-spec/map.png diff --git a/src/spec/assets/images/IsometricMapSpec/tile.png b/src/spec/assets/images/isometric-map-spec/tile.png similarity index 100% rename from src/spec/assets/images/IsometricMapSpec/tile.png rename to src/spec/assets/images/isometric-map-spec/tile.png diff --git a/src/spec/assets/images/LabelSpec/bluetext-linux.png b/src/spec/assets/images/label-spec/bluetext-linux.png similarity index 100% rename from src/spec/assets/images/LabelSpec/bluetext-linux.png rename to src/spec/assets/images/label-spec/bluetext-linux.png diff --git a/src/spec/assets/images/LabelSpec/bluetext.png b/src/spec/assets/images/label-spec/bluetext.png similarity index 100% rename from src/spec/assets/images/LabelSpec/bluetext.png rename to src/spec/assets/images/label-spec/bluetext.png diff --git a/src/spec/assets/images/LabelSpec/boldtext-linux.png b/src/spec/assets/images/label-spec/boldtext-linux.png similarity index 100% rename from src/spec/assets/images/LabelSpec/boldtext-linux.png rename to src/spec/assets/images/label-spec/boldtext-linux.png diff --git a/src/spec/assets/images/LabelSpec/boldtext.png b/src/spec/assets/images/label-spec/boldtext.png similarity index 100% rename from src/spec/assets/images/LabelSpec/boldtext.png rename to src/spec/assets/images/label-spec/boldtext.png diff --git a/src/spec/assets/images/LabelSpec/centertext-linux.png b/src/spec/assets/images/label-spec/centertext-linux.png similarity index 100% rename from src/spec/assets/images/LabelSpec/centertext-linux.png rename to src/spec/assets/images/label-spec/centertext-linux.png diff --git a/src/spec/assets/images/LabelSpec/centertext.png b/src/spec/assets/images/label-spec/centertext.png similarity index 100% rename from src/spec/assets/images/LabelSpec/centertext.png rename to src/spec/assets/images/label-spec/centertext.png diff --git a/src/spec/assets/images/LabelSpec/italictext-linux.png b/src/spec/assets/images/label-spec/italictext-linux.png similarity index 100% rename from src/spec/assets/images/LabelSpec/italictext-linux.png rename to src/spec/assets/images/label-spec/italictext-linux.png diff --git a/src/spec/assets/images/LabelSpec/italictext.png b/src/spec/assets/images/label-spec/italictext.png similarity index 100% rename from src/spec/assets/images/LabelSpec/italictext.png rename to src/spec/assets/images/label-spec/italictext.png diff --git a/src/spec/assets/images/LabelSpec/lefttext-linux.png b/src/spec/assets/images/label-spec/lefttext-linux.png similarity index 100% rename from src/spec/assets/images/LabelSpec/lefttext-linux.png rename to src/spec/assets/images/label-spec/lefttext-linux.png diff --git a/src/spec/assets/images/LabelSpec/lefttext.png b/src/spec/assets/images/label-spec/lefttext.png similarity index 100% rename from src/spec/assets/images/LabelSpec/lefttext.png rename to src/spec/assets/images/label-spec/lefttext.png diff --git a/src/spec/assets/images/LabelSpec/normaltext-linux.png b/src/spec/assets/images/label-spec/normaltext-linux.png similarity index 100% rename from src/spec/assets/images/LabelSpec/normaltext-linux.png rename to src/spec/assets/images/label-spec/normaltext-linux.png diff --git a/src/spec/assets/images/LabelSpec/normaltext.png b/src/spec/assets/images/label-spec/normaltext.png similarity index 100% rename from src/spec/assets/images/LabelSpec/normaltext.png rename to src/spec/assets/images/label-spec/normaltext.png diff --git a/src/spec/assets/images/LabelSpec/obliquetext-linux.png b/src/spec/assets/images/label-spec/obliquetext-linux.png similarity index 100% rename from src/spec/assets/images/LabelSpec/obliquetext-linux.png rename to src/spec/assets/images/label-spec/obliquetext-linux.png diff --git a/src/spec/assets/images/LabelSpec/obliquetext.png b/src/spec/assets/images/label-spec/obliquetext.png similarity index 100% rename from src/spec/assets/images/LabelSpec/obliquetext.png rename to src/spec/assets/images/label-spec/obliquetext.png diff --git a/src/spec/assets/images/LabelSpec/righttext-linux.png b/src/spec/assets/images/label-spec/righttext-linux.png similarity index 100% rename from src/spec/assets/images/LabelSpec/righttext-linux.png rename to src/spec/assets/images/label-spec/righttext-linux.png diff --git a/src/spec/assets/images/LabelSpec/righttext.png b/src/spec/assets/images/label-spec/righttext.png similarity index 100% rename from src/spec/assets/images/LabelSpec/righttext.png rename to src/spec/assets/images/label-spec/righttext.png diff --git a/src/spec/assets/images/LineSpec/line.png b/src/spec/assets/images/line-spec/line.png similarity index 100% rename from src/spec/assets/images/LineSpec/line.png rename to src/spec/assets/images/line-spec/line.png diff --git a/src/spec/assets/images/LoaderSpec/100.png b/src/spec/assets/images/loader-spec/100.png similarity index 100% rename from src/spec/assets/images/LoaderSpec/100.png rename to src/spec/assets/images/loader-spec/100.png diff --git a/src/spec/assets/images/LoaderSpec/fifty.png b/src/spec/assets/images/loader-spec/fifty.png similarity index 100% rename from src/spec/assets/images/LoaderSpec/fifty.png rename to src/spec/assets/images/loader-spec/fifty.png diff --git a/src/spec/assets/images/LoaderSpec/loader-position-color.png b/src/spec/assets/images/loader-spec/loader-position-color.png similarity index 100% rename from src/spec/assets/images/LoaderSpec/loader-position-color.png rename to src/spec/assets/images/loader-spec/loader-position-color.png diff --git a/src/spec/assets/images/LoaderSpec/logo-position.png b/src/spec/assets/images/loader-spec/logo-position.png similarity index 100% rename from src/spec/assets/images/LoaderSpec/logo-position.png rename to src/spec/assets/images/loader-spec/logo-position.png diff --git a/src/spec/assets/images/LoaderSpec/playbuttonshown-noprogressbar.png b/src/spec/assets/images/loader-spec/playbuttonshown-noprogressbar.png similarity index 100% rename from src/spec/assets/images/LoaderSpec/playbuttonshown-noprogressbar.png rename to src/spec/assets/images/loader-spec/playbuttonshown-noprogressbar.png diff --git a/src/spec/assets/images/LoaderSpec/zero.png b/src/spec/assets/images/loader-spec/zero.png similarity index 100% rename from src/spec/assets/images/LoaderSpec/zero.png rename to src/spec/assets/images/loader-spec/zero.png diff --git a/src/spec/assets/images/MaterialRendererSpec/additional.png b/src/spec/assets/images/material-renderer-spec/additional.png similarity index 100% rename from src/spec/assets/images/MaterialRendererSpec/additional.png rename to src/spec/assets/images/material-renderer-spec/additional.png diff --git a/src/spec/assets/images/MaterialRendererSpec/material-component.png b/src/spec/assets/images/material-renderer-spec/material-component.png similarity index 100% rename from src/spec/assets/images/MaterialRendererSpec/material-component.png rename to src/spec/assets/images/material-renderer-spec/material-component.png diff --git a/src/spec/assets/images/MaterialRendererSpec/material.png b/src/spec/assets/images/material-renderer-spec/material.png similarity index 100% rename from src/spec/assets/images/MaterialRendererSpec/material.png rename to src/spec/assets/images/material-renderer-spec/material.png diff --git a/src/spec/assets/images/MaterialRendererSpec/multi-mat.png b/src/spec/assets/images/material-renderer-spec/multi-mat.png similarity index 100% rename from src/spec/assets/images/MaterialRendererSpec/multi-mat.png rename to src/spec/assets/images/material-renderer-spec/multi-mat.png diff --git a/src/spec/assets/images/MaterialRendererSpec/multiply-comp.png b/src/spec/assets/images/material-renderer-spec/multiply-comp.png similarity index 100% rename from src/spec/assets/images/MaterialRendererSpec/multiply-comp.png rename to src/spec/assets/images/material-renderer-spec/multiply-comp.png diff --git a/src/spec/assets/images/MaterialRendererSpec/stars.png b/src/spec/assets/images/material-renderer-spec/stars.png similarity index 100% rename from src/spec/assets/images/MaterialRendererSpec/stars.png rename to src/spec/assets/images/material-renderer-spec/stars.png diff --git a/src/spec/assets/images/MaterialRendererSpec/sword.png b/src/spec/assets/images/material-renderer-spec/sword.png similarity index 100% rename from src/spec/assets/images/MaterialRendererSpec/sword.png rename to src/spec/assets/images/material-renderer-spec/sword.png diff --git a/src/spec/assets/images/MaterialRendererSpec/update-uniform.png b/src/spec/assets/images/material-renderer-spec/update-uniform.png similarity index 100% rename from src/spec/assets/images/MaterialRendererSpec/update-uniform.png rename to src/spec/assets/images/material-renderer-spec/update-uniform.png diff --git a/src/spec/assets/images/ParallaxSpec/parallax1.png b/src/spec/assets/images/parallax-spec/parallax1.png similarity index 100% rename from src/spec/assets/images/ParallaxSpec/parallax1.png rename to src/spec/assets/images/parallax-spec/parallax1.png diff --git a/src/spec/assets/images/ParallaxSpec/parallax2.png b/src/spec/assets/images/parallax-spec/parallax2.png similarity index 100% rename from src/spec/assets/images/ParallaxSpec/parallax2.png rename to src/spec/assets/images/parallax-spec/parallax2.png diff --git a/src/spec/assets/images/ParallaxSpec/parallax3.png b/src/spec/assets/images/parallax-spec/parallax3.png similarity index 100% rename from src/spec/assets/images/ParallaxSpec/parallax3.png rename to src/spec/assets/images/parallax-spec/parallax3.png diff --git a/src/spec/assets/images/ParallaxSpec/tilemap.png b/src/spec/assets/images/parallax-spec/tilemap.png similarity index 100% rename from src/spec/assets/images/ParallaxSpec/tilemap.png rename to src/spec/assets/images/parallax-spec/tilemap.png diff --git a/src/spec/assets/images/ParallaxSpec/tilemap2.png b/src/spec/assets/images/parallax-spec/tilemap2.png similarity index 100% rename from src/spec/assets/images/ParallaxSpec/tilemap2.png rename to src/spec/assets/images/parallax-spec/tilemap2.png diff --git a/src/spec/assets/images/ParticleSpec/Particles.png b/src/spec/assets/images/particle-spec/Particles.png similarity index 100% rename from src/spec/assets/images/ParticleSpec/Particles.png rename to src/spec/assets/images/particle-spec/Particles.png diff --git a/src/spec/assets/images/ParticleSpec/clear.png b/src/spec/assets/images/particle-spec/clear.png similarity index 100% rename from src/spec/assets/images/ParticleSpec/clear.png rename to src/spec/assets/images/particle-spec/clear.png diff --git a/src/spec/assets/images/ParticleSpec/parented.png b/src/spec/assets/images/particle-spec/parented.png similarity index 100% rename from src/spec/assets/images/ParticleSpec/parented.png rename to src/spec/assets/images/particle-spec/parented.png diff --git a/src/spec/assets/images/ResourceSpec/textresource.txt b/src/spec/assets/images/resource-spec/textresource.txt similarity index 100% rename from src/spec/assets/images/ResourceSpec/textresource.txt rename to src/spec/assets/images/resource-spec/textresource.txt diff --git a/src/spec/assets/images/ScaleSpec/logo.png b/src/spec/assets/images/scale-spec/logo.png similarity index 100% rename from src/spec/assets/images/ScaleSpec/logo.png rename to src/spec/assets/images/scale-spec/logo.png diff --git a/src/spec/assets/images/ScaleSpec/scale.png b/src/spec/assets/images/scale-spec/scale.png similarity index 100% rename from src/spec/assets/images/ScaleSpec/scale.png rename to src/spec/assets/images/scale-spec/scale.png diff --git a/src/spec/assets/images/ScreenAppenderSpec/screen-log-linux.png b/src/spec/assets/images/screen-appender-spec/screen-log-linux.png similarity index 100% rename from src/spec/assets/images/ScreenAppenderSpec/screen-log-linux.png rename to src/spec/assets/images/screen-appender-spec/screen-log-linux.png diff --git a/src/spec/assets/images/ScreenAppenderSpec/screen-log.png b/src/spec/assets/images/screen-appender-spec/screen-log.png similarity index 100% rename from src/spec/assets/images/ScreenAppenderSpec/screen-log.png rename to src/spec/assets/images/screen-appender-spec/screen-log.png diff --git a/src/spec/assets/images/ScreenElementSpec/actordoesnotdraw.png b/src/spec/assets/images/screen-element-spec/actordoesnotdraw.png similarity index 100% rename from src/spec/assets/images/ScreenElementSpec/actordoesnotdraw.png rename to src/spec/assets/images/screen-element-spec/actordoesnotdraw.png diff --git a/src/spec/assets/images/ScreenElementSpec/actordraws.png b/src/spec/assets/images/screen-element-spec/actordraws.png similarity index 100% rename from src/spec/assets/images/ScreenElementSpec/actordraws.png rename to src/spec/assets/images/screen-element-spec/actordraws.png diff --git a/src/spec/assets/images/ScreenElementSpec/emptyctor.png b/src/spec/assets/images/screen-element-spec/emptyctor.png similarity index 100% rename from src/spec/assets/images/ScreenElementSpec/emptyctor.png rename to src/spec/assets/images/screen-element-spec/emptyctor.png diff --git a/src/spec/assets/images/SlideSpec/slide-down.png b/src/spec/assets/images/slide-spec/slide-down.png similarity index 100% rename from src/spec/assets/images/SlideSpec/slide-down.png rename to src/spec/assets/images/slide-spec/slide-down.png diff --git a/src/spec/assets/images/SlideSpec/slide-left.png b/src/spec/assets/images/slide-spec/slide-left.png similarity index 100% rename from src/spec/assets/images/SlideSpec/slide-left.png rename to src/spec/assets/images/slide-spec/slide-left.png diff --git a/src/spec/assets/images/SlideSpec/slide-right.png b/src/spec/assets/images/slide-spec/slide-right.png similarity index 100% rename from src/spec/assets/images/SlideSpec/slide-right.png rename to src/spec/assets/images/slide-spec/slide-right.png diff --git a/src/spec/assets/images/SlideSpec/slide-up-transition.png b/src/spec/assets/images/slide-spec/slide-up-transition.png similarity index 100% rename from src/spec/assets/images/SlideSpec/slide-up-transition.png rename to src/spec/assets/images/slide-spec/slide-up-transition.png diff --git a/src/spec/assets/images/SlideSpec/slide-up.png b/src/spec/assets/images/slide-spec/slide-up.png similarity index 100% rename from src/spec/assets/images/SlideSpec/slide-up.png rename to src/spec/assets/images/slide-spec/slide-up.png diff --git a/src/spec/assets/images/SoundSpec/preview.mp3 b/src/spec/assets/images/sound-spec/preview.mp3 similarity index 100% rename from src/spec/assets/images/SoundSpec/preview.mp3 rename to src/spec/assets/images/sound-spec/preview.mp3 diff --git a/src/spec/assets/images/SoundSpec/preview.ogg b/src/spec/assets/images/sound-spec/preview.ogg similarity index 100% rename from src/spec/assets/images/SoundSpec/preview.ogg rename to src/spec/assets/images/sound-spec/preview.ogg diff --git a/src/spec/assets/images/SoundSpec/test.mp3 b/src/spec/assets/images/sound-spec/test.mp3 similarity index 100% rename from src/spec/assets/images/SoundSpec/test.mp3 rename to src/spec/assets/images/sound-spec/test.mp3 diff --git a/src/spec/assets/images/SpriteFontSpec/ExpectedFont.png b/src/spec/assets/images/sprite-font-spec/ExpectedFont.png similarity index 100% rename from src/spec/assets/images/SpriteFontSpec/ExpectedFont.png rename to src/spec/assets/images/sprite-font-spec/ExpectedFont.png diff --git a/src/spec/assets/images/SpriteFontSpec/IndividualSprites.png b/src/spec/assets/images/sprite-font-spec/IndividualSprites.png similarity index 100% rename from src/spec/assets/images/SpriteFontSpec/IndividualSprites.png rename to src/spec/assets/images/sprite-font-spec/IndividualSprites.png diff --git a/src/spec/assets/images/SpriteFontSpec/SpriteFont.png b/src/spec/assets/images/sprite-font-spec/SpriteFont.png similarity index 100% rename from src/spec/assets/images/SpriteFontSpec/SpriteFont.png rename to src/spec/assets/images/sprite-font-spec/SpriteFont.png diff --git a/src/spec/assets/images/SpriteFontSpec/TextShadow.png b/src/spec/assets/images/sprite-font-spec/TextShadow.png similarity index 100% rename from src/spec/assets/images/SpriteFontSpec/TextShadow.png rename to src/spec/assets/images/sprite-font-spec/TextShadow.png diff --git a/src/spec/assets/images/SpriteSheetSpec/NewSpriteSpacing.png b/src/spec/assets/images/sprite-sheet-spec/NewSpriteSpacing.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/NewSpriteSpacing.png rename to src/spec/assets/images/sprite-sheet-spec/NewSpriteSpacing.png diff --git a/src/spec/assets/images/SpriteSheetSpec/PlayerRun.png b/src/spec/assets/images/sprite-sheet-spec/PlayerRun.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/PlayerRun.png rename to src/spec/assets/images/sprite-sheet-spec/PlayerRun.png diff --git a/src/spec/assets/images/SpriteSheetSpec/PlayerRun0.png b/src/spec/assets/images/sprite-sheet-spec/PlayerRun0.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/PlayerRun0.png rename to src/spec/assets/images/sprite-sheet-spec/PlayerRun0.png diff --git a/src/spec/assets/images/SpriteSheetSpec/PlayerRun20.png b/src/spec/assets/images/sprite-sheet-spec/PlayerRun20.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/PlayerRun20.png rename to src/spec/assets/images/sprite-sheet-spec/PlayerRun20.png diff --git a/src/spec/assets/images/SpriteSheetSpec/SpriteSheetSpacing.png b/src/spec/assets/images/sprite-sheet-spec/SpriteSheetSpacing.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/SpriteSheetSpacing.png rename to src/spec/assets/images/sprite-sheet-spec/SpriteSheetSpacing.png diff --git a/src/spec/assets/images/SpriteSheetSpec/SpriteSheetSpacingCustom.png b/src/spec/assets/images/sprite-sheet-spec/SpriteSheetSpacingCustom.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/SpriteSheetSpacingCustom.png rename to src/spec/assets/images/sprite-sheet-spec/SpriteSheetSpacingCustom.png diff --git a/src/spec/assets/images/SpriteSheetSpec/SpriteSheetSpacingSingle.png b/src/spec/assets/images/sprite-sheet-spec/SpriteSheetSpacingSingle.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/SpriteSheetSpacingSingle.png rename to src/spec/assets/images/sprite-sheet-spec/SpriteSheetSpacingSingle.png diff --git a/src/spec/assets/images/SpriteSheetSpec/drillandcup.png b/src/spec/assets/images/sprite-sheet-spec/drillandcup.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/drillandcup.png rename to src/spec/assets/images/sprite-sheet-spec/drillandcup.png diff --git a/src/spec/assets/images/SpriteSheetSpec/genericItems_spriteSheet_License.txt b/src/spec/assets/images/sprite-sheet-spec/genericItems_spriteSheet_License.txt similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/genericItems_spriteSheet_License.txt rename to src/spec/assets/images/sprite-sheet-spec/genericItems_spriteSheet_License.txt diff --git a/src/spec/assets/images/SpriteSheetSpec/genericItems_spritesheet_colored.png b/src/spec/assets/images/sprite-sheet-spec/genericItems_spritesheet_colored.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/genericItems_spritesheet_colored.png rename to src/spec/assets/images/sprite-sheet-spec/genericItems_spritesheet_colored.png diff --git a/src/spec/assets/images/SpriteSheetSpec/genericItems_spritesheet_colored.xml b/src/spec/assets/images/sprite-sheet-spec/genericItems_spritesheet_colored.xml similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/genericItems_spritesheet_colored.xml rename to src/spec/assets/images/sprite-sheet-spec/genericItems_spritesheet_colored.xml diff --git a/src/spec/assets/images/SpriteSheetSpec/kenny-cards-license.txt b/src/spec/assets/images/sprite-sheet-spec/kenny-cards-license.txt similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/kenny-cards-license.txt rename to src/spec/assets/images/sprite-sheet-spec/kenny-cards-license.txt diff --git a/src/spec/assets/images/SpriteSheetSpec/kenny-cards.png b/src/spec/assets/images/sprite-sheet-spec/kenny-cards.png similarity index 100% rename from src/spec/assets/images/SpriteSheetSpec/kenny-cards.png rename to src/spec/assets/images/sprite-sheet-spec/kenny-cards.png diff --git a/src/spec/assets/images/SpriteSpec/icon-colorized.png b/src/spec/assets/images/sprite-spec/icon-colorized.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/icon-colorized.png rename to src/spec/assets/images/sprite-spec/icon-colorized.png diff --git a/src/spec/assets/images/SpriteSpec/icon-darkened.png b/src/spec/assets/images/sprite-spec/icon-darkened.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/icon-darkened.png rename to src/spec/assets/images/sprite-spec/icon-darkened.png diff --git a/src/spec/assets/images/SpriteSpec/icon-desaturated.png b/src/spec/assets/images/sprite-spec/icon-desaturated.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/icon-desaturated.png rename to src/spec/assets/images/sprite-spec/icon-desaturated.png diff --git a/src/spec/assets/images/SpriteSpec/icon-horiz-flip.png b/src/spec/assets/images/sprite-spec/icon-horiz-flip.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/icon-horiz-flip.png rename to src/spec/assets/images/sprite-spec/icon-horiz-flip.png diff --git a/src/spec/assets/images/SpriteSpec/icon-inverted.png b/src/spec/assets/images/sprite-spec/icon-inverted.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/icon-inverted.png rename to src/spec/assets/images/sprite-spec/icon-inverted.png diff --git a/src/spec/assets/images/SpriteSpec/icon-lightened.png b/src/spec/assets/images/sprite-spec/icon-lightened.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/icon-lightened.png rename to src/spec/assets/images/sprite-spec/icon-lightened.png diff --git a/src/spec/assets/images/SpriteSpec/icon-saturated.png b/src/spec/assets/images/sprite-spec/icon-saturated.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/icon-saturated.png rename to src/spec/assets/images/sprite-spec/icon-saturated.png diff --git a/src/spec/assets/images/SpriteSpec/icon-vert-flip.png b/src/spec/assets/images/sprite-spec/icon-vert-flip.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/icon-vert-flip.png rename to src/spec/assets/images/sprite-spec/icon-vert-flip.png diff --git a/src/spec/assets/images/SpriteSpec/icon.png b/src/spec/assets/images/sprite-spec/icon.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/icon.png rename to src/spec/assets/images/sprite-spec/icon.png diff --git a/src/spec/assets/images/SpriteSpec/iconrotate.png b/src/spec/assets/images/sprite-spec/iconrotate.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/iconrotate.png rename to src/spec/assets/images/sprite-spec/iconrotate.png diff --git a/src/spec/assets/images/SpriteSpec/iconscale.png b/src/spec/assets/images/sprite-spec/iconscale.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/iconscale.png rename to src/spec/assets/images/sprite-spec/iconscale.png diff --git a/src/spec/assets/images/SpriteSpec/opacity.png b/src/spec/assets/images/sprite-spec/opacity.png similarity index 100% rename from src/spec/assets/images/SpriteSpec/opacity.png rename to src/spec/assets/images/sprite-spec/opacity.png diff --git a/src/spec/assets/images/TileMapSpec/Blocks.png b/src/spec/assets/images/tile-map-spec/blocks.png similarity index 100% rename from src/spec/assets/images/TileMapSpec/Blocks.png rename to src/spec/assets/images/tile-map-spec/blocks.png diff --git a/src/spec/assets/images/TileMapSpec/tilemap-from-bottom.png b/src/spec/assets/images/tile-map-spec/tilemap-from-bottom.png similarity index 100% rename from src/spec/assets/images/TileMapSpec/tilemap-from-bottom.png rename to src/spec/assets/images/tile-map-spec/tilemap-from-bottom.png diff --git a/src/spec/assets/images/TileMapSpec/tilemap-from-top.png b/src/spec/assets/images/tile-map-spec/tilemap-from-top.png similarity index 100% rename from src/spec/assets/images/TileMapSpec/tilemap-from-top.png rename to src/spec/assets/images/tile-map-spec/tilemap-from-top.png diff --git a/src/spec/assets/images/TileMapSpec/tilemap-scaled.png b/src/spec/assets/images/tile-map-spec/tilemap-scaled.png similarity index 100% rename from src/spec/assets/images/TileMapSpec/tilemap-scaled.png rename to src/spec/assets/images/tile-map-spec/tilemap-scaled.png diff --git a/src/spec/assets/images/TileMapSpec/TileMap.png b/src/spec/assets/images/tile-map-spec/tilemap.png similarity index 100% rename from src/spec/assets/images/TileMapSpec/TileMap.png rename to src/spec/assets/images/tile-map-spec/tilemap.png diff --git a/src/spec/assets/images/TileMapSpec/TileMapCulling.png b/src/spec/assets/images/tile-map-spec/tilemapculling.png similarity index 100% rename from src/spec/assets/images/TileMapSpec/TileMapCulling.png rename to src/spec/assets/images/tile-map-spec/tilemapculling.png diff --git a/src/spec/assets/images/TileMapSpec/TileMapGraphicCircle.png b/src/spec/assets/images/tile-map-spec/tilemapgraphiccircle.png similarity index 100% rename from src/spec/assets/images/TileMapSpec/TileMapGraphicCircle.png rename to src/spec/assets/images/tile-map-spec/tilemapgraphiccircle.png diff --git a/src/spec/assets/images/TileMapSpec/TileMapGraphicSquare.png b/src/spec/assets/images/tile-map-spec/tilemapgraphicsquare.png similarity index 100% rename from src/spec/assets/images/TileMapSpec/TileMapGraphicSquare.png rename to src/spec/assets/images/tile-map-spec/tilemapgraphicsquare.png diff --git a/src/spec/assets/images/TiledAnimationSpec/kenny-cards.png b/src/spec/assets/images/tiled-animation-spec/kenny-cards.png similarity index 100% rename from src/spec/assets/images/TiledAnimationSpec/kenny-cards.png rename to src/spec/assets/images/tiled-animation-spec/kenny-cards.png diff --git a/src/spec/assets/images/TiledAnimationSpec/tiled-2.png b/src/spec/assets/images/tiled-animation-spec/tiled-2.png similarity index 100% rename from src/spec/assets/images/TiledAnimationSpec/tiled-2.png rename to src/spec/assets/images/tiled-animation-spec/tiled-2.png diff --git a/src/spec/assets/images/TiledAnimationSpec/tiled.png b/src/spec/assets/images/tiled-animation-spec/tiled.png similarity index 100% rename from src/spec/assets/images/TiledAnimationSpec/tiled.png rename to src/spec/assets/images/tiled-animation-spec/tiled.png diff --git a/src/spec/assets/images/TiledSpriteSpec/from-spritesheet.png b/src/spec/assets/images/tiled-sprite-spec/from-spritesheet.png similarity index 100% rename from src/spec/assets/images/TiledSpriteSpec/from-spritesheet.png rename to src/spec/assets/images/tiled-sprite-spec/from-spritesheet.png diff --git a/src/spec/assets/images/TiledSpriteSpec/ground.png b/src/spec/assets/images/tiled-sprite-spec/ground.png similarity index 100% rename from src/spec/assets/images/TiledSpriteSpec/ground.png rename to src/spec/assets/images/tiled-sprite-spec/ground.png diff --git a/src/spec/assets/images/TiledSpriteSpec/tiled.png b/src/spec/assets/images/tiled-sprite-spec/tiled.png similarity index 100% rename from src/spec/assets/images/TiledSpriteSpec/tiled.png rename to src/spec/assets/images/tiled-sprite-spec/tiled.png diff --git a/src/spec/karma/BrowserSupportSpec.ts b/src/spec/karma/browser-support-spec.ts similarity index 100% rename from src/spec/karma/BrowserSupportSpec.ts rename to src/spec/karma/browser-support-spec.ts diff --git a/src/spec/karma/tsconfig.json b/src/spec/karma/tsconfig.json index b860ae1f..cb42e54d 100644 --- a/src/spec/karma/tsconfig.json +++ b/src/spec/karma/tsconfig.json @@ -15,6 +15,6 @@ "@excalibur": ["../../engine/"] } }, - "include": ["./**Spec.ts", "./**/*Spec.ts"], + "include": ["./**spec.ts", "./**/*spec.ts"], "files": ["_boot.ts", "../../engine/files.d.ts", "../../engine/globals.d.ts"] } diff --git a/src/spec/vitest.config.unit.ts b/src/spec/vitest.config.unit.ts index 689f0617..35dd52cc 100644 --- a/src/spec/vitest.config.unit.ts +++ b/src/spec/vitest.config.unit.ts @@ -11,7 +11,7 @@ export default defineConfig( name: 'unit', globals: true, setupFiles: ['./__util__/setup.ts', './__matchers__/expect.ts'], - include: ['./vitest/**/*Spec.ts'], + include: ['./vitest/**/*spec.ts'], testNamePattern: /^(?!.*@visual).+$/, sequence: { groupOrder: 0 diff --git a/src/spec/vitest.config.visual.ts b/src/spec/vitest.config.visual.ts index 21f14ac2..2e3fb396 100644 --- a/src/spec/vitest.config.visual.ts +++ b/src/spec/vitest.config.visual.ts @@ -11,7 +11,7 @@ export default defineConfig( name: 'visual', globals: true, setupFiles: ['./__util__/setup.ts', './__matchers__/expect.ts', './__matchers__/expect.visual.ts'], - include: ['./vitest/**/*Spec.ts'], + include: ['./vitest/**/*spec.ts'], testNamePattern: /@visual/, sequence: { groupOrder: 1 diff --git a/src/spec/vitest/ActionSpec.ts b/src/spec/vitest/action-spec.ts similarity index 99% rename from src/spec/vitest/ActionSpec.ts rename to src/spec/vitest/action-spec.ts index 919602cf..2236ce14 100644 --- a/src/spec/vitest/ActionSpec.ts +++ b/src/spec/vitest/action-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('Action', () => { let actor: ex.Actor; diff --git a/src/spec/vitest/ActorSpec.ts b/src/spec/vitest/actor-spec.ts similarity index 99% rename from src/spec/vitest/ActorSpec.ts rename to src/spec/vitest/actor-spec.ts index 8fe885aa..3434cb87 100644 --- a/src/spec/vitest/ActorSpec.ts +++ b/src/spec/vitest/actor-spec.ts @@ -1,7 +1,7 @@ import * as ex from '@excalibur'; -import { PhysicsWorld } from '../../engine/Collision/PhysicsWorld'; -import { TestUtils } from '../__util__/TestUtils'; +import { PhysicsWorld } from '../../engine/collision/physics-world'; +import { TestUtils } from '../__util__/test-utils'; describe('A game actor', () => { let actor: ex.Actor; @@ -788,14 +788,14 @@ describe('A game actor', () => { scene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/ActorSpec/zindex-blue-top.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/actor-spec/zindex-blue-top.png'); green.z = 2; blue.z = 1; scene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/ActorSpec/zindex-green-top.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/actor-spec/zindex-green-top.png'); }); it('@visual can have a graphic drawn at an opacity', async () => { @@ -815,7 +815,7 @@ describe('A game actor', () => { const clock = engine.clock as ex.TestClock; clock.step(1); - const image = new ex.ImageSource('/src/spec/assets/images/SpriteSpec/icon.png'); + const image = new ex.ImageSource('/src/spec/assets/images/sprite-spec/icon.png'); await image.load(); const sprite = new ex.Sprite({ @@ -841,12 +841,12 @@ describe('A game actor', () => { scene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/SpriteSpec/opacity.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/sprite-spec/opacity.png'); }); it('will tick animations on update', async () => { scene.clear(); - const texture = new ex.ImageSource('/src/spec/assets/images/SpriteSpec/icon.png'); + const texture = new ex.ImageSource('/src/spec/assets/images/sprite-spec/icon.png'); await texture.load(); const sprite = new ex.Sprite({ image: texture, diff --git a/src/spec/vitest/AffineMatrixSpec.ts b/src/spec/vitest/affine-matrix-spec.ts similarity index 100% rename from src/spec/vitest/AffineMatrixSpec.ts rename to src/spec/vitest/affine-matrix-spec.ts diff --git a/src/spec/vitest/AnimationSpec.ts b/src/spec/vitest/animation-spec.ts similarity index 98% rename from src/spec/vitest/AnimationSpec.ts rename to src/spec/vitest/animation-spec.ts index a05c0d54..6d1807b6 100644 --- a/src/spec/vitest/AnimationSpec.ts +++ b/src/spec/vitest/animation-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { ExcaliburGraphicsContext2DCanvas } from '../../engine/Graphics'; +import { ExcaliburGraphicsContext2DCanvas } from '../../engine/graphics'; class ChildAnimation extends ex.Animation {} @@ -502,17 +502,17 @@ describe('A Graphics Animation', () => { ctx.clear(); anim.draw(ctx, 0, 0); - await expect(output).toEqualImage('/src/spec/assets/images/GraphicsAnimationSpec/frame-1.png'); + await expect(output).toEqualImage('/src/spec/assets/images/graphics-animation-spec/frame-1.png'); ctx.clear(); anim.tick(100, 0); anim.draw(ctx, 0, 0); - await expect(output).toEqualImage('/src/spec/assets/images/GraphicsAnimationSpec/frame-2.png'); + await expect(output).toEqualImage('/src/spec/assets/images/graphics-animation-spec/frame-2.png'); ctx.clear(); anim.tick(100, 1); anim.draw(ctx, 0, 0); - await expect(output).toEqualImage('/src/spec/assets/images/GraphicsAnimationSpec/frame-3.png'); + await expect(output).toEqualImage('/src/spec/assets/images/graphics-animation-spec/frame-3.png'); }); it('calculate automatically the frame duration based on the animation total duration', () => { diff --git a/src/spec/vitest/ArcadeSolverSpec.ts b/src/spec/vitest/arcade-solver-spec.ts similarity index 98% rename from src/spec/vitest/ArcadeSolverSpec.ts rename to src/spec/vitest/arcade-solver-spec.ts index a0426bb1..63992a59 100644 --- a/src/spec/vitest/ArcadeSolverSpec.ts +++ b/src/spec/vitest/arcade-solver-spec.ts @@ -1,7 +1,7 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; -import { getDefaultPhysicsConfig } from '../../engine/Collision/PhysicsConfig'; +import { TestUtils } from '../__util__/test-utils'; +import { getDefaultPhysicsConfig } from '../../engine/collision/physics-config'; describe('An ArcadeSolver', () => { it('should exist', () => { diff --git a/src/spec/vitest/AssertSpec.ts b/src/spec/vitest/assert-spec.ts similarity index 100% rename from src/spec/vitest/AssertSpec.ts rename to src/spec/vitest/assert-spec.ts diff --git a/src/spec/vitest/BezierSpec.ts b/src/spec/vitest/bezier-spec.ts similarity index 100% rename from src/spec/vitest/BezierSpec.ts rename to src/spec/vitest/bezier-spec.ts diff --git a/src/spec/vitest/BodyComponentSpec.ts b/src/spec/vitest/body-component-spec.ts similarity index 100% rename from src/spec/vitest/BodyComponentSpec.ts rename to src/spec/vitest/body-component-spec.ts diff --git a/src/spec/vitest/BoundingBoxSpec.ts b/src/spec/vitest/bounding-box-spec.ts similarity index 100% rename from src/spec/vitest/BoundingBoxSpec.ts rename to src/spec/vitest/bounding-box-spec.ts diff --git a/src/spec/vitest/BrowserEventsSpec.ts b/src/spec/vitest/browser-events-spec.ts similarity index 100% rename from src/spec/vitest/BrowserEventsSpec.ts rename to src/spec/vitest/browser-events-spec.ts diff --git a/src/spec/vitest/CameraSpec.ts b/src/spec/vitest/camera-spec.ts similarity index 99% rename from src/spec/vitest/CameraSpec.ts rename to src/spec/vitest/camera-spec.ts index 6acd09d8..663f5e5e 100644 --- a/src/spec/vitest/CameraSpec.ts +++ b/src/spec/vitest/camera-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A camera', () => { let Camera: ex.Camera; diff --git a/src/spec/vitest/CanvasSpec.ts b/src/spec/vitest/canvas-spec.ts similarity index 95% rename from src/spec/vitest/CanvasSpec.ts rename to src/spec/vitest/canvas-spec.ts index 102f5362..cbdf1895 100644 --- a/src/spec/vitest/CanvasSpec.ts +++ b/src/spec/vitest/canvas-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Canvas Graphic', () => { it('exists', () => { @@ -47,7 +47,7 @@ describe('A Canvas Graphic', () => { sut.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsCanvasSpec/draw.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-canvas-spec/draw.png'); }); it('can cache draws', () => { @@ -129,7 +129,7 @@ describe('A Canvas Graphic', () => { expect(sut.width).toBe(50); expect(sut.height).toBe(50); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GraphicsCanvasSpec/centered.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/graphics-canvas-spec/centered.png'); engine.dispose(); }); }); diff --git a/src/spec/vitest/CircleSpec.ts b/src/spec/vitest/circle-spec.ts similarity index 95% rename from src/spec/vitest/CircleSpec.ts rename to src/spec/vitest/circle-spec.ts index b2a90ffd..1c989a7d 100644 --- a/src/spec/vitest/CircleSpec.ts +++ b/src/spec/vitest/circle-spec.ts @@ -47,7 +47,7 @@ describe('A Circle Graphic', () => { ctx.clear(); sut.draw(ctx, 50, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsCircleSpec/circle.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-circle-spec/circle.png'); }); it('@visual can set a lineWidth', async () => { @@ -66,7 +66,7 @@ describe('A Circle Graphic', () => { ctx.clear(); sut.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsCircleSpec/line-width.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-circle-spec/line-width.png'); }); it('can be cloned', () => { diff --git a/src/spec/vitest/ClockSpec.ts b/src/spec/vitest/clock-spec.ts similarity index 100% rename from src/spec/vitest/ClockSpec.ts rename to src/spec/vitest/clock-spec.ts diff --git a/src/spec/vitest/ColliderComponentSpec.ts b/src/spec/vitest/collider-component-spec.ts similarity index 100% rename from src/spec/vitest/ColliderComponentSpec.ts rename to src/spec/vitest/collider-component-spec.ts diff --git a/src/spec/vitest/CollisionContactSpec.ts b/src/spec/vitest/collision-contact-spec.ts similarity index 98% rename from src/spec/vitest/CollisionContactSpec.ts rename to src/spec/vitest/collision-contact-spec.ts index 304ec0e6..dbd89d51 100644 --- a/src/spec/vitest/CollisionContactSpec.ts +++ b/src/spec/vitest/collision-contact-spec.ts @@ -1,8 +1,8 @@ import * as ex from '@excalibur'; import { TransformComponent } from '@excalibur'; -import { EulerIntegrator } from '../../engine/Collision/Integrator'; -import { MotionComponent } from '../../engine/EntityComponentSystem/Components/MotionComponent'; -import { getDefaultPhysicsConfig } from '../../engine/Collision/PhysicsConfig'; +import { EulerIntegrator } from '../../engine/collision/integrator'; +import { MotionComponent } from '../../engine/entity-component-system/components/motion-component'; +import { getDefaultPhysicsConfig } from '../../engine/collision/physics-config'; describe('A CollisionContact', () => { let actorA: ex.Actor; diff --git a/src/spec/vitest/CollisionGroupSpec.ts b/src/spec/vitest/collision-group-spec.ts similarity index 100% rename from src/spec/vitest/CollisionGroupSpec.ts rename to src/spec/vitest/collision-group-spec.ts diff --git a/src/spec/vitest/CollisionShapeSpec.ts b/src/spec/vitest/collision-shape-spec.ts similarity index 99% rename from src/spec/vitest/CollisionShapeSpec.ts rename to src/spec/vitest/collision-shape-spec.ts index 333ad169..587cac05 100644 --- a/src/spec/vitest/CollisionShapeSpec.ts +++ b/src/spec/vitest/collision-shape-spec.ts @@ -1,7 +1,7 @@ import * as ex from '@excalibur'; import { CollisionJumpTable } from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('Collision Shape', () => { describe('a Circle', () => { @@ -382,7 +382,7 @@ describe('Collision Shape', () => { ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/CollisionShapeSpec/circle-debug.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/collision-shape-spec/circle-debug.png'); }); it('@visual can be drawn with actor when in constructor', async () => { @@ -395,7 +395,7 @@ describe('Collision Shape', () => { scene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/CollisionShapeSpec/circle.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/collision-shape-spec/circle.png'); }); it('can calculate the distance to another circle', () => { @@ -829,7 +829,7 @@ describe('Collision Shape', () => { engine.graphicsContext.restore(); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/CollisionShapeSpec/triangle.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/collision-shape-spec/triangle.png'); }); it('@visual can be drawn with actor', async () => { @@ -842,7 +842,7 @@ describe('Collision Shape', () => { scene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/CollisionShapeSpec/triangle.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/collision-shape-spec/triangle.png'); }); it('can calculate the distance to another circle', () => { @@ -1065,7 +1065,7 @@ describe('Collision Shape', () => { engine.graphicsContext.restore(); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/CollisionShapeSpec/edge.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/collision-shape-spec/edge.png'); }); it('@visual can be drawn with actor', async () => { @@ -1078,7 +1078,7 @@ describe('Collision Shape', () => { scene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/CollisionShapeSpec/edge.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/collision-shape-spec/edge.png'); }); it('can calculate the distance to another circle', () => { diff --git a/src/spec/vitest/CollisionSpec.ts b/src/spec/vitest/collision-spec.ts similarity index 99% rename from src/spec/vitest/CollisionSpec.ts rename to src/spec/vitest/collision-spec.ts index 4aae378a..e737b3b8 100644 --- a/src/spec/vitest/CollisionSpec.ts +++ b/src/spec/vitest/collision-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; -import { getDefaultPhysicsConfig } from '../../engine/Collision/PhysicsConfig'; +import { TestUtils } from '../__util__/test-utils'; +import { getDefaultPhysicsConfig } from '../../engine/collision/physics-config'; describe('A Collision', () => { let actor1: ex.Actor = null; diff --git a/src/spec/vitest/ColorBlindCorrectorSpec.ts b/src/spec/vitest/color-blind-corrector-spec.ts similarity index 81% rename from src/spec/vitest/ColorBlindCorrectorSpec.ts rename to src/spec/vitest/color-blind-corrector-spec.ts index 1eca5eab..cdd44c11 100644 --- a/src/spec/vitest/ColorBlindCorrectorSpec.ts +++ b/src/spec/vitest/color-blind-corrector-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A ColorBlindCorrector', () => { let bg: ex.ImageSource; @@ -9,7 +9,7 @@ describe('A ColorBlindCorrector', () => { describe('@visual', () => { beforeEach(async () => { engine = TestUtils.engine({ width: 800, height: 200 }, []); - bg = new ex.ImageSource('/src/spec/assets/images/ColorBlindCorrectorSpec/actor.png'); + bg = new ex.ImageSource('/src/spec/assets/images/color-blind-corrector-spec/actor.png'); const loader = new ex.Loader([bg]); clock = engine.clock as ex.TestClock; await TestUtils.runToReady(engine, loader); @@ -28,7 +28,7 @@ describe('A ColorBlindCorrector', () => { engine.once('postframe', (ev: ex.PostDrawEvent) => { expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/ColorBlindCorrectorSpec/normal.png') + .toEqualImage('/src/spec/assets/images/color-blind-corrector-spec/normal.png') .then(() => { done(); }); @@ -44,7 +44,7 @@ describe('A ColorBlindCorrector', () => { engine.debug.colorBlindMode.correct(ex.ColorBlindnessMode.Deuteranope); engine.once('postframe', (ev: ex.PostDrawEvent) => { expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/ColorBlindCorrectorSpec/deuteranope_correct.png') + .toEqualImage('/src/spec/assets/images/color-blind-corrector-spec/deuteranope_correct.png') .then(() => { done(); }); @@ -60,7 +60,7 @@ describe('A ColorBlindCorrector', () => { engine.debug.colorBlindMode.simulate(ex.ColorBlindnessMode.Deuteranope); engine.once('postframe', (ev: ex.PostDrawEvent) => { expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/ColorBlindCorrectorSpec/deuteranope_simulate.png') + .toEqualImage('/src/spec/assets/images/color-blind-corrector-spec/deuteranope_simulate.png') .then(() => { done(); }); @@ -76,7 +76,7 @@ describe('A ColorBlindCorrector', () => { engine.debug.colorBlindMode.correct(ex.ColorBlindnessMode.Protanope); engine.once('postframe', (ev: ex.PostDrawEvent) => { expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/ColorBlindCorrectorSpec/protanope_correct.png') + .toEqualImage('/src/spec/assets/images/color-blind-corrector-spec/protanope_correct.png') .then(() => { done(); }); @@ -92,7 +92,7 @@ describe('A ColorBlindCorrector', () => { engine.debug.colorBlindMode.simulate(ex.ColorBlindnessMode.Protanope); engine.once('postframe', (ev: ex.PostDrawEvent) => { expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/ColorBlindCorrectorSpec/protanope_simulate.png') + .toEqualImage('/src/spec/assets/images/color-blind-corrector-spec/protanope_simulate.png') .then(() => { done(); }); @@ -108,7 +108,7 @@ describe('A ColorBlindCorrector', () => { engine.debug.colorBlindMode.correct(ex.ColorBlindnessMode.Tritanope); engine.once('postframe', (ev: ex.PostDrawEvent) => { expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/ColorBlindCorrectorSpec/tritanope_correct.png') + .toEqualImage('/src/spec/assets/images/color-blind-corrector-spec/tritanope_correct.png') .then(() => { done(); }); @@ -124,7 +124,7 @@ describe('A ColorBlindCorrector', () => { engine.debug.colorBlindMode.simulate(ex.ColorBlindnessMode.Tritanope); engine.once('postframe', (ev: ex.PostDrawEvent) => { expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/ColorBlindCorrectorSpec/tritanope_simulate.png') + .toEqualImage('/src/spec/assets/images/color-blind-corrector-spec/tritanope_simulate.png') .then(() => { done(); }); diff --git a/src/spec/vitest/ColorSpec.ts b/src/spec/vitest/color-spec.ts similarity index 100% rename from src/spec/vitest/ColorSpec.ts rename to src/spec/vitest/color-spec.ts diff --git a/src/spec/vitest/ComponentSpec.ts b/src/spec/vitest/component-spec.ts similarity index 100% rename from src/spec/vitest/ComponentSpec.ts rename to src/spec/vitest/component-spec.ts diff --git a/src/spec/vitest/CompositeColliderSpec.ts b/src/spec/vitest/composite-collider-spec.ts similarity index 99% rename from src/spec/vitest/CompositeColliderSpec.ts rename to src/spec/vitest/composite-collider-spec.ts index 7603da81..643e8064 100644 --- a/src/spec/vitest/CompositeColliderSpec.ts +++ b/src/spec/vitest/composite-collider-spec.ts @@ -1,7 +1,7 @@ import * as ex from '@excalibur'; import { BoundingBox, GameEvent, LineSegment, Projection, Ray, vec, Vector } from '@excalibur'; -import { getDefaultPhysicsConfig } from '../../engine/Collision/PhysicsConfig'; +import { getDefaultPhysicsConfig } from '../../engine/collision/physics-config'; describe('A CompositeCollider', () => { it('exists', () => { @@ -269,7 +269,7 @@ describe('A CompositeCollider', () => { ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/CompositeColliderSpec/composite.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/composite-collider-spec/composite.png'); }); it('is separated into a series of colliders in the dynamic tree', () => { diff --git a/src/spec/vitest/ContextSpec.ts b/src/spec/vitest/context-spec.ts similarity index 95% rename from src/spec/vitest/ContextSpec.ts rename to src/spec/vitest/context-spec.ts index c5279093..086e6f31 100644 --- a/src/spec/vitest/ContextSpec.ts +++ b/src/spec/vitest/context-spec.ts @@ -1,4 +1,4 @@ -import { createContext, useContext } from '../../../src/engine/Context'; +import { createContext, useContext } from '../../engine/context'; describe('A Context', () => { it('creates a context', () => { diff --git a/src/spec/vitest/CoroutineSpec.ts b/src/spec/vitest/coroutine-spec.ts similarity index 99% rename from src/spec/vitest/CoroutineSpec.ts rename to src/spec/vitest/coroutine-spec.ts index 2210d54f..5b2de0f8 100644 --- a/src/spec/vitest/CoroutineSpec.ts +++ b/src/spec/vitest/coroutine-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Coroutine', () => { let engine: ex.Engine; diff --git a/src/spec/vitest/CrossFadeSpec.ts b/src/spec/vitest/cross-fade-spec.ts similarity index 95% rename from src/spec/vitest/CrossFadeSpec.ts rename to src/spec/vitest/cross-fade-spec.ts index c50d3895..eee89a62 100644 --- a/src/spec/vitest/CrossFadeSpec.ts +++ b/src/spec/vitest/cross-fade-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A CrossFade transition', () => { it('exists', () => { @@ -83,6 +83,6 @@ describe('A CrossFade transition', () => { expect(engine.currentSceneName).toBe('newScene'); expect(onDeactivateSpy).toHaveBeenCalledTimes(1); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/CrossFadeSpec/crossfade.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/cross-fade-spec/crossfade.png'); }); }); diff --git a/src/spec/vitest/CurveActionSpec.ts b/src/spec/vitest/curve-action-spec.ts similarity index 97% rename from src/spec/vitest/CurveActionSpec.ts rename to src/spec/vitest/curve-action-spec.ts index 069b0543..89f71d80 100644 --- a/src/spec/vitest/CurveActionSpec.ts +++ b/src/spec/vitest/curve-action-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A actor can curve', () => { let engine: ex.Engine; diff --git a/src/spec/vitest/DebugSpec.ts b/src/spec/vitest/debug-spec.ts similarity index 95% rename from src/spec/vitest/DebugSpec.ts rename to src/spec/vitest/debug-spec.ts index 328190fa..9b93e014 100644 --- a/src/spec/vitest/DebugSpec.ts +++ b/src/spec/vitest/debug-spec.ts @@ -28,7 +28,7 @@ describe('Debug draw static', () => { ex.Debug.flush(context); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/DebugSpec/point.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/debug-spec/point.png'); context.dispose(); }); @@ -47,7 +47,7 @@ describe('Debug draw static', () => { ex.Debug.flush(context); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/DebugSpec/line.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/debug-spec/line.png'); context.dispose(); }); @@ -66,7 +66,7 @@ describe('Debug draw static', () => { ex.Debug.flush(context); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/DebugSpec/lines.png', 0.99); + await expect(canvas).toEqualImage('/src/spec/assets/images/debug-spec/lines.png', 0.99); context.dispose(); }); @@ -85,7 +85,7 @@ describe('Debug draw static', () => { ex.Debug.flush(context); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/DebugSpec/text.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/debug-spec/text.png'); }); it('can draw a polygon', async () => { @@ -103,7 +103,7 @@ describe('Debug draw static', () => { ex.Debug.flush(context); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/DebugSpec/polygon.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/debug-spec/polygon.png'); context.dispose(); }); @@ -122,7 +122,7 @@ describe('Debug draw static', () => { ex.Debug.flush(context); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/DebugSpec/circle.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/debug-spec/circle.png'); context.dispose(); }); @@ -148,7 +148,7 @@ describe('Debug draw static', () => { ex.Debug.flush(context); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/DebugSpec/bounds.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/debug-spec/bounds.png'); context.dispose(); }); @@ -169,7 +169,7 @@ describe('Debug draw static', () => { ex.Debug.flush(context); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/DebugSpec/ray.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/debug-spec/ray.png'); context.dispose(); }); }); diff --git a/src/spec/vitest/DebugSystemSpec.ts b/src/spec/vitest/debug-system-spec.ts similarity index 95% rename from src/spec/vitest/DebugSystemSpec.ts rename to src/spec/vitest/debug-system-spec.ts index 513bb5b5..a5643c1b 100644 --- a/src/spec/vitest/DebugSystemSpec.ts +++ b/src/spec/vitest/debug-system-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('DebugSystem', () => { let engine: ex.Engine; @@ -73,7 +73,7 @@ describe('DebugSystem', () => { engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/DebugSystemSpec/transform.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/debug-system-spec/transform.png'); }); it('can show motion info', async () => { @@ -97,7 +97,7 @@ describe('DebugSystem', () => { engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/DebugSystemSpec/motion.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/debug-system-spec/motion.png'); }); it('can show body info', async () => { @@ -119,7 +119,7 @@ describe('DebugSystem', () => { engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/DebugSystemSpec/body.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/debug-system-spec/body.png'); }); it('can show collider info', async () => { @@ -140,7 +140,7 @@ describe('DebugSystem', () => { engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/DebugSystemSpec/collider.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/debug-system-spec/collider.png'); }); it('can show composite collider info', async () => { @@ -162,7 +162,7 @@ describe('DebugSystem', () => { engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/DebugSystemSpec/composite-collider.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/debug-system-spec/composite-collider.png'); }); it('can show graphics info', async () => { @@ -186,7 +186,7 @@ describe('DebugSystem', () => { engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/DebugSystemSpec/graphics.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/debug-system-spec/graphics.png'); }); it('can show DebugGraphicsComponent', async () => { @@ -207,7 +207,7 @@ describe('DebugSystem', () => { debugSystem.update(); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/DebugSystemSpec/debug-draw-component.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/debug-system-spec/debug-draw-component.png'); }); it('can debug draw a tilemap', async () => { @@ -234,7 +234,7 @@ describe('DebugSystem', () => { debugSystem.update(); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/DebugSystemSpec/tilemap-debug.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/debug-system-spec/tilemap-debug.png'); }); }); }); diff --git a/src/spec/vitest/DebugTextSpec.ts b/src/spec/vitest/debug-text-spec.ts similarity index 92% rename from src/spec/vitest/DebugTextSpec.ts rename to src/spec/vitest/debug-text-spec.ts index 1cb048cd..98e15c73 100644 --- a/src/spec/vitest/DebugTextSpec.ts +++ b/src/spec/vitest/debug-text-spec.ts @@ -22,7 +22,7 @@ describe('DebugText', () => { ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/DebugTextSpec/draw-canvas2d.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/debug-text-spec/draw-canvas2d.png'); }); it('can write text (WebGL)', async () => { @@ -41,7 +41,7 @@ describe('DebugText', () => { ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/DebugTextSpec/draw-webgl.png', 0.94); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/debug-text-spec/draw-webgl.png', 0.94); }); }); }); diff --git a/src/spec/vitest/DecoratorSpec.ts b/src/spec/vitest/decorator-spec.ts similarity index 100% rename from src/spec/vitest/DecoratorSpec.ts rename to src/spec/vitest/decorator-spec.ts diff --git a/src/spec/vitest/DefaultLoaderSpec.ts b/src/spec/vitest/default-loader-spec.ts similarity index 88% rename from src/spec/vitest/DefaultLoaderSpec.ts rename to src/spec/vitest/default-loader-spec.ts index 2fc4892c..59d9d334 100644 --- a/src/spec/vitest/DefaultLoaderSpec.ts +++ b/src/spec/vitest/default-loader-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A DefaultLoader', () => { let engine: ex.Engine; @@ -46,12 +46,12 @@ describe('A DefaultLoader', () => { sut.onUpdate(engine, 100); sut.onDraw(sut.canvas.ctx); expect(sut.resources.length).toBe(3); - await expect(sut.canvas.ctx).toEqualImage('/src/spec/assets/images/DefaultLoaderSpec/loading.png'); + await expect(sut.canvas.ctx).toEqualImage('/src/spec/assets/images/default-loader-spec/loading.png'); }); it('can load stuff', async () => { - const img1 = new ex.ImageSource('/src/spec/assets/images/DefaultLoaderSpec/loading.png'); - const img2 = new ex.ImageSource('/src/spec/assets/images/DefaultLoaderSpec/loading.png'); + const img1 = new ex.ImageSource('/src/spec/assets/images/default-loader-spec/loading.png'); + const img2 = new ex.ImageSource('/src/spec/assets/images/default-loader-spec/loading.png'); const sut = new ex.DefaultLoader({ loadables: [img1, img2] }); diff --git a/src/spec/vitest/DirectorSpec.ts b/src/spec/vitest/director-spec.ts similarity index 98% rename from src/spec/vitest/DirectorSpec.ts rename to src/spec/vitest/director-spec.ts index 6b6295f1..46417945 100644 --- a/src/spec/vitest/DirectorSpec.ts +++ b/src/spec/vitest/director-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Director', () => { it('exists', () => { @@ -149,7 +149,7 @@ describe('A Director', () => { expect(sut.currentSceneName).toBe('scene1'); expect(sut.currentScene).toBe(scene1); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/DirectorSpec/fadein.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/director-spec/fadein.png'); engine.dispose(); }); diff --git a/src/spec/vitest/DynamicTreeBroadphaseSpec.ts b/src/spec/vitest/dynamic-tree-broadphase-spec.ts similarity index 99% rename from src/spec/vitest/DynamicTreeBroadphaseSpec.ts rename to src/spec/vitest/dynamic-tree-broadphase-spec.ts index 71a864f3..31bf959a 100644 --- a/src/spec/vitest/DynamicTreeBroadphaseSpec.ts +++ b/src/spec/vitest/dynamic-tree-broadphase-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { getDefaultPhysicsConfig } from '../../engine/Collision/PhysicsConfig'; +import { getDefaultPhysicsConfig } from '../../engine/collision/physics-config'; describe('A DynamicTree Broadphase', () => { let actorA: ex.Actor; diff --git a/src/spec/vitest/EasingFunctionSpec.ts b/src/spec/vitest/easing-function-spec.ts similarity index 100% rename from src/spec/vitest/EasingFunctionSpec.ts rename to src/spec/vitest/easing-function-spec.ts diff --git a/src/spec/vitest/EasingsSpec.ts b/src/spec/vitest/easings-spec.ts similarity index 100% rename from src/spec/vitest/EasingsSpec.ts rename to src/spec/vitest/easings-spec.ts diff --git a/src/spec/vitest/EngineSpec.ts b/src/spec/vitest/engine-spec.ts similarity index 97% rename from src/spec/vitest/EngineSpec.ts rename to src/spec/vitest/engine-spec.ts index b3b989c0..1f1154da 100644 --- a/src/spec/vitest/EngineSpec.ts +++ b/src/spec/vitest/engine-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; import { inject } from 'vitest'; /** @@ -67,7 +67,7 @@ describe('The engine', () => { suppressPlayButton: false }); (engine)._suppressPlayButton = false; - const imageSource = new ex.ImageSource('/src/spec/assets/images/SpriteSpec/icon.png'); + const imageSource = new ex.ImageSource('/src/spec/assets/images/sprite-spec/icon.png'); const loader = new ex.Loader([imageSource]); const testClock = engine.clock as ex.TestClock; @@ -80,7 +80,7 @@ describe('The engine', () => { testClock.run(1, 100); engine.graphicsContext.flush(); expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/EngineSpec/engine-load-complete.png') + .toEqualImage('/src/spec/assets/images/engine-spec/engine-load-complete.png') .then(() => { done(); }); @@ -270,14 +270,14 @@ describe('The engine', () => { ); const testClock = engine.clock as ex.TestClock; - const loader = new ex.Loader([new ex.ImageSource('/src/spec/assets/images/SpriteSpec/icon.png')]); + const loader = new ex.Loader([new ex.ImageSource('/src/spec/assets/images/sprite-spec/icon.png')]); TestUtils.runToReady(engine, loader).then(() => { // With suppress play there is another 500 ms delay in engine load() testClock.step(1); engine.graphicsContext.flush(); expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/EngineSpec/engine-suppress-play.png') + .toEqualImage('/src/spec/assets/images/engine-spec/engine-suppress-play.png') .then(() => { done(); }); @@ -831,7 +831,7 @@ describe('The engine', () => { [] ); const clock = engine.clock as ex.TestClock; - const img = new ex.ImageSource('/src/spec/assets/images/EngineSpec/sprite.png'); + const img = new ex.ImageSource('/src/spec/assets/images/engine-spec/sprite.png'); await img.load(); const actor = new ex.Actor({ x: 40.5, @@ -848,7 +848,7 @@ describe('The engine', () => { const image = await screenShotPromise; - await expect(image).toEqualImage('/src/spec/assets/images/EngineSpec/screenshot.png', 0.999); + await expect(image).toEqualImage('/src/spec/assets/images/engine-spec/screenshot.png', 0.999); engine.dispose(); }); @@ -861,7 +861,7 @@ describe('The engine', () => { }); const clock = engine.clock as ex.TestClock; await TestUtils.runToReady(engine); - const playerImage = new ex.ImageSource('/src/spec/assets/images/EngineSpec/hero.png'); + const playerImage = new ex.ImageSource('/src/spec/assets/images/engine-spec/hero.png'); const playerSpriteSheet = ex.SpriteSheet.fromImageSource({ image: playerImage, grid: { @@ -871,7 +871,7 @@ describe('The engine', () => { columns: 8 } }); - const backgroundImage = new ex.ImageSource('/src/spec/assets/images/EngineSpec/tileset.png'); + const backgroundImage = new ex.ImageSource('/src/spec/assets/images/engine-spec/tileset.png'); const backgroundSpriteSheet = ex.SpriteSheet.fromImageSource({ image: backgroundImage, grid: { @@ -907,7 +907,7 @@ describe('The engine', () => { clock.step(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/EngineSpec/snaptopixel.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/engine-spec/snaptopixel.png'); engine.dispose(); }); @@ -921,7 +921,7 @@ describe('The engine', () => { }); const clock = engine.clock as ex.TestClock; await TestUtils.runToReady(engine); - const playerImage = new ex.ImageSource('/src/spec/assets/images/EngineSpec/hero.png'); + const playerImage = new ex.ImageSource('/src/spec/assets/images/engine-spec/hero.png'); const playerSpriteSheet = ex.SpriteSheet.fromImageSource({ image: playerImage, grid: { @@ -931,7 +931,7 @@ describe('The engine', () => { columns: 8 } }); - const backgroundImage = new ex.ImageSource('/src/spec/assets/images/EngineSpec/tileset.png'); + const backgroundImage = new ex.ImageSource('/src/spec/assets/images/engine-spec/tileset.png'); const backgroundSpriteSheet = ex.SpriteSheet.fromImageSource({ image: backgroundImage, grid: { @@ -966,7 +966,7 @@ describe('The engine', () => { engine.currentScene.camera.pos = player.pos; clock.step(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/EngineSpec/pixelart.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/engine-spec/pixelart.png'); engine.dispose(); }); }); diff --git a/src/spec/vitest/EntityManagerSpec.ts b/src/spec/vitest/entity-manager-spec.ts similarity index 100% rename from src/spec/vitest/EntityManagerSpec.ts rename to src/spec/vitest/entity-manager-spec.ts diff --git a/src/spec/vitest/EntitySpec.ts b/src/spec/vitest/entity-spec.ts similarity index 99% rename from src/spec/vitest/EntitySpec.ts rename to src/spec/vitest/entity-spec.ts index 3ab39572..4b215b3c 100644 --- a/src/spec/vitest/EntitySpec.ts +++ b/src/spec/vitest/entity-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; class FakeComponentA extends ex.Component {} class FakeComponentB extends ex.Component {} diff --git a/src/spec/vitest/EventEmitterSpec.ts b/src/spec/vitest/event-emitter-spec.ts similarity index 100% rename from src/spec/vitest/EventEmitterSpec.ts rename to src/spec/vitest/event-emitter-spec.ts diff --git a/src/spec/vitest/ExcaliburGraphicsContextSpec.ts b/src/spec/vitest/excalibur-graphics-context-spec.ts similarity index 94% rename from src/spec/vitest/ExcaliburGraphicsContextSpec.ts rename to src/spec/vitest/excalibur-graphics-context-spec.ts index e191e36f..33ddb955 100644 --- a/src/spec/vitest/ExcaliburGraphicsContextSpec.ts +++ b/src/spec/vitest/excalibur-graphics-context-spec.ts @@ -64,7 +64,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.clear(); sut.drawImage(rect._bitmap, 20, 20); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawgraphic.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/2d-drawgraphic.png'); }); it('can draw debug point', async () => { @@ -83,7 +83,7 @@ describe('The ExcaliburGraphicsContext', () => { color: ex.Color.Blue }); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawpoint.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/2d-drawpoint.png'); }); it('can draw debug line', async () => { @@ -102,7 +102,7 @@ describe('The ExcaliburGraphicsContext', () => { }); // chromium seems to alias this slightly differently than ff/webkit. 0.993 tolerance needed. - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawline.png', 0.993); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/2d-drawline.png', 0.993); }); it('can transform the context', async () => { @@ -130,7 +130,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.drawImage(rect._bitmap, -25, -25); sut.restore(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-transform.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/2d-transform.png'); }); it('can draw rectangle', async () => { @@ -147,7 +147,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.drawRectangle(ex.vec(10, 10), 80, 80, ex.Color.Blue); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-solid-rect.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/webgl-solid-rect.png'); }); it('can draw circle', async () => { @@ -164,7 +164,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.drawCircle(ex.vec(50, 50), 50, ex.Color.Blue); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-circle.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/2d-circle.png'); }); it('can draw a line', async () => { @@ -181,7 +181,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.drawLine(ex.vec(0, 0), ex.vec(100, 100), ex.Color.Blue, 5); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-line.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/2d-line.png'); }); it('can snap drawings to pixel', async () => { @@ -204,7 +204,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.clear(); sut.drawImage(rect._bitmap, 1.9, 1.9); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-snap-to-pixel.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/2d-snap-to-pixel.png'); }); }); @@ -370,7 +370,7 @@ describe('The ExcaliburGraphicsContext', () => { rect.draw(context, 0.5, 0.5); //1 - 0.001, 1 - 0.001); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap.png'); context.dispose(); }); @@ -396,7 +396,7 @@ describe('The ExcaliburGraphicsContext', () => { rect.draw(context, 1 - 0.0001, 1 - 0.0001); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-next.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-next.png'); context.dispose(); }); @@ -417,7 +417,7 @@ describe('The ExcaliburGraphicsContext', () => { context.drawRectangle(ex.vec(1 - 0.0001, 1 - 0.0001), 2, 2, ex.Color.Red); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-next.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-next.png'); context.dispose(); }); @@ -438,7 +438,7 @@ describe('The ExcaliburGraphicsContext', () => { context.drawLine(ex.vec(1 - 0.0001, 2 - 0.0001), ex.vec(5, 2 - 0.0001), ex.Color.Red, 2); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-line-next.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-line-next.png'); context.dispose(); }); @@ -459,7 +459,7 @@ describe('The ExcaliburGraphicsContext', () => { context.drawCircle(ex.vec(5 - 0.0001, 5 - 0.0001), 3, ex.Color.Red); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-circle-next.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-circle-next.png'); context.dispose(); }); @@ -483,7 +483,7 @@ describe('The ExcaliburGraphicsContext', () => { }); context.flush(); - await expect(canvas).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/pixel-snap-point-next.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/pixel-snap-point-next.png'); context.dispose(); }); @@ -508,7 +508,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.drawImage(rect._bitmap, 20, 20); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-drawgraphic.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/2d-drawgraphic.png'); sut.dispose(); }); @@ -530,7 +530,7 @@ describe('The ExcaliburGraphicsContext', () => { }); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-drawpoint.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/webgl-drawpoint.png'); sut.dispose(); }); @@ -548,7 +548,7 @@ describe('The ExcaliburGraphicsContext', () => { snapToPixel: false }); - const tex = new ex.ImageSource('/src/spec/assets/images/ExcaliburGraphicsContextSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/excalibur-graphics-context-spec/sword.png'); await tex.load(); const circleRenderer = sut.get('ex.circle'); @@ -584,7 +584,7 @@ describe('The ExcaliburGraphicsContext', () => { expect(imageRenderer.flush).toHaveBeenCalledTimes(1); await expect(canvasElement).toEqualImage( - '/src/spec/assets/images/ExcaliburGraphicsContextSpec/painter-order-circle-image-rect.png', + '/src/spec/assets/images/excalibur-graphics-context-spec/painter-order-circle-image-rect.png', 0.97 ); sut.dispose(); @@ -605,7 +605,7 @@ describe('The ExcaliburGraphicsContext', () => { }); sut.imageRenderer = 'ex.image'; - const tex = new ex.ImageSource('/src/spec/assets/images/ExcaliburGraphicsContextSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/excalibur-graphics-context-spec/sword.png'); await tex.load(); const circleRenderer = sut.get('ex.circle'); @@ -641,7 +641,7 @@ describe('The ExcaliburGraphicsContext', () => { expect(imageRenderer.flush).toHaveBeenCalledTimes(1); await expect(canvasElement).toEqualImage( - '/src/spec/assets/images/ExcaliburGraphicsContextSpec/painter-order-circle-image-rect.png', + '/src/spec/assets/images/excalibur-graphics-context-spec/painter-order-circle-image-rect.png', 0.97 ); sut.dispose(); @@ -661,7 +661,7 @@ describe('The ExcaliburGraphicsContext', () => { snapToPixel: false }); - const tex = new ex.ImageSource('/src/spec/assets/images/ExcaliburGraphicsContextSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/excalibur-graphics-context-spec/sword.png'); await tex.load(); const circleRenderer = sut.get('ex.circle'); @@ -694,7 +694,7 @@ describe('The ExcaliburGraphicsContext', () => { expect(imageRenderer.flush).toHaveBeenCalledTimes(1); await expect(canvasElement).toEqualImage( - '/src/spec/assets/images/ExcaliburGraphicsContextSpec/painter-order-circle-image-rect.png', + '/src/spec/assets/images/excalibur-graphics-context-spec/painter-order-circle-image-rect.png', 0.97 ); sut.dispose(); @@ -714,7 +714,7 @@ describe('The ExcaliburGraphicsContext', () => { }); sut.imageRenderer = 'ex.image'; - const tex = new ex.ImageSource('/src/spec/assets/images/ExcaliburGraphicsContextSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/excalibur-graphics-context-spec/sword.png'); await tex.load(); const circleRenderer = sut.get('ex.circle'); @@ -747,7 +747,7 @@ describe('The ExcaliburGraphicsContext', () => { expect(imageRenderer.flush).toHaveBeenCalledTimes(1); await expect(canvasElement).toEqualImage( - '/src/spec/assets/images/ExcaliburGraphicsContextSpec/painter-order-circle-image-rect.png', + '/src/spec/assets/images/excalibur-graphics-context-spec/painter-order-circle-image-rect.png', 0.97 ); sut.dispose(); @@ -772,7 +772,7 @@ describe('The ExcaliburGraphicsContext', () => { }); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-drawline.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/webgl-drawline.png'); sut.dispose(); }); @@ -795,7 +795,7 @@ describe('The ExcaliburGraphicsContext', () => { }); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-rect.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/webgl-rect.png'); sut.dispose(); }); @@ -814,7 +814,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.drawRectangle(ex.vec(10, 10), 80, 80, ex.Color.Blue); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-solid-rect.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/webgl-solid-rect.png'); sut.dispose(); }); @@ -833,7 +833,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.drawCircle(ex.vec(50, 50), 50, ex.Color.Blue); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-circle.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/webgl-circle.png'); sut.dispose(); }); @@ -853,7 +853,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.drawCircle(ex.vec(50, 50), 50, ex.Color.Blue); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-circle-with-opacity.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/webgl-circle-with-opacity.png'); sut.dispose(); }); @@ -996,7 +996,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.clear(); - const tex = new ex.ImageSource('/src/spec/assets/images/ExcaliburGraphicsContextSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/excalibur-graphics-context-spec/sword.png'); await tex.load(); const imageRenderer = sut.get('ex.image'); @@ -1030,7 +1030,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.clear(); - const tex = new ex.ImageSource('/src/spec/assets/images/ExcaliburGraphicsContextSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/excalibur-graphics-context-spec/sword.png'); await tex.load(); const imageRenderer = sut.get('ex.image'); @@ -1066,7 +1066,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.clear(); sut.drawLine(ex.vec(0, 0), ex.vec(100, 100), ex.Color.Blue, 5); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-line.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/webgl-line.png'); sut.dispose(); }); @@ -1099,7 +1099,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.restore(); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/webgl-transform.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/webgl-transform.png'); sut.dispose(); }); @@ -1125,7 +1125,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.drawImage(rect._bitmap, 1.9, 1.9); sut.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/2d-snap-to-pixel.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/2d-snap-to-pixel.png'); sut.dispose(); }); @@ -1165,7 +1165,7 @@ describe('The ExcaliburGraphicsContext', () => { it('can handle rendering rasters in succession', async () => { // arrange - const image = new ex.ImageSource('/src/spec/assets/images/ExcaliburGraphicsContextSpec/test.png'); + const image = new ex.ImageSource('/src/spec/assets/images/excalibur-graphics-context-spec/test.png'); await image.load(); const spriteSheet = ex.SpriteSheet.fromImageSource({ image: image, @@ -1214,7 +1214,7 @@ describe('The ExcaliburGraphicsContext', () => { sut.flush(); // assert - await expect(canvasElement).toEqualImage('/src/spec/assets/images/ExcaliburGraphicsContextSpec/rasters.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/excalibur-graphics-context-spec/rasters.png'); sut.dispose(); }); }); diff --git a/src/spec/vitest/FadeInOutSpec.ts b/src/spec/vitest/fade-in-out-spec.ts similarity index 95% rename from src/spec/vitest/FadeInOutSpec.ts rename to src/spec/vitest/fade-in-out-spec.ts index 49f1534e..9fc443dd 100644 --- a/src/spec/vitest/FadeInOutSpec.ts +++ b/src/spec/vitest/fade-in-out-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A FadeInOut transition', () => { it('exists', () => { @@ -47,7 +47,7 @@ describe('A FadeInOut transition', () => { clock.step(500); await Promise.resolve(); expect(onDeactivateSpy).toHaveBeenCalledTimes(1); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/FadeInOutSpec/fadein.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/fade-in-out-spec/fadein.png'); engine.dispose(); }); @@ -80,7 +80,7 @@ describe('A FadeInOut transition', () => { await TestUtils.flushMicrotasks(clock, 3); clock.step(900); await Promise.resolve(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/FadeInOutSpec/fadeout.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/fade-in-out-spec/fadeout.png'); engine.dispose(); }); }); diff --git a/src/spec/vitest/FlagsSpec.ts b/src/spec/vitest/flags-spec.ts similarity index 100% rename from src/spec/vitest/FlagsSpec.ts rename to src/spec/vitest/flags-spec.ts diff --git a/src/spec/vitest/FontSourceSpec.ts b/src/spec/vitest/font-source-spec.ts similarity index 100% rename from src/spec/vitest/FontSourceSpec.ts rename to src/spec/vitest/font-source-spec.ts diff --git a/src/spec/vitest/FrameStatsSpec.ts b/src/spec/vitest/frame-stats-spec.ts similarity index 96% rename from src/spec/vitest/FrameStatsSpec.ts rename to src/spec/vitest/frame-stats-spec.ts index 06f6380d..0a5a7b2b 100644 --- a/src/spec/vitest/FrameStatsSpec.ts +++ b/src/spec/vitest/frame-stats-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; -import { Mocks } from '../__util__/Mocks'; +import { TestUtils } from '../__util__/test-utils'; +import { Mocks } from '../__util__/mocks'; import type { TestClock } from '@excalibur'; describe('The engine', () => { diff --git a/src/spec/vitest/FutureSpec.ts b/src/spec/vitest/future-spec.ts similarity index 100% rename from src/spec/vitest/FutureSpec.ts rename to src/spec/vitest/future-spec.ts diff --git a/src/spec/vitest/GamepadSpec.ts b/src/spec/vitest/gamepad-spec.ts similarity index 98% rename from src/spec/vitest/GamepadSpec.ts rename to src/spec/vitest/gamepad-spec.ts index 38f0b1e7..f769d227 100644 --- a/src/spec/vitest/GamepadSpec.ts +++ b/src/spec/vitest/gamepad-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; -import { Mocks } from '../__util__/Mocks'; +import { TestUtils } from '../__util__/test-utils'; +import { Mocks } from '../__util__/mocks'; describe('A gamepad', () => { let engine: ex.Engine; diff --git a/src/spec/vitest/GarbageCollectorSpec.ts b/src/spec/vitest/garbage-collector-spec.ts similarity index 100% rename from src/spec/vitest/GarbageCollectorSpec.ts rename to src/spec/vitest/garbage-collector-spec.ts diff --git a/src/spec/vitest/GifSpec.ts b/src/spec/vitest/gif-spec.ts similarity index 85% rename from src/spec/vitest/GifSpec.ts rename to src/spec/vitest/gif-spec.ts index 3a1648b3..c2f22449 100644 --- a/src/spec/vitest/GifSpec.ts +++ b/src/spec/vitest/gif-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Gif', () => { let engine: ex.Engine; @@ -10,7 +10,7 @@ describe('A Gif', () => { height: 100 }); - gif = new ex.Gif('/src/spec/assets/images/GifSpec/sword.gif'); + gif = new ex.Gif('/src/spec/assets/images/gif-spec/sword.gif'); }); afterEach(() => { engine.stop(); @@ -29,7 +29,7 @@ describe('A Gif', () => { describe('@visual', () => { it('should parse gifs that have lct & anim params', async () => { - const sut = new ex.Gif('/src/spec/assets/images/GifSpec/loading-screen.gif'); + const sut = new ex.Gif('/src/spec/assets/images/gif-spec/loading-screen.gif'); await sut.load(); const sprite = sut.toSprite(20); @@ -38,11 +38,11 @@ describe('A Gif', () => { sprite.draw(engine.graphicsContext, 0, 0); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GifSpec/loading-frame-20.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gif-spec/loading-frame-20.png'); }); it('should parse gifs that have animations with sub frames', async () => { - const sut = new ex.Gif('/src/spec/assets/images/GifSpec/stoplight.gif'); + const sut = new ex.Gif('/src/spec/assets/images/gif-spec/stoplight.gif'); await sut.load(); expect(sut.isLoaded()).toBe(true); @@ -50,19 +50,19 @@ describe('A Gif', () => { sprite2.draw(engine.graphicsContext, 0, 0); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GifSpec/stoplight-frame-3.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gif-spec/stoplight-frame-3.png'); const sprite1 = sut.toSprite(1); sprite1.draw(engine.graphicsContext, 0, 0); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GifSpec/stoplight-frame-2.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gif-spec/stoplight-frame-2.png'); const sprite0 = sut.toSprite(0); sprite0.draw(engine.graphicsContext, 0, 0); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GifSpec/stoplight-frame-1.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gif-spec/stoplight-frame-1.png'); }); it('should load each frame', async () => { @@ -79,7 +79,7 @@ describe('A Gif', () => { sprite.draw(engine.graphicsContext, 0, 0); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GifSpec/frame1.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gif-spec/frame1.png'); engine.graphicsContext.backgroundColor = ex.Color.Transparent; engine.graphicsContext.clear(); @@ -88,7 +88,7 @@ describe('A Gif', () => { sprite.draw(engine.graphicsContext, 0, 0); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GifSpec/frame2.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gif-spec/frame2.png'); }); it('should be read as a SpriteSheet', async () => { @@ -99,7 +99,7 @@ describe('A Gif', () => { sprite.draw(engine.graphicsContext, 0, 0); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GifSpec/frame1.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gif-spec/frame1.png'); }); it('should be read as an Animation', async () => { @@ -114,7 +114,7 @@ describe('A Gif', () => { frame2.graphic.draw(engine.graphicsContext, 0, 0); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GifSpec/frame2.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gif-spec/frame2.png'); }); }); }); diff --git a/src/spec/vitest/GpuParticleSpec.ts b/src/spec/vitest/gpu-particle-spec.ts similarity index 98% rename from src/spec/vitest/GpuParticleSpec.ts rename to src/spec/vitest/gpu-particle-spec.ts index 4df81e40..170a3da9 100644 --- a/src/spec/vitest/GpuParticleSpec.ts +++ b/src/spec/vitest/gpu-particle-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A GPU particle', () => { let engine: ex.Engine; @@ -126,7 +126,7 @@ describe('A GPU particle', () => { engine.currentScene.update(engine, 100); engine.currentScene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GpuParticlesSpec/particles.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gpu-particles-spec/particles.png'); }); it('should clear particles', async () => { @@ -169,7 +169,7 @@ describe('A GPU particle', () => { engine.currentScene.update(engine, 100); engine.currentScene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GpuParticlesSpec/clear.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gpu-particles-spec/clear.png'); }); it("should emit particles and wrap it's ring buffer", async () => { @@ -226,7 +226,7 @@ describe('A GPU particle', () => { engine.currentScene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GpuParticlesSpec/particles-wrapped.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/gpu-particles-spec/particles-wrapped.png'); }); it('can be parented', async () => { @@ -276,7 +276,7 @@ describe('A GPU particle', () => { engine.currentScene.update(engine, 100); engine.currentScene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/ParticleSpec/parented.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/particle-spec/parented.png'); }); }); diff --git a/src/spec/vitest/GraphSpec.ts b/src/spec/vitest/graph-spec.ts similarity index 100% rename from src/spec/vitest/GraphSpec.ts rename to src/spec/vitest/graph-spec.ts diff --git a/src/spec/vitest/GraphicSpec.ts b/src/spec/vitest/graphic-spec.ts similarity index 95% rename from src/spec/vitest/GraphicSpec.ts rename to src/spec/vitest/graphic-spec.ts index 1fb02080..760de22f 100644 --- a/src/spec/vitest/GraphicSpec.ts +++ b/src/spec/vitest/graphic-spec.ts @@ -105,7 +105,7 @@ describe('A Graphic', () => { ctx.clear(); const sut = new TestGraphic(); sut.draw(ctx, 25, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicSpec/base.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphic-spec/base.png'); }); it('has local bounds based on the width/height', () => { @@ -118,7 +118,7 @@ describe('A Graphic', () => { const sut = new TestGraphic(); sut.rotation = Math.PI / 4; sut.draw(ctx, 25, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicSpec/rotated.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphic-spec/rotated.png'); }); it('can flip a graphic implementation', async () => { @@ -127,7 +127,7 @@ describe('A Graphic', () => { sut.flipHorizontal = true; sut.flipVertical = true; sut.draw(ctx, 25, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicSpec/flipped.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphic-spec/flipped.png'); }); it('can scale a graphic implementation', async () => { @@ -135,7 +135,7 @@ describe('A Graphic', () => { const sut = new TestGraphic(); sut.scale = ex.vec(2, 2); sut.draw(ctx, 25, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicSpec/scaled.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphic-spec/scaled.png'); }); it('can set opacity on a graphic implementation', async () => { @@ -143,7 +143,7 @@ describe('A Graphic', () => { const sut = new TestGraphic(); sut.opacity = 0.2; sut.draw(ctx, 25, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicSpec/opacity.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphic-spec/opacity.png'); }); it('can show a debug rect', async () => { @@ -151,7 +151,7 @@ describe('A Graphic', () => { const sut = new TestGraphic(); sut.showDebug = true; sut.draw(ctx, 25, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicSpec/debug.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphic-spec/debug.png'); }); }); }); diff --git a/src/spec/vitest/GraphicsComponentSpec.ts b/src/spec/vitest/graphics-component-spec.ts similarity index 99% rename from src/spec/vitest/GraphicsComponentSpec.ts rename to src/spec/vitest/graphics-component-spec.ts index 25cc2868..b48d2ace 100644 --- a/src/spec/vitest/GraphicsComponentSpec.ts +++ b/src/spec/vitest/graphics-component-spec.ts @@ -351,7 +351,7 @@ describe('A Graphics ECS Component', () => { it('correctly calculates graphics bounds (sprite)', () => { const sut = new ex.GraphicsComponent(); - const image = new ex.ImageSource('src/spec/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('src/spec/images/graphics-text-spec/spritefont.png'); const sprite = new ex.Sprite({ image, sourceView: { diff --git a/src/spec/vitest/GraphicsGroupSpec.ts b/src/spec/vitest/graphics-group-spec.ts similarity index 96% rename from src/spec/vitest/GraphicsGroupSpec.ts rename to src/spec/vitest/graphics-group-spec.ts index 6e06d2e1..65495832 100644 --- a/src/spec/vitest/GraphicsGroupSpec.ts +++ b/src/spec/vitest/graphics-group-spec.ts @@ -39,7 +39,7 @@ describe('A Graphics Group', () => { ctx.clear(); group.draw(ctx, 25, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsGroupSpec/graphics-group.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-group-spec/graphics-group.png'); }); it('can be created and drawn without anchor', async () => { @@ -76,7 +76,7 @@ describe('A Graphics Group', () => { ctx.clear(); group.draw(ctx, 100, 100); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsGroupSpec/graphics-group-without-anchor.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-group-spec/graphics-group-without-anchor.png'); }); }); diff --git a/src/spec/vitest/GraphicsSystemSpec.ts b/src/spec/vitest/graphics-system-spec.ts similarity index 95% rename from src/spec/vitest/GraphicsSystemSpec.ts rename to src/spec/vitest/graphics-system-spec.ts index 00458218..d7c175d1 100644 --- a/src/spec/vitest/GraphicsSystemSpec.ts +++ b/src/spec/vitest/graphics-system-spec.ts @@ -1,7 +1,7 @@ import * as ex from '@excalibur'; import { TransformComponent } from '@excalibur'; -import { GraphicsComponent } from '../../engine/Graphics'; -import { TestUtils } from '../__util__/TestUtils'; +import { GraphicsComponent } from '../../engine/graphics'; +import { TestUtils } from '../__util__/test-utils'; describe('A Graphics ECS System', () => { let entities: ex.Entity[]; @@ -114,7 +114,7 @@ describe('A Graphics ECS System', () => { expect(offscreenRect.draw).not.toHaveBeenCalled(); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GraphicsSystemSpec/graphics-system.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/graphics-system-spec/graphics-system.png'); }); it('will multiply the opacity set on the context', async () => { @@ -148,7 +148,7 @@ describe('A Graphics ECS System', () => { sut.update(1); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GraphicsSystemSpec/graphics-context-opacity.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/graphics-system-spec/graphics-context-opacity.png'); }); it('can flip graphics horizontally', async () => { @@ -161,7 +161,7 @@ describe('A Graphics ECS System', () => { offscreenSystem.initialize(world, engine.currentScene); sut.initialize(world, engine.currentScene); - const sword = new ex.ImageSource('/src/spec/assets/images/GraphicsSystemSpec/sword.png'); + const sword = new ex.ImageSource('/src/spec/assets/images/graphics-system-spec/sword.png'); await sword.load(); const actor = new ex.Actor({ @@ -182,7 +182,7 @@ describe('A Graphics ECS System', () => { sut.update(1); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GraphicsSystemSpec/sword-flip-horizontal.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/graphics-system-spec/sword-flip-horizontal.png'); }); it('can flip graphics vertically', async () => { @@ -195,7 +195,7 @@ describe('A Graphics ECS System', () => { offscreenSystem.initialize(world, engine.currentScene); sut.initialize(world, engine.currentScene); - const sword = new ex.ImageSource('/src/spec/assets/images/GraphicsSystemSpec/sword.png'); + const sword = new ex.ImageSource('/src/spec/assets/images/graphics-system-spec/sword.png'); await sword.load(); const actor = new ex.Actor({ @@ -216,7 +216,7 @@ describe('A Graphics ECS System', () => { sut.update(1); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GraphicsSystemSpec/sword-flip-vertical.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/graphics-system-spec/sword-flip-vertical.png'); }); it('can flip graphics both horizontally and vertically', async () => { @@ -229,7 +229,7 @@ describe('A Graphics ECS System', () => { offscreenSystem.initialize(world, engine.currentScene); sut.initialize(world, engine.currentScene); - const sword = new ex.ImageSource('/src/spec/assets/images/GraphicsSystemSpec/sword.png'); + const sword = new ex.ImageSource('/src/spec/assets/images/graphics-system-spec/sword.png'); await sword.load(); const actor = new ex.Actor({ @@ -251,7 +251,7 @@ describe('A Graphics ECS System', () => { sut.update(1); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GraphicsSystemSpec/sword-flip-both.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/graphics-system-spec/sword-flip-both.png'); }); it('can flip graphics both horizontally and vertically with an offset', async () => { @@ -264,7 +264,7 @@ describe('A Graphics ECS System', () => { offscreenSystem.initialize(world, engine.currentScene); sut.initialize(world, engine.currentScene); - const sword = new ex.ImageSource('/src/spec/assets/images/GraphicsSystemSpec/sword.png'); + const sword = new ex.ImageSource('/src/spec/assets/images/graphics-system-spec/sword.png'); await sword.load(); const actor = new ex.Actor({ @@ -287,7 +287,7 @@ describe('A Graphics ECS System', () => { sut.update(1); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/GraphicsSystemSpec/sword-flip-both-offset.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/graphics-system-spec/sword-flip-both-offset.png'); }); }); diff --git a/src/spec/vitest/ImageSourceSpec.ts b/src/spec/vitest/image-source-spec.ts similarity index 91% rename from src/spec/vitest/ImageSourceSpec.ts rename to src/spec/vitest/image-source-spec.ts index 7ffacf16..3467e70e 100644 --- a/src/spec/vitest/ImageSourceSpec.ts +++ b/src/spec/vitest/image-source-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { ImageRenderer } from '../../engine/Graphics/Context/image-renderer/image-renderer'; +import { ImageRenderer } from '../../engine/graphics/context/image-renderer/image-renderer'; describe('A ImageSource', () => { let canvasElement: HTMLCanvasElement; @@ -24,7 +24,7 @@ describe('A ImageSource', () => { }); it('can be constructed', () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); expect(spriteFontImage).toBeDefined(); }); @@ -38,7 +38,7 @@ describe('A ImageSource', () => { }); it('can load images', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const whenLoaded = vi.fn(); const image = await spriteFontImage.load(); await spriteFontImage.ready.then(whenLoaded); @@ -70,7 +70,7 @@ describe('A ImageSource', () => { }); it('can load svg images', async () => { - const svgImage = new ex.ImageSource('/src/spec/assets/images/GraphicsImageSourceSpec/arrows.svg'); + const svgImage = new ex.ImageSource('/src/spec/assets/images/graphics-image-source-spec/arrows.svg'); const whenLoaded = vi.fn(); await svgImage.load(); await svgImage.ready.then(whenLoaded); @@ -94,12 +94,12 @@ describe('A ImageSource', () => { vi.spyOn(logger, 'warn'); vi.spyOn(logger, 'error'); - const sut = new ex.ImageSource('/src/spec/assets/images/GraphicsImageSourceSpec/big-image.png'); + const sut = new ex.ImageSource('/src/spec/assets/images/graphics-image-source-spec/big-image.png'); await sut.load(); expect(logger.warn).toHaveBeenCalledWith( - `The image [/src/spec/assets/images/GraphicsImageSourceSpec/big-image.png] provided to excalibur` + + `The image [/src/spec/assets/images/graphics-image-source-spec/big-image.png] provided to excalibur` + ` is too large may not work on all mobile devices, it is recommended you resize images to a maximum (4096x4096).\n\n` + `Images will likely render as black rectangles on some mobile platforms.\n\n` + `Read more here: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits` @@ -122,12 +122,12 @@ describe('A ImageSource', () => { (ex.TextureLoader as any)._MAX_TEXTURE_SIZE = 4096; - const sut = new ex.ImageSource('/src/spec/assets/images/GraphicsImageSourceSpec/big-image.png'); + const sut = new ex.ImageSource('/src/spec/assets/images/graphics-image-source-spec/big-image.png'); await sut.load(); expect(logger.error).toHaveBeenCalledWith( - `The image [/src/spec/assets/images/GraphicsImageSourceSpec/big-image.png] provided to Excalibur is too large for the device's maximum ` + + `The image [/src/spec/assets/images/graphics-image-source-spec/big-image.png] provided to Excalibur is too large for the device's maximum ` + `texture size of (4096x4096) please resize to an image for excalibur to render properly.\n\n` + `Images will likely render as black rectangles.\n\n` + `Read more here: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits` @@ -143,7 +143,11 @@ describe('A ImageSource', () => { imageRenderer.initialize(webgl.__gl, webgl); vi.spyOn(webgl.textureLoader, 'load'); - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png', false, ex.ImageFiltering.Blended); + const spriteFontImage = new ex.ImageSource( + '/src/spec/assets/images/graphics-text-spec/spritefont.png', + false, + ex.ImageFiltering.Blended + ); const whenLoaded = vi.fn(); const image = await spriteFontImage.load(); await spriteFontImage.ready.then(whenLoaded); @@ -174,7 +178,7 @@ describe('A ImageSource', () => { imageRenderer.initialize(webgl.__gl, webgl); vi.spyOn(webgl.textureLoader, 'load'); - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png', false, ex.ImageFiltering.Pixel); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png', false, ex.ImageFiltering.Pixel); const whenLoaded = vi.fn(); const image = await spriteFontImage.load(); await spriteFontImage.ready.then(whenLoaded); @@ -205,7 +209,7 @@ describe('A ImageSource', () => { imageRenderer.initialize(webgl.__gl, webgl); vi.spyOn(webgl.textureLoader, 'load'); - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png', { + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png', { filtering: ex.ImageFiltering.Pixel, wrapping: ex.ImageWrapping.Repeat }); @@ -239,7 +243,7 @@ describe('A ImageSource', () => { imageRenderer.initialize(webgl.__gl, webgl); vi.spyOn(webgl.textureLoader, 'load'); - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png', { + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png', { filtering: ex.ImageFiltering.Pixel, wrapping: ex.ImageWrapping.Mirror }); @@ -275,7 +279,7 @@ describe('A ImageSource', () => { const texParameteri = vi.spyOn(webgl.__gl, 'texParameteri'); const gl = webgl.__gl; - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png', { + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png', { filtering: ex.ImageFiltering.Pixel, wrapping: { x: ex.ImageWrapping.Mirror, @@ -306,7 +310,7 @@ describe('A ImageSource', () => { }); it('can convert to a Sprite', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const sprite = spriteFontImage.toSprite(); // Sprites have no width/height until the underlying image is loaded @@ -320,7 +324,7 @@ describe('A ImageSource', () => { }); it('can convert to a Sprite with options', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const sprite = spriteFontImage.toSprite({ sourceView: { x: 16, @@ -345,7 +349,7 @@ describe('A ImageSource', () => { }); it('can unload from memory', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); expect(spriteFontImage.image.src).not.toBeNull(); spriteFontImage.unload(); @@ -353,7 +357,7 @@ describe('A ImageSource', () => { }); it('will resolve the image if already loaded', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const image = await spriteFontImage.load(); expect(spriteFontImage.isLoaded()).toBe(true); @@ -397,7 +401,7 @@ describe('A ImageSource', () => { sprite.draw(ctx, 0, 0); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsImageSourceSpec/canvas-image.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-image-source-spec/canvas-image.png'); }); it('can be built from canvas elements with wrapping/filtering specified', async () => { @@ -435,7 +439,7 @@ describe('A ImageSource', () => { sprite.draw(ctx, 0, 0); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsImageSourceSpec/canvas-image.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-image-source-spec/canvas-image.png'); }); }); }); diff --git a/src/spec/vitest/InputMapperSpec.ts b/src/spec/vitest/input-mapper-spec.ts similarity index 97% rename from src/spec/vitest/InputMapperSpec.ts rename to src/spec/vitest/input-mapper-spec.ts index 55d07ad1..24f62966 100644 --- a/src/spec/vitest/InputMapperSpec.ts +++ b/src/spec/vitest/input-mapper-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('An InputMapper', () => { it('exists', () => { diff --git a/src/spec/vitest/IntegratorSpec.ts b/src/spec/vitest/integrator-spec.ts similarity index 97% rename from src/spec/vitest/IntegratorSpec.ts rename to src/spec/vitest/integrator-spec.ts index aaa03c4b..bec35e5c 100644 --- a/src/spec/vitest/IntegratorSpec.ts +++ b/src/spec/vitest/integrator-spec.ts @@ -1,5 +1,5 @@ import { TransformComponent, MotionComponent, Vector } from '../../engine'; -import { EulerIntegrator } from '../../engine/Collision/Integrator'; +import { EulerIntegrator } from '../../engine/collision/integrator'; describe('EulerIntegrator', () => { it('applies motion velocity', () => { diff --git a/src/spec/vitest/IsometricMapSpec.ts b/src/spec/vitest/isometric-map-spec.ts similarity index 95% rename from src/spec/vitest/IsometricMapSpec.ts rename to src/spec/vitest/isometric-map-spec.ts index 27f61bf4..fa79cfcf 100644 --- a/src/spec/vitest/IsometricMapSpec.ts +++ b/src/spec/vitest/isometric-map-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A IsometricMap', () => { it('exists', () => { @@ -24,7 +24,7 @@ describe('A IsometricMap', () => { const engine = TestUtils.engine({}, ['suppress-obsolete-message']); // engine.toggleDebug(); const clock = engine.clock as ex.TestClock; - const image = new ex.ImageSource('/src/spec/assets/images/IsometricMapSpec/tile.png'); + const image = new ex.ImageSource('/src/spec/assets/images/isometric-map-spec/tile.png'); await image.load(); const sprite = image.toSprite(); await TestUtils.runToReady(engine); @@ -42,7 +42,7 @@ describe('A IsometricMap', () => { engine.add(sut); clock.step(100); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/IsometricMapSpec/map.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/isometric-map-spec/map.png'); engine.dispose(); }); @@ -50,7 +50,7 @@ describe('A IsometricMap', () => { const engine = TestUtils.engine({}, ['suppress-obsolete-message']); // engine.toggleDebug(); const clock = engine.clock as ex.TestClock; - const image = new ex.ImageSource('/src/spec/assets/images/IsometricMapSpec/cube.png'); + const image = new ex.ImageSource('/src/spec/assets/images/isometric-map-spec/cube.png'); await image.load(); const sprite = image.toSprite(); await TestUtils.runToReady(engine); @@ -69,7 +69,7 @@ describe('A IsometricMap', () => { engine.add(sut); clock.step(100); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/IsometricMapSpec/cube-map-top.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/isometric-map-spec/cube-map-top.png'); engine.dispose(); }); @@ -77,7 +77,7 @@ describe('A IsometricMap', () => { const engine = TestUtils.engine({}, ['suppress-obsolete-message']); // engine.toggleDebug(); const clock = engine.clock as ex.TestClock; - const image = new ex.ImageSource('/src/spec/assets/images/IsometricMapSpec/cube.png'); + const image = new ex.ImageSource('/src/spec/assets/images/isometric-map-spec/cube.png'); await image.load(); const sprite = image.toSprite(); await TestUtils.runToReady(engine); @@ -95,7 +95,7 @@ describe('A IsometricMap', () => { engine.add(sut); clock.step(100); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/IsometricMapSpec/cube-map-bottom.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/isometric-map-spec/cube-map-bottom.png'); engine.dispose(); }); @@ -109,7 +109,7 @@ describe('A IsometricMap', () => { engine.debug.isometric.showGrid = true; engine.debug.isometric.showPosition = true; const clock = engine.clock as ex.TestClock; - const image = new ex.ImageSource('/src/spec/assets/images/IsometricMapSpec/cube.png'); + const image = new ex.ImageSource('/src/spec/assets/images/isometric-map-spec/cube.png'); await image.load(); const sprite = image.toSprite(); await TestUtils.runToReady(engine); @@ -127,7 +127,7 @@ describe('A IsometricMap', () => { engine.add(sut); clock.step(100); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/IsometricMapSpec/cube-map-debug.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/isometric-map-spec/cube-map-debug.png'); engine.dispose(); }); }); @@ -243,7 +243,7 @@ describe('A IsometricMap', () => { }); it('can update graphics', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/IsometricMapSpec/cube.png'); + const image = new ex.ImageSource('/src/spec/assets/images/isometric-map-spec/cube.png'); await image.load(); const sprite = image.toSprite(); diff --git a/src/spec/vitest/KeyInputSpec.ts b/src/spec/vitest/key-input-spec.ts similarity index 98% rename from src/spec/vitest/KeyInputSpec.ts rename to src/spec/vitest/key-input-spec.ts index ab3bd286..8b8a30a7 100644 --- a/src/spec/vitest/KeyInputSpec.ts +++ b/src/spec/vitest/key-input-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { Mocks } from '../__util__/Mocks'; +import { Mocks } from '../__util__/mocks'; describe('A keyboard', () => { let mockWindow = null; diff --git a/src/spec/vitest/LabelSpec.ts b/src/spec/vitest/label-spec.ts similarity index 96% rename from src/spec/vitest/LabelSpec.ts rename to src/spec/vitest/label-spec.ts index 559934e0..1e956f35 100644 --- a/src/spec/vitest/LabelSpec.ts +++ b/src/spec/vitest/label-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A label', () => { let label: ex.Label; @@ -56,7 +56,7 @@ describe('A label', () => { }); it('can be constructed with a spritefont', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); diff --git a/src/spec/vitest/LineSegmentSpec.ts b/src/spec/vitest/line-segment-spec.ts similarity index 100% rename from src/spec/vitest/LineSegmentSpec.ts rename to src/spec/vitest/line-segment-spec.ts diff --git a/src/spec/vitest/LineSpec.ts b/src/spec/vitest/line-spec.ts similarity index 96% rename from src/spec/vitest/LineSpec.ts rename to src/spec/vitest/line-spec.ts index 9b5f8f15..1edc47b1 100644 --- a/src/spec/vitest/LineSpec.ts +++ b/src/spec/vitest/line-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Line', () => { it('exists', () => { @@ -85,7 +85,7 @@ describe('A Line', () => { sut.draw(ctx, 0, 0); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/LineSpec/line.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/line-spec/line.png'); }); it('can draw a line when added to a graphics component', async () => { @@ -115,7 +115,7 @@ describe('A Line', () => { testClock.step(16); - await expect(game.canvas).toEqualImage('/src/spec/assets/images/LineSpec/line.png'); + await expect(game.canvas).toEqualImage('/src/spec/assets/images/line-spec/line.png'); game.dispose(); }); diff --git a/src/spec/vitest/LoaderSpec.ts b/src/spec/vitest/loader-spec.ts similarity index 95% rename from src/spec/vitest/LoaderSpec.ts rename to src/spec/vitest/loader-spec.ts index 6a20c644..9bcd0f5e 100644 --- a/src/spec/vitest/LoaderSpec.ts +++ b/src/spec/vitest/loader-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A loader', () => { let engine: ex.Engine; @@ -65,7 +65,7 @@ describe('A loader', () => { loader.onInitialize(engine); loader.onDraw(loader.canvas.ctx); expect(loader.canvas.ctx.canvas) - .toHaveLoadedImages(['/src/spec/assets/images/LoaderSpec/zero.png']) + .toHaveLoadedImages(['/src/spec/assets/images/loader-spec/zero.png']) .then(() => { done(); }); @@ -82,7 +82,7 @@ describe('A loader', () => { loader.onInitialize(engine); loader.onDraw(loader.canvas.ctx); expect(loader.canvas.ctx.canvas) - .toHaveLoadedImages(['/src/spec/assets/images/LoaderSpec/fifty.png']) + .toHaveLoadedImages(['/src/spec/assets/images/loader-spec/fifty.png']) .then(() => { done(); }); @@ -101,7 +101,7 @@ describe('A loader', () => { loader.onInitialize(engine); loader.onDraw(loader.canvas.ctx); expect(loader.canvas.ctx.canvas) - .toHaveLoadedImages(['/src/spec/assets/images/LoaderSpec/100.png']) + .toHaveLoadedImages(['/src/spec/assets/images/loader-spec/100.png']) .then(() => { done(); }); @@ -121,7 +121,7 @@ describe('A loader', () => { loader.onDraw(loader.canvas.ctx); expect(loader.canvas.ctx.canvas) - .toHaveLoadedImages(['/src/spec/assets/images/LoaderSpec/playbuttonshown-noprogressbar.png']) + .toHaveLoadedImages(['/src/spec/assets/images/loader-spec/playbuttonshown-noprogressbar.png']) .then(() => { done(); }); @@ -149,7 +149,7 @@ describe('A loader', () => { loader.showPlayButton(); loader.onDraw(loader.canvas.ctx); expect(loader.canvas.ctx.canvas) - .toHaveLoadedImages(['/src/spec/assets/images/LoaderSpec/logo-position.png']) + .toHaveLoadedImages(['/src/spec/assets/images/loader-spec/logo-position.png']) .then(() => { done(); }); @@ -169,7 +169,7 @@ describe('A loader', () => { loader.onInitialize(engine); loader.onDraw(loader.canvas.ctx); expect(loader.canvas.ctx.canvas) - .toHaveLoadedImages(['/src/spec/assets/images/LoaderSpec/loader-position-color.png']) + .toHaveLoadedImages(['/src/spec/assets/images/loader-spec/loader-position-color.png']) .then(() => { done(); }); @@ -252,7 +252,7 @@ describe('A loader', () => { const clock = (engine.clock = engine.clock.toTestClock()); const pointerHandler = vi.fn(); engine.input.pointers.primary.on('up', pointerHandler); - const loader = new ex.Loader([new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png')]); + const loader = new ex.Loader([new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png')]); const start = engine.start(loader); await loader.areResourcesLoaded(); @@ -401,7 +401,7 @@ describe('A loader', () => { ); const testClock = engine.clock as ex.TestClock; - const loader = new ex.Loader([new ex.ImageSource('/src/spec/assets/images/SpriteSpec/icon.png')]); + const loader = new ex.Loader([new ex.ImageSource('/src/spec/assets/images/sprite-spec/icon.png')]); loader.suppressPlayButton = true; TestUtils.runToReady(engine, loader).then(() => { @@ -409,7 +409,7 @@ describe('A loader', () => { testClock.step(1); engine.graphicsContext.flush(); expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/EngineSpec/engine-suppress-play.png') + .toEqualImage('/src/spec/assets/images/engine-spec/engine-suppress-play.png') .then(() => { done(); }) diff --git a/src/spec/vitest/LogSpec.ts b/src/spec/vitest/log-spec.ts similarity index 100% rename from src/spec/vitest/LogSpec.ts rename to src/spec/vitest/log-spec.ts diff --git a/src/spec/vitest/MaterialRendererSpec.ts b/src/spec/vitest/material-renderer-spec.ts similarity index 93% rename from src/spec/vitest/MaterialRendererSpec.ts rename to src/spec/vitest/material-renderer-spec.ts index d2bfe9cc..71751896 100644 --- a/src/spec/vitest/MaterialRendererSpec.ts +++ b/src/spec/vitest/material-renderer-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Material', () => { let engine: ex.Engine; @@ -104,7 +104,7 @@ describe('A Material', () => { }` }); - const tex = new ex.ImageSource('/src/spec/assets/images/MaterialRendererSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/material-renderer-spec/sword.png'); await tex.load(); graphicsContext.clear(); @@ -115,7 +115,7 @@ describe('A Material', () => { graphicsContext.restore(); expect(graphicsContext.material).toBe(null); - await expect(canvas).toEqualImage('/src/spec/assets/images/MaterialRendererSpec/material.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/material-renderer-spec/material.png'); graphicsContext.dispose(); }); @@ -147,7 +147,7 @@ describe('A Material', () => { }` }); - const tex = new ex.ImageSource('/src/spec/assets/images/MaterialRendererSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/material-renderer-spec/sword.png'); await tex.load(); context.clear(); @@ -158,7 +158,7 @@ describe('A Material', () => { context.restore(); expect(context.material).toBe(null); - await expect(canvas).toEqualImage('/src/spec/assets/images/MaterialRendererSpec/multiply-comp.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/material-renderer-spec/multiply-comp.png'); context.dispose(); }); @@ -191,7 +191,7 @@ describe('A Material', () => { }` }); - const tex = new ex.ImageSource('/src/spec/assets/images/MaterialRendererSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/material-renderer-spec/sword.png'); await tex.load(); context.clear(); @@ -205,7 +205,7 @@ describe('A Material', () => { context.restore(); expect(context.material).toBe(null); - await expect(canvas).toEqualImage('/src/spec/assets/images/MaterialRendererSpec/update-uniform.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/material-renderer-spec/update-uniform.png'); }); it('can be created with a custom fragment shader with the graphics component', async () => { @@ -237,7 +237,7 @@ describe('A Material', () => { }` }); - const tex = new ex.ImageSource('/src/spec/assets/images/MaterialRendererSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/material-renderer-spec/sword.png'); const loader = new ex.Loader([tex]); @@ -258,7 +258,7 @@ describe('A Material', () => { graphicsContext.flush(); expect(graphicsContext.material).toBe(null); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/MaterialRendererSpec/material-component.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/material-renderer-spec/material-component.png'); engine.dispose(); }); @@ -296,7 +296,7 @@ describe('A Material', () => { }` }); - const tex = new ex.ImageSource('/src/spec/assets/images/MaterialRendererSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/material-renderer-spec/sword.png'); const loader = new ex.Loader([tex]); @@ -327,7 +327,7 @@ describe('A Material', () => { graphicsContext.flush(); expect(graphicsContext.material).toBe(null); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/MaterialRendererSpec/multi-mat.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/material-renderer-spec/multi-mat.png'); engine.dispose(); }); @@ -343,7 +343,7 @@ describe('A Material', () => { snapToPixel: true }); - const stars = new ex.ImageSource('/src/spec/assets/images/MaterialRendererSpec/stars.png'); + const stars = new ex.ImageSource('/src/spec/assets/images/material-renderer-spec/stars.png'); await stars.load(); const material = new ex.Material({ @@ -370,7 +370,7 @@ describe('A Material', () => { } }); - const tex = new ex.ImageSource('/src/spec/assets/images/MaterialRendererSpec/sword.png'); + const tex = new ex.ImageSource('/src/spec/assets/images/material-renderer-spec/sword.png'); await tex.load(); graphicsContext.clear(); @@ -381,7 +381,7 @@ describe('A Material', () => { graphicsContext.restore(); expect(graphicsContext.material).toBe(null); - await expect(canvas).toEqualImage('/src/spec/assets/images/MaterialRendererSpec/additional.png'); + await expect(canvas).toEqualImage('/src/spec/assets/images/material-renderer-spec/additional.png'); }); it('will log a warning if you exceed you texture slots', () => { @@ -398,7 +398,7 @@ describe('A Material', () => { snapToPixel: true }); - const stars = new ex.ImageSource('/src/spec/assets/images/MaterialRendererSpec/stars.png'); + const stars = new ex.ImageSource('/src/spec/assets/images/material-renderer-spec/stars.png'); const material = new ex.Material({ name: 'test', diff --git a/src/spec/vitest/MathSpec.ts b/src/spec/vitest/math-spec.ts similarity index 100% rename from src/spec/vitest/MathSpec.ts rename to src/spec/vitest/math-spec.ts diff --git a/src/spec/vitest/MatrixSpec.ts b/src/spec/vitest/matrix-spec.ts similarity index 100% rename from src/spec/vitest/MatrixSpec.ts rename to src/spec/vitest/matrix-spec.ts diff --git a/src/spec/vitest/MotionComponentSpec.ts b/src/spec/vitest/motion-component-spec.ts similarity index 100% rename from src/spec/vitest/MotionComponentSpec.ts rename to src/spec/vitest/motion-component-spec.ts diff --git a/src/spec/vitest/NineSliceSpec.ts b/src/spec/vitest/nine-slice-spec.ts similarity index 90% rename from src/spec/vitest/NineSliceSpec.ts rename to src/spec/vitest/nine-slice-spec.ts index 13e1217a..a9f6e09c 100644 --- a/src/spec/vitest/NineSliceSpec.ts +++ b/src/spec/vitest/nine-slice-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; -const inputTile = new ex.ImageSource('/src/spec/assets/images/GraphicsNineSliceSpec/InputTile.png'); +const inputTile = new ex.ImageSource('/src/spec/assets/images/graphics-nine-slice-spec/inputtile.png'); describe('A NineSlice', () => { let canvasElement: HTMLCanvasElement; @@ -170,7 +170,7 @@ describe('A NineSlice', () => { ctx.clear(); const sut = new ex.NineSlice(testGraphicConfigSmall); sut.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsNineSliceSpec/InputTile.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-nine-slice-spec/inputtile.png'); }); it('can draw a tiled copy of input tile', async () => { @@ -179,7 +179,7 @@ describe('A NineSlice', () => { ctx.clear(); const sut = new ex.NineSlice(testGraphicConfigTile); sut.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tile_h_tile.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tile_h_tile.png'); }); it('can draw a fitted tile copy of input tile', async () => { @@ -188,7 +188,9 @@ describe('A NineSlice', () => { ctx.clear(); const sut = new ex.NineSlice(testGraphicConfigTileFit); sut.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_tilefit_h_tilefit.png'); + await expect(canvasElement).toEqualImage( + '/src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_tilefit_h_tilefit.png' + ); }); it('can draw a stretched copy of input tile', async () => { @@ -197,7 +199,9 @@ describe('A NineSlice', () => { ctx.clear(); const sut = new ex.NineSlice(testGraphicConfigStretch); sut.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_128_128_v_stretch_h_stretch.png'); + await expect(canvasElement).toEqualImage( + '/src/spec/assets/images/graphics-nine-slice-spec/resultimage_128_128_v_stretch_h_stretch.png' + ); }); it('can draw the frame of a tile with no center', async () => { @@ -206,7 +210,7 @@ describe('A NineSlice', () => { ctx.clear(); const sut = new ex.NineSlice(testGraphicConfigNoCenter); sut.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsNineSliceSpec/resultImage_64_64_noCenter.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-nine-slice-spec/resultimage_64_64_noCenter.png'); }); }); }); diff --git a/src/spec/vitest/OffscreenSystemSpec.ts b/src/spec/vitest/offscreen-system-spec.ts similarity index 97% rename from src/spec/vitest/OffscreenSystemSpec.ts rename to src/spec/vitest/offscreen-system-spec.ts index 86c71d4e..a60e7988 100644 --- a/src/spec/vitest/OffscreenSystemSpec.ts +++ b/src/spec/vitest/offscreen-system-spec.ts @@ -1,7 +1,7 @@ import * as ex from '@excalibur'; import { GraphicsComponent, TransformComponent } from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('The OffscreenSystem', () => { let entities: ex.Entity[]; diff --git a/src/spec/vitest/PairSpec.ts b/src/spec/vitest/pair-spec.ts similarity index 100% rename from src/spec/vitest/PairSpec.ts rename to src/spec/vitest/pair-spec.ts diff --git a/src/spec/vitest/ParallaxSpec.ts b/src/spec/vitest/parallax-spec.ts similarity index 93% rename from src/spec/vitest/ParallaxSpec.ts rename to src/spec/vitest/parallax-spec.ts index 74cf8986..56f892d9 100644 --- a/src/spec/vitest/ParallaxSpec.ts +++ b/src/spec/vitest/parallax-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Parallax Component', () => { it('exists', () => { @@ -34,14 +34,14 @@ describe('A Parallax Component', () => { expect(game.currentScene.camera.pos).toBeVector(ex.vec(100, 100)); clock.step(16); - await expect(game.canvas).toEqualImage('/src/spec/assets/images/ParallaxSpec/parallax1.png'); + await expect(game.canvas).toEqualImage('/src/spec/assets/images/parallax-spec/parallax1.png'); expect(actor.hasTag('ex.offscreen')).toBe(false); game.currentScene.camera.pos = ex.vec(520, 520); game.currentScene.camera.drawPos = ex.vec(520, 520); clock.step(); expect(game.currentScene.camera.pos).toBeVector(ex.vec(520, 520)); - await expect(game.canvas).toEqualImage('/src/spec/assets/images/ParallaxSpec/parallax2.png'); + await expect(game.canvas).toEqualImage('/src/spec/assets/images/parallax-spec/parallax2.png'); expect(actor.hasTag('ex.offscreen')).toBe(false); game.currentScene.camera.pos = ex.vec(620, 620); @@ -79,14 +79,14 @@ describe('A Parallax Component', () => { clock.step(16); - await expect(game.canvas).toEqualImage('/src/spec/assets/images/ParallaxSpec/tilemap.png'); + await expect(game.canvas).toEqualImage('/src/spec/assets/images/parallax-spec/tilemap.png'); game.currentScene.camera.pos = ex.vec(250, -480); clock.step(16); // seems like there is an out of phase issue clock.step(16); - await expect(game.canvas).toEqualImage('/src/spec/assets/images/ParallaxSpec/tilemap2.png'); + await expect(game.canvas).toEqualImage('/src/spec/assets/images/parallax-spec/tilemap2.png'); game.dispose(); }); }); diff --git a/src/spec/vitest/ParticleSpec.ts b/src/spec/vitest/particle-spec.ts similarity index 98% rename from src/spec/vitest/ParticleSpec.ts rename to src/spec/vitest/particle-spec.ts index e2402cf6..4b7d2c0a 100644 --- a/src/spec/vitest/ParticleSpec.ts +++ b/src/spec/vitest/particle-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A particle', () => { let engine: ex.Engine; @@ -126,7 +126,7 @@ describe('A particle', () => { engine.currentScene.update(engine, 100); engine.currentScene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/ParticleSpec/Particles.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/particle-spec/Particles.png'); }); it('should clear particles', async () => { @@ -169,7 +169,7 @@ describe('A particle', () => { engine.currentScene.update(engine, 100); engine.currentScene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/ParticleSpec/clear.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/particle-spec/clear.png'); }); it('can be parented', async () => { @@ -219,7 +219,7 @@ describe('A particle', () => { engine.currentScene.update(engine, 100); engine.currentScene.draw(engine.graphicsContext, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/ParticleSpec/parented.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/particle-spec/parented.png'); }); }); diff --git a/src/spec/vitest/PhysicsWorldSpec.ts b/src/spec/vitest/physics-world-spec.ts similarity index 99% rename from src/spec/vitest/PhysicsWorldSpec.ts rename to src/spec/vitest/physics-world-spec.ts index 0843d8ce..dcc26e30 100644 --- a/src/spec/vitest/PhysicsWorldSpec.ts +++ b/src/spec/vitest/physics-world-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A physics world', () => { beforeEach(() => { diff --git a/src/spec/vitest/PointerInputSpec.ts b/src/spec/vitest/pointer-input-spec.ts similarity index 99% rename from src/spec/vitest/PointerInputSpec.ts rename to src/spec/vitest/pointer-input-spec.ts index eb95b4ec..cfabb4be 100644 --- a/src/spec/vitest/PointerInputSpec.ts +++ b/src/spec/vitest/pointer-input-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A pointer', () => { let engine: ex.Engine = null; diff --git a/src/spec/vitest/PolygonSpec.ts b/src/spec/vitest/polygon-spec.ts similarity index 97% rename from src/spec/vitest/PolygonSpec.ts rename to src/spec/vitest/polygon-spec.ts index 3d9bd943..15a118e4 100644 --- a/src/spec/vitest/PolygonSpec.ts +++ b/src/spec/vitest/polygon-spec.ts @@ -54,7 +54,7 @@ describe('A Polygon Graphic', () => { poly.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsPolygonSpec/poly.png', 0.993); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-polygon-spec/poly.png', 0.993); }); }); }); diff --git a/src/spec/vitest/PoolSpec.ts b/src/spec/vitest/pool-spec.ts similarity index 100% rename from src/spec/vitest/PoolSpec.ts rename to src/spec/vitest/pool-spec.ts diff --git a/src/spec/vitest/PostProcessorSpec.ts b/src/spec/vitest/post-processor-spec.ts similarity index 100% rename from src/spec/vitest/PostProcessorSpec.ts rename to src/spec/vitest/post-processor-spec.ts diff --git a/src/spec/vitest/ProjectionsSpec.ts b/src/spec/vitest/projections-spec.ts similarity index 100% rename from src/spec/vitest/ProjectionsSpec.ts rename to src/spec/vitest/projections-spec.ts diff --git a/src/spec/vitest/QuadIndexBufferSpec.ts b/src/spec/vitest/quad-index-buffer-spec.ts similarity index 100% rename from src/spec/vitest/QuadIndexBufferSpec.ts rename to src/spec/vitest/quad-index-buffer-spec.ts diff --git a/src/spec/vitest/QuadTreeSpec.ts b/src/spec/vitest/quad-tree-spec.ts similarity index 100% rename from src/spec/vitest/QuadTreeSpec.ts rename to src/spec/vitest/quad-tree-spec.ts diff --git a/src/spec/vitest/QueryManagerSpec.ts b/src/spec/vitest/query-manager-spec.ts similarity index 100% rename from src/spec/vitest/QueryManagerSpec.ts rename to src/spec/vitest/query-manager-spec.ts diff --git a/src/spec/vitest/QuerySpec.ts b/src/spec/vitest/query-spec.ts similarity index 100% rename from src/spec/vitest/QuerySpec.ts rename to src/spec/vitest/query-spec.ts diff --git a/src/spec/vitest/RandomSpec.ts b/src/spec/vitest/random-spec.ts similarity index 100% rename from src/spec/vitest/RandomSpec.ts rename to src/spec/vitest/random-spec.ts diff --git a/src/spec/vitest/RasterSpec.ts b/src/spec/vitest/raster-spec.ts similarity index 96% rename from src/spec/vitest/RasterSpec.ts rename to src/spec/vitest/raster-spec.ts index 725de80c..5b338574 100644 --- a/src/spec/vitest/RasterSpec.ts +++ b/src/spec/vitest/raster-spec.ts @@ -1,7 +1,7 @@ import * as ex from '@excalibur'; import { Color } from '@excalibur'; -import type { RasterOptions } from '../../engine/Graphics'; +import type { RasterOptions } from '../../engine/graphics'; class TestRaster extends ex.Raster { constructor(options?: RasterOptions) { @@ -117,7 +117,7 @@ describe('A Raster', () => { sut.draw(ctx, 0, 0); expect(sut.execute).toHaveBeenCalledTimes(1); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsRasterSpec/raster.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-raster-spec/raster.png'); }); it('can have the quality increased', async () => { @@ -126,7 +126,7 @@ describe('A Raster', () => { }); sut.quality = 4; sut.draw(ctx, 25, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsRasterSpec/raster-quality.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-raster-spec/raster-quality.png'); }); }); diff --git a/src/spec/vitest/RaysSpec.ts b/src/spec/vitest/rays-spec.ts similarity index 100% rename from src/spec/vitest/RaysSpec.ts rename to src/spec/vitest/rays-spec.ts diff --git a/src/spec/vitest/RealisticSolverSpec.ts b/src/spec/vitest/realistic-solver-spec.ts similarity index 93% rename from src/spec/vitest/RealisticSolverSpec.ts rename to src/spec/vitest/realistic-solver-spec.ts index 2a618645..ff3fc180 100644 --- a/src/spec/vitest/RealisticSolverSpec.ts +++ b/src/spec/vitest/realistic-solver-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { getDefaultPhysicsConfig } from '../../engine/Collision/PhysicsConfig'; +import { getDefaultPhysicsConfig } from '../../engine/collision/physics-config'; describe('A RealisticSolver', () => { it('should exist', () => { diff --git a/src/spec/vitest/RectangleSpec.ts b/src/spec/vitest/rectangle-spec.ts similarity index 94% rename from src/spec/vitest/RectangleSpec.ts rename to src/spec/vitest/rectangle-spec.ts index 1ff84ac0..f2312299 100644 --- a/src/spec/vitest/RectangleSpec.ts +++ b/src/spec/vitest/rectangle-spec.ts @@ -32,7 +32,7 @@ describe('A Rectangle Graphic', () => { rect.draw(ctx, 25, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsRectSpec/rect.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-rect-spec/rect.png'); }); it('can be cloned', async () => { @@ -55,7 +55,7 @@ describe('A Rectangle Graphic', () => { rect2.draw(ctx, 15, 25); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsRectSpec/clone-rect.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-rect-spec/clone-rect.png'); }); }); }); diff --git a/src/spec/vitest/ResourceSpec.ts b/src/spec/vitest/resource-spec.ts similarity index 92% rename from src/spec/vitest/ResourceSpec.ts rename to src/spec/vitest/resource-spec.ts index 7d721165..253124ba 100644 --- a/src/spec/vitest/ResourceSpec.ts +++ b/src/spec/vitest/resource-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A generic Resource', () => { let resource: ex.Resource; @@ -67,7 +67,7 @@ describe('A generic Resource', () => { it('should load a text resource', () => new Promise((done) => { - const text = new ex.Resource('/src/spec/assets/images/ResourceSpec/textresource.txt', 'text', true); + const text = new ex.Resource('/src/spec/assets/images/resource-spec/textresource.txt', 'text', true); text.load().then((data) => { expect(data).not.toBeNull(); done(); diff --git a/src/spec/vitest/ScaleSpec.ts b/src/spec/vitest/scale-spec.ts similarity index 84% rename from src/spec/vitest/ScaleSpec.ts rename to src/spec/vitest/scale-spec.ts index 1f2941bf..b210e738 100644 --- a/src/spec/vitest/ScaleSpec.ts +++ b/src/spec/vitest/scale-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; -import { Mocks } from '../__util__/Mocks'; +import { TestUtils } from '../__util__/test-utils'; +import { Mocks } from '../__util__/mocks'; describe('A scaled and rotated actor', () => { let actor: ex.Actor; @@ -25,7 +25,7 @@ describe('A scaled and rotated actor', () => { it('is drawn correctly scaled at 90 degrees', () => new Promise((done) => { const clock = engine.clock as ex.TestClock; - const bg = new ex.ImageSource('/src/spec/assets/images/ScaleSpec/logo.png'); + const bg = new ex.ImageSource('/src/spec/assets/images/scale-spec/logo.png'); const loader = new ex.Loader([bg]); TestUtils.runToReady(engine, loader).then(() => { const actor = new ex.Actor({ @@ -44,7 +44,7 @@ describe('A scaled and rotated actor', () => { clock.step(1); expect(engine.canvas) - .toEqualImage('/src/spec/assets/images/ScaleSpec/scale.png') + .toEqualImage('/src/spec/assets/images/scale-spec/scale.png') .then(() => { done(); engine.dispose(); diff --git a/src/spec/vitest/SceneSpec.ts b/src/spec/vitest/scene-spec.ts similarity index 99% rename from src/spec/vitest/SceneSpec.ts rename to src/spec/vitest/scene-spec.ts index 58dfaa36..bb80a0c8 100644 --- a/src/spec/vitest/SceneSpec.ts +++ b/src/spec/vitest/scene-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A scene', () => { let actor: ex.Actor; diff --git a/src/spec/vitest/ScreenAppenderSpec.ts b/src/spec/vitest/screen-appender-spec.ts similarity index 89% rename from src/spec/vitest/ScreenAppenderSpec.ts rename to src/spec/vitest/screen-appender-spec.ts index e5ecd23e..2e32456b 100644 --- a/src/spec/vitest/ScreenAppenderSpec.ts +++ b/src/spec/vitest/screen-appender-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A ScreenAppender', () => { it('exists', () => { @@ -30,12 +30,12 @@ describe('A ScreenAppender', () => { sut.log(ex.LogLevel.Info, ['this is a log']); await TestUtils.runOnWindows(async () => { - await expect(sut.canvas).toEqualImage('/src/spec/assets/images/ScreenAppenderSpec/screen-log.png'); + await expect(sut.canvas).toEqualImage('/src/spec/assets/images/screen-appender-spec/screen-log.png'); }); // FIXME CI chokes on this one for some reason // await TestUtils.runOnLinux(async () => { - // await expect(sut.canvas).toEqualImage('src/spec/assets/images/ScreenAppenderSpec/screen-log-linux.png'); + // await expect(sut.canvas).toEqualImage('src/spec/assets/images/screen-appender-spec/screen-log-linux.png'); // }); engine.dispose(); }); diff --git a/src/spec/vitest/ScreenElementSpec.ts b/src/spec/vitest/screen-element-spec.ts similarity index 95% rename from src/spec/vitest/ScreenElementSpec.ts rename to src/spec/vitest/screen-element-spec.ts index 098ee6b3..852bd785 100644 --- a/src/spec/vitest/ScreenElementSpec.ts +++ b/src/spec/vitest/screen-element-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; import { ScreenElement } from '@excalibur'; describe('A ScreenElement', () => { @@ -123,7 +123,7 @@ describe('A ScreenElement', () => { it('is drawn on the top left with empty constructor', async () => { const game = TestUtils.engine({ width: 720, height: 480 }); const clock = game.clock as ex.TestClock; - const bg = new ex.ImageSource('/src/spec/assets/images/ScreenElementSpec/emptyctor.png'); + const bg = new ex.ImageSource('/src/spec/assets/images/screen-element-spec/emptyctor.png'); const loader = new ex.Loader([bg]); await TestUtils.runToReady(game, loader); const screenElement = new ex.ScreenElement(); @@ -131,7 +131,7 @@ describe('A ScreenElement', () => { game.add(screenElement); game.currentScene.draw(game.graphicsContext, 100); game.graphicsContext.flush(); - await expect(game.canvas).toEqualImage('/src/spec/assets/images/ScreenElementSpec/emptyctor.png'); + await expect(game.canvas).toEqualImage('/src/spec/assets/images/screen-element-spec/emptyctor.png'); game.dispose(); }); }); diff --git a/src/spec/vitest/ScreenSpec.ts b/src/spec/vitest/screen-spec.ts similarity index 100% rename from src/spec/vitest/ScreenSpec.ts rename to src/spec/vitest/screen-spec.ts diff --git a/src/spec/vitest/SemaphoreSpec.ts b/src/spec/vitest/semaphore-spec.ts similarity index 100% rename from src/spec/vitest/SemaphoreSpec.ts rename to src/spec/vitest/semaphore-spec.ts diff --git a/src/spec/vitest/ShaderSpec.ts b/src/spec/vitest/shader-spec.ts similarity index 100% rename from src/spec/vitest/ShaderSpec.ts rename to src/spec/vitest/shader-spec.ts diff --git a/src/spec/vitest/SlideSpec.ts b/src/spec/vitest/slide-spec.ts similarity index 96% rename from src/spec/vitest/SlideSpec.ts rename to src/spec/vitest/slide-spec.ts index 1230d49c..fa82cf85 100644 --- a/src/spec/vitest/SlideSpec.ts +++ b/src/spec/vitest/slide-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Slide transition', () => { it('exists', () => { @@ -46,7 +46,7 @@ describe('A Slide transition', () => { await TestUtils.untilMacrotask(() => engine.currentSceneName !== 'root'); clock.step(500); expect(onDeactivateSpy).toHaveBeenCalledTimes(1); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/SlideSpec/slide-down.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/slide-spec/slide-down.png'); engine.stop(); engine.dispose(); }); @@ -85,7 +85,7 @@ describe('A Slide transition', () => { await TestUtils.untilMacrotask(() => engine.currentSceneName !== 'root'); clock.step(500); expect(onDeactivateSpy).toHaveBeenCalledTimes(1); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/SlideSpec/slide-right.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/slide-spec/slide-right.png'); engine.stop(); engine.dispose(); }); @@ -124,7 +124,7 @@ describe('A Slide transition', () => { await TestUtils.untilMacrotask(() => engine.currentSceneName !== 'root'); clock.step(500); expect(onDeactivateSpy).toHaveBeenCalledTimes(1); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/SlideSpec/slide-left.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/slide-spec/slide-left.png'); engine.stop(); engine.dispose(); }); @@ -163,7 +163,7 @@ describe('A Slide transition', () => { await TestUtils.untilMacrotask(() => engine.currentSceneName !== 'root'); clock.step(500); expect(onDeactivateSpy).toHaveBeenCalledTimes(1); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/SlideSpec/slide-up.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/slide-spec/slide-up.png'); engine.stop(); engine.dispose(); }); @@ -206,7 +206,7 @@ describe('A Slide transition', () => { await TestUtils.untilMacrotask(() => engine.currentSceneName !== 'root'); clock.step(700); expect(onDeactivateSpy).toHaveBeenCalledTimes(1); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/SlideSpec/slide-up-transition.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/slide-spec/slide-up-transition.png'); engine.stop(); engine.dispose(); }); diff --git a/src/spec/vitest/SoundManagerSpec.ts b/src/spec/vitest/sound-manager-spec.ts similarity index 83% rename from src/spec/vitest/SoundManagerSpec.ts rename to src/spec/vitest/sound-manager-spec.ts index c65cf904..7331f114 100644 --- a/src/spec/vitest/SoundManagerSpec.ts +++ b/src/spec/vitest/sound-manager-spec.ts @@ -10,7 +10,7 @@ describe('A SoundManager', () => { const sm = new ex.SoundManager({ channels: ['test'], sounds: { - snd: { sound: new ex.Sound('./../assets/images/SoundSpec/test.mp3'), volume: 0.4, channels: ['test'] } + snd: { sound: new ex.Sound('./../assets/images/sound-spec/test.mp3'), volume: 0.4, channels: ['test'] } } }); }).not.toThrow(); @@ -20,7 +20,7 @@ describe('A SoundManager', () => { const sm = new ex.SoundManager({ channels: ['test'], sounds: { - snd: { sound: new ex.Sound('./../assets/images/SoundSpec/test.mp3'), volume: 0.4, channels: ['test'] } + snd: { sound: new ex.Sound('./../assets/images/sound-spec/test.mp3'), volume: 0.4, channels: ['test'] } } }); @@ -28,7 +28,7 @@ describe('A SoundManager', () => { }); it('can sound volume', () => { - const sound = new ex.Sound('./../assets/images/SoundSpec/test.mp3'); + const sound = new ex.Sound('./../assets/images/sound-spec/test.mp3'); const sm = new ex.SoundManager({ channels: ['test'], @@ -43,7 +43,7 @@ describe('A SoundManager', () => { }); it('can play sound at configured sm volume', () => { - const sound = new ex.Sound('./../assets/images/SoundSpec/test.mp3'); + const sound = new ex.Sound('./../assets/images/sound-spec/test.mp3'); const spy = vi.spyOn(sound, 'play'); spy.mockResolvedValue(true); @@ -60,8 +60,8 @@ describe('A SoundManager', () => { }); it('can edit channels', () => { - const sound = new ex.Sound('./../assets/images/SoundSpec/test.mp3'); - const sound2 = new ex.Sound('./../assets/images/SoundSpec/test.mp3'); + const sound = new ex.Sound('./../assets/images/sound-spec/test.mp3'); + const sound2 = new ex.Sound('./../assets/images/sound-spec/test.mp3'); const spy = vi.spyOn(sound, 'play'); spy.mockResolvedValue(true); @@ -93,8 +93,8 @@ describe('A SoundManager', () => { }); it('can override volume', () => { - const sound = new ex.Sound('./../assets/images/SoundSpec/test.mp3'); - const sound2 = new ex.Sound('./../assets/images/SoundSpec/test.mp3'); + const sound = new ex.Sound('./../assets/images/sound-spec/test.mp3'); + const sound2 = new ex.Sound('./../assets/images/sound-spec/test.mp3'); const spy = vi.spyOn(sound, 'play'); spy.mockResolvedValue(true); @@ -123,8 +123,8 @@ describe('A SoundManager', () => { }); it('can add a new channel', () => { - const sound = new ex.Sound('./../assets/images/SoundSpec/test.mp3'); - const sound2 = new ex.Sound('./../assets/images/SoundSpec/test.mp3'); + const sound = new ex.Sound('./../assets/images/sound-spec/test.mp3'); + const sound2 = new ex.Sound('./../assets/images/sound-spec/test.mp3'); const spy = vi.spyOn(sound, 'play'); spy.mockResolvedValue(true); diff --git a/src/spec/vitest/SoundSpec.ts b/src/spec/vitest/sound-spec.ts similarity index 93% rename from src/spec/vitest/SoundSpec.ts rename to src/spec/vitest/sound-spec.ts index 7fbe1579..8f6be900 100644 --- a/src/spec/vitest/SoundSpec.ts +++ b/src/spec/vitest/sound-spec.ts @@ -1,8 +1,8 @@ import * as ex from '@excalibur'; -import { canPlayFile } from '../../engine/Util/Sound'; -import { delay } from '../../engine/Util/Util'; -import { WebAudio } from '../../engine/Util/WebAudio'; -import { TestUtils } from '../__util__/TestUtils'; +import { canPlayFile } from '../../engine/util/sound'; +import { delay } from '../../engine/util/util'; +import { WebAudio } from '../../engine/util/web-audio'; +import { TestUtils } from '../__util__/test-utils'; import { page } from '@vitest/browser/context'; @@ -19,8 +19,8 @@ describe('Sound resource', () => { }); beforeEach(() => { - sut = new ex.Sound('/src/spec/assets/images/SoundSpec/test.mp3'); - expect(sut.path).toBe('/src/spec/assets/images/SoundSpec/test.mp3'); + sut = new ex.Sound('/src/spec/assets/images/sound-spec/test.mp3'); + expect(sut.path).toBe('/src/spec/assets/images/sound-spec/test.mp3'); }); it('should be able to be constructed', () => { @@ -59,7 +59,7 @@ describe('Sound resource', () => { }); it('should have duration', async () => { - sut = new ex.Sound('/src/spec/assets/images/SoundSpec/preview.mp3'); + sut = new ex.Sound('/src/spec/assets/images/sound-spec/preview.mp3'); sut.duration = 5.0; await sut.load(); expect(sut.duration).toBeDefined(); @@ -67,7 +67,7 @@ describe('Sound resource', () => { }); it('should have duration (new ctor)', async () => { - sut = new ex.Sound({ paths: ['/src/spec/assets/images/SoundSpec/preview.mp3'] }); + sut = new ex.Sound({ paths: ['/src/spec/assets/images/sound-spec/preview.mp3'] }); sut.duration = 5.0; await sut.load(); expect(sut.duration).toBeDefined(); @@ -89,7 +89,7 @@ describe('Sound resource', () => { it('should fire playbackstart event (new ctor)', async () => { sut = new ex.Sound({ - paths: ['/src/spec/assets/images/SoundSpec/test.mp3'], + paths: ['/src/spec/assets/images/sound-spec/test.mp3'], loop: false }); const playbackSpy = vi.fn(); @@ -296,7 +296,7 @@ describe('Sound resource', () => { })); it('should return the current playback position of the audio track', async () => { - sut = new ex.Sound('/src/spec/assets/images/SoundSpec/preview.mp3'); + sut = new ex.Sound('/src/spec/assets/images/sound-spec/preview.mp3'); await sut.load(); sut.play(); await delay(1000); @@ -305,7 +305,7 @@ describe('Sound resource', () => { }); it('should variable playback rate of the audio track', async () => { - sut = new ex.Sound('/src/spec/assets/images/SoundSpec/preview.mp3'); + sut = new ex.Sound('/src/spec/assets/images/sound-spec/preview.mp3'); await sut.load(); sut.playbackRate = 2.0; sut.play(); @@ -413,7 +413,7 @@ describe('Sound resource', () => { })); it('can seek to a position in the sound', async () => { - sut = new ex.Sound('/src/spec/assets/images/SoundSpec/preview.mp3'); + sut = new ex.Sound('/src/spec/assets/images/sound-spec/preview.mp3'); await sut.load(); expect(sut.getPlaybackPosition()).toBe(0); sut.seek(6.5); @@ -421,13 +421,13 @@ describe('Sound resource', () => { }); it('can get the total duration of the sound', async () => { - sut = new ex.Sound('/src/spec/assets/images/SoundSpec/preview.mp3'); + sut = new ex.Sound('/src/spec/assets/images/sound-spec/preview.mp3'); await sut.load(); expect(sut.getTotalPlaybackDuration()).toBeCloseTo(13.01, 1); }); it('can set/get the playback rate', async () => { - sut = new ex.Sound('/src/spec/assets/images/SoundSpec/preview.mp3'); + sut = new ex.Sound('/src/spec/assets/images/sound-spec/preview.mp3'); expect(sut.playbackRate).toBe(1.0); sut.playbackRate = 2.5; await sut.load(); @@ -435,7 +435,7 @@ describe('Sound resource', () => { }); it('can set the playback rate and seek to the right position', async () => { - sut = new ex.Sound('/src/spec/assets/images/SoundSpec/preview.mp3'); + sut = new ex.Sound('/src/spec/assets/images/sound-spec/preview.mp3'); expect(sut.playbackRate).toBe(1.0); sut.playbackRate = 2.5; await sut.load(); diff --git a/src/spec/vitest/SparseHashGridCollisionProcessorSpec.ts b/src/spec/vitest/sparse-hash-grid-collision-processor-spec.ts similarity index 100% rename from src/spec/vitest/SparseHashGridCollisionProcessorSpec.ts rename to src/spec/vitest/sparse-hash-grid-collision-processor-spec.ts diff --git a/src/spec/vitest/SpriteSheetSpec.ts b/src/spec/vitest/sprite-sheet-spec.ts similarity index 87% rename from src/spec/vitest/SpriteSheetSpec.ts rename to src/spec/vitest/sprite-sheet-spec.ts index bf690641..8d4fc121 100644 --- a/src/spec/vitest/SpriteSheetSpec.ts +++ b/src/spec/vitest/sprite-sheet-spec.ts @@ -15,7 +15,7 @@ describe('A SpriteSheet for Graphics', () => { }); it('can be created with a constructor', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await image.load(); const ss = new ex.SpriteSheet({ @@ -28,7 +28,7 @@ describe('A SpriteSheet for Graphics', () => { }); it('can be created from a list of source views', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await image.load(); const ss = ex.SpriteSheet.fromImageSourceWithSourceViews({ @@ -47,7 +47,7 @@ describe('A SpriteSheet for Graphics', () => { }); it('can be created from a grid', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await image.load(); const ss = ex.SpriteSheet.fromImageSource({ @@ -67,7 +67,7 @@ describe('A SpriteSheet for Graphics', () => { describe('@visual', () => { it('can be created from a grid with interesting spacing', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/SpriteSheetSpec/kenny-cards.png'); + const image = new ex.ImageSource('/src/spec/assets/images/sprite-sheet-spec/kenny-cards.png'); await image.load(); @@ -94,11 +94,11 @@ describe('A SpriteSheet for Graphics', () => { expect(ss.sprites.length).toBe(4 * 14); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/SpriteSheetSpec/NewSpriteSpacing.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/sprite-sheet-spec/NewSpriteSpacing.png'); }); it('can be created from with spacing using vectors', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/SpriteSheetSpec/kenny-cards.png'); + const image = new ex.ImageSource('/src/spec/assets/images/sprite-sheet-spec/kenny-cards.png'); await image.load(); @@ -125,12 +125,12 @@ describe('A SpriteSheet for Graphics', () => { expect(ss.sprites.length).toBe(4 * 14); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/SpriteSheetSpec/NewSpriteSpacing.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/sprite-sheet-spec/NewSpriteSpacing.png'); }); }); it('can retrieve a sprite by x,y', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/SpriteSheetSpec/kenny-cards.png'); + const image = new ex.ImageSource('/src/spec/assets/images/sprite-sheet-spec/kenny-cards.png'); await image.load(); @@ -165,7 +165,7 @@ describe('A SpriteSheet for Graphics', () => { }); it('can retrieve a sprite by x,y, with options', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/SpriteSheetSpec/kenny-cards.png'); + const image = new ex.ImageSource('/src/spec/assets/images/sprite-sheet-spec/kenny-cards.png'); await image.load(); @@ -212,7 +212,7 @@ describe('A SpriteSheet for Graphics', () => { }); it('can be cloned', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await image.load(); const ss = new ex.SpriteSheet({ @@ -231,7 +231,7 @@ describe('A SpriteSheet for Graphics', () => { }); it('can produce a unique image element by x,y', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/SpriteSheetSpec/kenny-cards.png'); + const image = new ex.ImageSource('/src/spec/assets/images/sprite-sheet-spec/kenny-cards.png'); await image.load(); const ss = ex.SpriteSheet.fromImageSource({ @@ -255,7 +255,7 @@ describe('A SpriteSheet for Graphics', () => { }); it('can produce a unique Sprite Object by x,y', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/SpriteSheetSpec/kenny-cards.png'); + const image = new ex.ImageSource('/src/spec/assets/images/sprite-sheet-spec/kenny-cards.png'); await image.load(); const ss = ex.SpriteSheet.fromImageSource({ diff --git a/src/spec/vitest/SpriteSpec.ts b/src/spec/vitest/sprite-spec.ts similarity index 90% rename from src/spec/vitest/SpriteSpec.ts rename to src/spec/vitest/sprite-spec.ts index 9f52595d..6b90dd2c 100644 --- a/src/spec/vitest/SpriteSpec.ts +++ b/src/spec/vitest/sprite-spec.ts @@ -24,7 +24,7 @@ describe('A Sprite Graphic', () => { }); it('can be constructed', () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const sut = new ex.Sprite({ image }); @@ -32,7 +32,7 @@ describe('A Sprite Graphic', () => { }); it('can be cloned', () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const sut = new ex.Sprite({ image, sourceView: { @@ -55,7 +55,7 @@ describe('A Sprite Graphic', () => { }); it('correctly calculates size based on scale', () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const sut = new ex.Sprite({ image, sourceView: { @@ -77,7 +77,7 @@ describe('A Sprite Graphic', () => { }); it('correctly sets size based on scale', () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const sut = new ex.Sprite({ image, sourceView: { @@ -108,7 +108,7 @@ describe('A Sprite Graphic', () => { describe('@visual', () => { it('can specify a source/dest view of an image with default width and height', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const sut = new ex.Sprite({ image, width: 16, @@ -133,11 +133,11 @@ describe('A Sprite Graphic', () => { sut.draw(ctx, 50 - sut.width / 2, 50 - sut.width / 2); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsSpriteSpec/source-view.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-sprite-spec/source-view.png'); }); it('can draw an sprite image with a tint', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsSpriteSpec/icon.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-sprite-spec/icon.png'); const sut = image.toSprite(); sut.tint = ex.Color.Green; @@ -148,11 +148,11 @@ describe('A Sprite Graphic', () => { sut.draw(ctx, 0, 0); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsSpriteSpec/icon-tint.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-sprite-spec/icon-tint.png'); }); it('can specify the width and height of a sprite after construction', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png', false, ex.ImageFiltering.Pixel); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png', false, ex.ImageFiltering.Pixel); const sut = new ex.Sprite({ image, sourceView: { @@ -173,11 +173,11 @@ describe('A Sprite Graphic', () => { sut.draw(ctx, 50 - sut.width / 2, 50 - sut.width / 2); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsSpriteSpec/change-size.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-sprite-spec/change-size.png'); }); it('can specify the width and height and scale', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png', false, ex.ImageFiltering.Pixel); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png', false, ex.ImageFiltering.Pixel); const sut = new ex.Sprite({ image, sourceView: { @@ -201,11 +201,11 @@ describe('A Sprite Graphic', () => { ctx.flush(); expect(sut.width).toBe(128); expect(sut.height).toBe(128); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsSpriteSpec/change-size-and-scale.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-sprite-spec/change-size-and-scale.png'); }); it('can specify a source view of an image by default is same dimension as the source', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const sut = new ex.Sprite({ image, sourceView: { @@ -234,11 +234,11 @@ describe('A Sprite Graphic', () => { sut.draw(ctx, 50 - sut.width / 2, 50 - sut.width / 2); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsSpriteSpec/source-view.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-sprite-spec/source-view.png'); }); it('can specify a source view of an image and a dest view dimension is destination', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png', false, ex.ImageFiltering.Pixel); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png', false, ex.ImageFiltering.Pixel); const sut = new ex.Sprite({ image, sourceView: { @@ -271,11 +271,11 @@ describe('A Sprite Graphic', () => { sut.draw(ctx, 50 - sut.width / 2, 50 - sut.width / 2); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsSpriteSpec/dest-size.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-sprite-spec/dest-size.png'); }); it('can specify only a dest view dimension, infers native size for source view', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const image = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const sut = new ex.Sprite({ image, destSize: { @@ -305,7 +305,7 @@ describe('A Sprite Graphic', () => { sut.draw(ctx, 50 - sut.width / 2, 50 - sut.width / 2); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsSpriteSpec/dest-view.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-sprite-spec/dest-view.png'); }); }); diff --git a/src/spec/vitest/StateMachineSpec.ts b/src/spec/vitest/state-machine-spec.ts similarity index 100% rename from src/spec/vitest/StateMachineSpec.ts rename to src/spec/vitest/state-machine-spec.ts diff --git a/src/spec/vitest/SystemManagerSpec.ts b/src/spec/vitest/system-manager-spec.ts similarity index 100% rename from src/spec/vitest/SystemManagerSpec.ts rename to src/spec/vitest/system-manager-spec.ts diff --git a/src/spec/vitest/TagQuerySpec.ts b/src/spec/vitest/tag-query-spec.ts similarity index 100% rename from src/spec/vitest/TagQuerySpec.ts rename to src/spec/vitest/tag-query-spec.ts diff --git a/src/spec/vitest/TextSpec.ts b/src/spec/vitest/text-spec.ts similarity index 94% rename from src/spec/vitest/TextSpec.ts rename to src/spec/vitest/text-spec.ts index d0fcd6da..74924879 100644 --- a/src/spec/vitest/TextSpec.ts +++ b/src/spec/vitest/text-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { delay } from '../../engine/Util/Util'; +import { delay } from '../../engine/util/util'; import { inject } from 'vitest'; declare global { @@ -82,7 +82,7 @@ describe('A Text Graphic', () => { beforeAll(async () => { const link = document.createElement('link'); link.rel = 'stylesheet'; - link.href = '/src/spec/assets/images/GraphicsTextSpec/fonts.css'; + link.href = '/src/spec/assets/images/graphics-text-spec/fonts.css'; document.head.appendChild(link); await waitForSheet(link); @@ -200,7 +200,7 @@ describe('A Text Graphic', () => { sut.draw(ctx, 10, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/text.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/text.png', IMAGE_TOLERANCE); }); it('can draw multiple lines of text (font)', async () => { @@ -224,7 +224,7 @@ describe('A Text Graphic', () => { expect(sut.height).toBeCloseTo(18 * 3, 0); expect(sut.localBounds.height).toBeCloseTo(18 * 3, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/multi-text-win.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/multi-text-win.png', IMAGE_TOLERANCE); }); it('can flip text vertically and horizontally', async () => { @@ -244,7 +244,7 @@ describe('A Text Graphic', () => { sut.flipVertical = true; sut.draw(ctx, 10, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/flipped.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/flipped.png', IMAGE_TOLERANCE); }); it('can align fonts and reuse a font', async () => { @@ -264,7 +264,7 @@ describe('A Text Graphic', () => { sut.draw(ctx, 10, 40); sut.draw(ctx, 10, 60); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/font-alignment.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/font-alignment.png', IMAGE_TOLERANCE); }); it('can rotate text around the middle', async () => { @@ -283,7 +283,7 @@ describe('A Text Graphic', () => { sut.rotation = Math.PI / 2; sut.draw(ctx, 10, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/rotated.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/rotated.png', IMAGE_TOLERANCE); }); it('can rotate text around the left', async () => { @@ -303,7 +303,7 @@ describe('A Text Graphic', () => { sut.rotation = Math.PI / 2; sut.draw(ctx, 10, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/rotated-left.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/rotated-left.png', IMAGE_TOLERANCE); }); it('can rotate text around the right', async () => { @@ -323,7 +323,7 @@ describe('A Text Graphic', () => { sut.rotation = -Math.PI / 2; sut.draw(ctx, 10, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/rotated-right.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/rotated-right.png', IMAGE_TOLERANCE); }); it('can be bold', async () => { @@ -342,7 +342,7 @@ describe('A Text Graphic', () => { sut.draw(ctx, 10, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/bold-win.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/bold-win.png', IMAGE_TOLERANCE); }); it('can be italic', async () => { @@ -361,7 +361,7 @@ describe('A Text Graphic', () => { sut.draw(ctx, 10, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/italic.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/italic.png', IMAGE_TOLERANCE); }); it('can have line height', async () => { @@ -379,7 +379,7 @@ describe('A Text Graphic', () => { sut.draw(ctx, 10, 10); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/line-height-win.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/line-height-win.png', IMAGE_TOLERANCE); }); it('can have a shadow', async () => { @@ -402,7 +402,7 @@ describe('A Text Graphic', () => { sut.draw(ctx, 10, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/shadow.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/shadow.png', IMAGE_TOLERANCE); }); it('can reuse a font', async () => { @@ -427,7 +427,7 @@ describe('A Text Graphic', () => { text2.draw(ctx, 10, 40); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/reuse-font-win.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/reuse-font-win.png', IMAGE_TOLERANCE); }); it('can draw large pieces of text', async () => { @@ -542,11 +542,11 @@ describe('A Text Graphic', () => { sut.draw(ctx, 10, 50); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/long-text.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/long-text.png', IMAGE_TOLERANCE); }); it('can do some simple shadowing', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); @@ -579,11 +579,11 @@ describe('A Text Graphic', () => { ctx.clear(); sut.draw(ctx, 0, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/spritefont-shadow.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/spritefont-shadow.png', IMAGE_TOLERANCE); }); it('can rotate spritefont text around the middle', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); const spriteFontSheet = ex.SpriteSheet.fromImageSource({ image: spriteFontImage, @@ -612,11 +612,11 @@ describe('A Text Graphic', () => { sut.rotation = Math.PI / 2; sut.draw(ctx, 10, 40); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/rotated-spritefont.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/rotated-spritefont.png', IMAGE_TOLERANCE); }); it('can align fonts and reuse a spritefont', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); const spriteFontSheet = ex.SpriteSheet.fromImageSource({ image: spriteFontImage, @@ -646,11 +646,11 @@ describe('A Text Graphic', () => { sut.draw(ctx, 0, 40); sut.draw(ctx, 0, 60); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/spritefont-alignment.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/spritefont-alignment.png', IMAGE_TOLERANCE); }); it('can draw multiple lines of text (spritefont)', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); const spriteFontSheet = ex.SpriteSheet.fromImageSource({ image: spriteFontImage, @@ -684,7 +684,7 @@ describe('A Text Graphic', () => { expect(sut.localBounds.width).toBeCloseTo(80); expect(sut.localBounds.height).toBeCloseTo(48); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/multi-text-spritefont.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/multi-text-spritefont.png', IMAGE_TOLERANCE); }); it('can word wrap text for a normal font', async () => { @@ -710,7 +710,7 @@ describe('A Text Graphic', () => { await new Promise((r) => setTimeout(r, 1000)); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/font-text-wrap-win.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/font-text-wrap-win.png', IMAGE_TOLERANCE); }); }); @@ -898,7 +898,7 @@ describe('A Text Graphic', () => { }); it('can be cloned', () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); const spriteFontSheet = ex.SpriteSheet.fromImageSource({ image: spriteFontImage, @@ -931,7 +931,7 @@ describe('A Text Graphic', () => { const logger = ex.Logger.getInstance(); const warnSpy = vi.spyOn(logger, 'warnOnce'); - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); @@ -976,7 +976,7 @@ describe('A Text Graphic', () => { }); it('can measure text for a spritefont', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); const spriteFontSheet = ex.SpriteSheet.fromImageSource({ image: spriteFontImage, @@ -1002,7 +1002,7 @@ describe('A Text Graphic', () => { describe('@visual', () => { it('can specify a spritefont', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); @@ -1030,11 +1030,11 @@ describe('A Text Graphic', () => { sut.draw(ctx, 0, 50); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/spritefont-text.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/spritefont-text.png'); }); it('can scale a spritefont', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); @@ -1063,11 +1063,11 @@ describe('A Text Graphic', () => { sut.draw(ctx, 0, 50); expect(spriteFont.measureText('some test')).toEqual(ex.BoundingBox.fromDimension((16 - 5) * 9 * 3, 16 * 3, ex.vec(0, 0))); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/spritefont-scaled.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/spritefont-scaled.png'); }); it('can have a custom lineHeight', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); @@ -1096,11 +1096,11 @@ describe('A Text Graphic', () => { sut.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/sprite-font-line-height.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/sprite-font-line-height.png', IMAGE_TOLERANCE); }); it('can word wrap text for a spritefont', async () => { - const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/GraphicsTextSpec/spritefont.png'); + const spriteFontImage = new ex.ImageSource('/src/spec/assets/images/graphics-text-spec/spritefont.png'); await spriteFontImage.load(); const spriteFontSheet = ex.SpriteSheet.fromImageSource({ image: spriteFontImage, @@ -1131,7 +1131,7 @@ describe('A Text Graphic', () => { sut.draw(ctx, 0, 0); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/GraphicsTextSpec/sprite-font-text-wrap.png', IMAGE_TOLERANCE); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/graphics-text-spec/sprite-font-text-wrap.png', IMAGE_TOLERANCE); }); }); }); diff --git a/src/spec/vitest/TileMapSpec.ts b/src/spec/vitest/tile-map-spec.ts similarity index 96% rename from src/spec/vitest/TileMapSpec.ts rename to src/spec/vitest/tile-map-spec.ts index 1224997c..de156d05 100644 --- a/src/spec/vitest/TileMapSpec.ts +++ b/src/spec/vitest/tile-map-spec.ts @@ -1,7 +1,6 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; -import { BodyComponent } from '@excalibur'; -import { ColliderComponent } from '../../engine/Collision/ColliderComponent'; +import { TestUtils } from '../__util__/test-utils'; +import { ColliderComponent } from '../../engine/collision/collider-component'; const drawWithTransform = (ctx: ex.ExcaliburGraphicsContext, tm: ex.TileMap, elapsedMs: number = 1) => { ctx.save(); @@ -25,7 +24,7 @@ describe('A TileMap', () => { engine.addScene('root', scene); await TestUtils.runToReady(engine); const clock = engine.clock as ex.TestClock; - texture = new ex.ImageSource('/src/spec/assets/images/TileMapSpec/Blocks.png'); + texture = new ex.ImageSource('/src/spec/assets/images/tile-map-spec/blocks.png'); await texture.load(); clock.step(1); }); @@ -211,14 +210,14 @@ describe('A TileMap', () => { drawWithTransform(engine.graphicsContext, tm, 99); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/TileMapSpec/TileMapGraphicSquare.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/tile-map-spec/tilemapgraphicsquare.png'); tm.update(engine, 99); drawWithTransform(engine.graphicsContext, tm, 99); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/TileMapSpec/TileMapGraphicCircle.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/tile-map-spec/tilemapgraphiccircle.png'); }); it('should draw the correct proportions', async () => { @@ -248,7 +247,7 @@ describe('A TileMap', () => { drawWithTransform(engine.graphicsContext, tm, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/TileMapSpec/TileMap.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/tile-map-spec/tilemap.png'); }); it('should draw from the bottom', async () => { @@ -274,7 +273,7 @@ describe('A TileMap', () => { drawWithTransform(engine.graphicsContext, tm, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/TileMapSpec/tilemap-from-bottom.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/tile-map-spec/tilemap-from-bottom.png'); }); it('should draw from the top', async () => { @@ -301,7 +300,7 @@ describe('A TileMap', () => { drawWithTransform(engine.graphicsContext, tm, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/TileMapSpec/tilemap-from-top.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/tile-map-spec/tilemap-from-top.png'); }); it('should handle offscreen culling correctly with negative coords', async () => { @@ -333,7 +332,7 @@ describe('A TileMap', () => { drawWithTransform(engine.graphicsContext, tm, 100); engine.graphicsContext.flush(); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/TileMapSpec/TileMapCulling.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/tile-map-spec/tilemapculling.png'); }); it('should handle offscreen culling correctly when scaled', async () => { @@ -385,7 +384,7 @@ describe('A TileMap', () => { }) ); - await expect(engine.canvas).toEqualImage('/src/spec/assets/images/TileMapSpec/tilemap-scaled.png'); + await expect(engine.canvas).toEqualImage('/src/spec/assets/images/tile-map-spec/tilemap-scaled.png'); }); }); @@ -442,7 +441,7 @@ describe('A TileMap', () => { }); it('can add and remove graphics on a tile', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/TileMapSpec/Blocks.png'); + const image = new ex.ImageSource('/src/spec/assets/images/tile-map-spec/blocks.png'); await image.load(); const sprite = image.toSprite(); const sut = new ex.TileMap({ diff --git a/src/spec/vitest/TiledAnimationSpec.ts b/src/spec/vitest/tiled-animation-spec.ts similarity index 93% rename from src/spec/vitest/TiledAnimationSpec.ts rename to src/spec/vitest/tiled-animation-spec.ts index 1aaca6ae..341cbd4f 100644 --- a/src/spec/vitest/TiledAnimationSpec.ts +++ b/src/spec/vitest/tiled-animation-spec.ts @@ -23,7 +23,7 @@ describe('A TiledAnimation', () => { }); describe('@visual', () => { it('can be created', async () => { - const cardsImage = new ex.ImageSource('/src/spec/assets/images/TiledAnimationSpec/kenny-cards.png'); + const cardsImage = new ex.ImageSource('/src/spec/assets/images/tiled-animation-spec/kenny-cards.png'); await cardsImage.load(); const cardSpriteSheet = ex.SpriteSheet.fromImageSource({ image: cardsImage, @@ -56,14 +56,14 @@ describe('A TiledAnimation', () => { sut.draw(ctx, 20, 20); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/TiledAnimationSpec/tiled.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/tiled-animation-spec/tiled.png'); sut.tick(200); ctx.clear(); sut.draw(ctx, 20, 20); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/TiledAnimationSpec/tiled-2.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/tiled-animation-spec/tiled-2.png'); }); }); }); diff --git a/src/spec/vitest/TiledSpriteSpec.ts b/src/spec/vitest/tiled-sprite-spec.ts similarity index 90% rename from src/spec/vitest/TiledSpriteSpec.ts rename to src/spec/vitest/tiled-sprite-spec.ts index 1e48325b..617c7a42 100644 --- a/src/spec/vitest/TiledSpriteSpec.ts +++ b/src/spec/vitest/tiled-sprite-spec.ts @@ -23,7 +23,7 @@ describe('A TiledSprite', () => { }); describe('@visual', () => { it('can be created after load', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/TiledSpriteSpec/ground.png'); + const image = new ex.ImageSource('/src/spec/assets/images/tiled-sprite-spec/ground.png'); await image.load(); const sut = new ex.TiledSprite({ @@ -41,11 +41,11 @@ describe('A TiledSprite', () => { sut.draw(ctx, 0, 20); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/TiledSpriteSpec/tiled.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/tiled-sprite-spec/tiled.png'); }); it('can be created before load', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/TiledSpriteSpec/ground.png'); + const image = new ex.ImageSource('/src/spec/assets/images/tiled-sprite-spec/ground.png'); const sut = new ex.TiledSprite({ image, @@ -63,11 +63,11 @@ describe('A TiledSprite', () => { sut.draw(ctx, 0, 20); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/TiledSpriteSpec/tiled.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/tiled-sprite-spec/tiled.png'); }); it('can be from a sprite', async () => { - const image = new ex.ImageSource('/src/spec/assets/images/TiledSpriteSpec/ground.png'); + const image = new ex.ImageSource('/src/spec/assets/images/tiled-sprite-spec/ground.png'); const sourceSprite = image.toSprite(); sourceSprite.width = 400; sourceSprite.height = 400; @@ -84,11 +84,11 @@ describe('A TiledSprite', () => { sut.draw(ctx, 0, 20); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/TiledSpriteSpec/tiled.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/tiled-sprite-spec/tiled.png'); }); it('can grab a tiled sprite from a sprite sheet', async () => { - const cardsImage = new ex.ImageSource('/src/spec/assets/images/TiledAnimationSpec/kenny-cards.png'); + const cardsImage = new ex.ImageSource('/src/spec/assets/images/tiled-animation-spec/kenny-cards.png'); await cardsImage.load(); const cardSpriteSheet = ex.SpriteSheet.fromImageSource({ image: cardsImage, @@ -115,7 +115,7 @@ describe('A TiledSprite', () => { sut.draw(ctx, 0, 0); ctx.flush(); - await expect(canvasElement).toEqualImage('/src/spec/assets/images/TiledSpriteSpec/from-spritesheet.png'); + await expect(canvasElement).toEqualImage('/src/spec/assets/images/tiled-sprite-spec/from-spritesheet.png'); }); }); }); diff --git a/src/spec/vitest/TimerSpec.ts b/src/spec/vitest/timer-spec.ts similarity index 99% rename from src/spec/vitest/TimerSpec.ts rename to src/spec/vitest/timer-spec.ts index 160c1be6..c1c0c8c2 100644 --- a/src/spec/vitest/TimerSpec.ts +++ b/src/spec/vitest/timer-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Timer', () => { let timer; diff --git a/src/spec/vitest/TimescalingSpec.ts b/src/spec/vitest/timescaling-spec.ts similarity index 96% rename from src/spec/vitest/TimescalingSpec.ts rename to src/spec/vitest/timescaling-spec.ts index 7bec830b..3d4bea1d 100644 --- a/src/spec/vitest/TimescalingSpec.ts +++ b/src/spec/vitest/timescaling-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('The engine', () => { let engine: ex.Engine; diff --git a/src/spec/vitest/ToasterSpec.ts b/src/spec/vitest/toaster-spec.ts similarity index 100% rename from src/spec/vitest/ToasterSpec.ts rename to src/spec/vitest/toaster-spec.ts diff --git a/src/spec/vitest/TransformComponentSpec.ts b/src/spec/vitest/transform-component-spec.ts similarity index 99% rename from src/spec/vitest/TransformComponentSpec.ts rename to src/spec/vitest/transform-component-spec.ts index 1d9d34ed..43dda08a 100644 --- a/src/spec/vitest/TransformComponentSpec.ts +++ b/src/spec/vitest/transform-component-spec.ts @@ -1,6 +1,6 @@ import * as ex from '@excalibur'; import { TransformComponent } from '@excalibur'; -import { EulerIntegrator } from '../../engine/Collision/Integrator'; +import { EulerIntegrator } from '../../engine/collision/integrator'; describe('A TransformComponent', () => { it('exists', () => { diff --git a/src/spec/vitest/TransitionSpec.ts b/src/spec/vitest/transition-spec.ts similarity index 98% rename from src/spec/vitest/TransitionSpec.ts rename to src/spec/vitest/transition-spec.ts index f211b175..06b0f70f 100644 --- a/src/spec/vitest/TransitionSpec.ts +++ b/src/spec/vitest/transition-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Transition', () => { it('exists', () => { diff --git a/src/spec/vitest/TriggerSpec.ts b/src/spec/vitest/trigger-spec.ts similarity index 99% rename from src/spec/vitest/TriggerSpec.ts rename to src/spec/vitest/trigger-spec.ts index 909158eb..0e886c3b 100644 --- a/src/spec/vitest/TriggerSpec.ts +++ b/src/spec/vitest/trigger-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { TestUtils } from '../__util__/TestUtils'; +import { TestUtils } from '../__util__/test-utils'; describe('A Trigger', () => { let scene: ex.Scene; diff --git a/src/spec/vitest/UtilSpec.ts b/src/spec/vitest/util-spec.ts similarity index 96% rename from src/spec/vitest/UtilSpec.ts rename to src/spec/vitest/util-spec.ts index b7cd09e2..3dba1b2b 100644 --- a/src/spec/vitest/UtilSpec.ts +++ b/src/spec/vitest/util-spec.ts @@ -1,5 +1,5 @@ import * as ex from '@excalibur'; -import { watchDeep } from '../../engine/Util/Watch'; +import { watchDeep } from '../../engine/util/watch'; describe('Utility functions', () => { it('can watch deep', () => { diff --git a/src/spec/vitest/VectorSpec.ts b/src/spec/vitest/vector-spec.ts similarity index 100% rename from src/spec/vitest/VectorSpec.ts rename to src/spec/vitest/vector-spec.ts diff --git a/src/spec/vitest/VectorViewSpec.ts b/src/spec/vitest/vector-view-spec.ts similarity index 100% rename from src/spec/vitest/VectorViewSpec.ts rename to src/spec/vitest/vector-view-spec.ts diff --git a/src/spec/vitest/VertexBufferSpec.ts b/src/spec/vitest/vertex-buffer-spec.ts similarity index 100% rename from src/spec/vitest/VertexBufferSpec.ts rename to src/spec/vitest/vertex-buffer-spec.ts diff --git a/src/spec/vitest/VertexLayoutSpec.ts b/src/spec/vitest/vertex-layout-spec.ts similarity index 100% rename from src/spec/vitest/VertexLayoutSpec.ts rename to src/spec/vitest/vertex-layout-spec.ts diff --git a/src/spec/vitest/WebAudioInstanceSpec.ts b/src/spec/vitest/web-audio-instance-spec.ts similarity index 100% rename from src/spec/vitest/WebAudioInstanceSpec.ts rename to src/spec/vitest/web-audio-instance-spec.ts diff --git a/src/spec/vitest/WebGLUtilSpec.ts b/src/spec/vitest/web-gl-util-spec.ts similarity index 100% rename from src/spec/vitest/WebGLUtilSpec.ts rename to src/spec/vitest/web-gl-util-spec.ts diff --git a/src/spec/vitest/WorldSpec.ts b/src/spec/vitest/world-spec.ts similarity index 100% rename from src/spec/vitest/WorldSpec.ts rename to src/spec/vitest/world-spec.ts diff --git a/src/stories/Actions.stories.ts b/src/stories/actions.stories.ts similarity index 99% rename from src/stories/Actions.stories.ts rename to src/stories/actions.stories.ts index 0566e8db..4e6e17e0 100644 --- a/src/stories/Actions.stories.ts +++ b/src/stories/actions.stories.ts @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from '@storybook/html-vite'; import { Actor, Loader, EasingFunctions, RotationType } from '../engine'; -import { ImageSource } from '../engine/Graphics'; +import { ImageSource } from '../engine/graphics'; import { enumToControlSelectLabels, enumToControlSelectOptions, withEngine } from './utils'; import heartTexture from './assets/heart.png'; diff --git a/src/stories/Anchors.stories.ts b/src/stories/anchors.stories.ts similarity index 99% rename from src/stories/Anchors.stories.ts rename to src/stories/anchors.stories.ts index 9a98bf78..a8bad377 100644 --- a/src/stories/Anchors.stories.ts +++ b/src/stories/anchors.stories.ts @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from '@storybook/html-vite'; import { Loader, Color, Actor, Vector, vec, toRadians } from '../engine'; -import { ImageSource, Canvas } from '../engine/Graphics'; +import { ImageSource, Canvas } from '../engine/graphics'; import { withEngine } from './utils'; import heartBitmap from './assets/heart.png'; diff --git a/src/stories/Animations.stories.ts b/src/stories/animations.stories.ts similarity index 98% rename from src/stories/Animations.stories.ts rename to src/stories/animations.stories.ts index f324d73a..dd44a006 100644 --- a/src/stories/Animations.stories.ts +++ b/src/stories/animations.stories.ts @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from '@storybook/html-vite'; import { Actor, Color, Loader } from '../engine'; -import { ImageSource, SpriteSheet, Animation, AnimationStrategy, Rectangle } from '../engine/Graphics'; +import { ImageSource, SpriteSheet, Animation, AnimationStrategy, Rectangle } from '../engine/graphics'; import { enumToControlSelectLabels, enumToControlSelectOptions, withEngine } from './utils'; import animationSprite from './assets/animation.png'; diff --git a/src/stories/Audio.stories.ts b/src/stories/audio.stories.ts similarity index 99% rename from src/stories/Audio.stories.ts rename to src/stories/audio.stories.ts index 08d676d8..3f3d79d7 100644 --- a/src/stories/Audio.stories.ts +++ b/src/stories/audio.stories.ts @@ -5,7 +5,7 @@ import pauseIcon from '@fortawesome/fontawesome-free/svgs/solid/pause.svg'; import stopIcon from '@fortawesome/fontawesome-free/svgs/solid/stop.svg'; import type { NativeSoundEvent, NativeSoundProcessedEvent } from '../engine'; import { Actor, Sound, Loader, Color, EasingFunctions } from '../engine'; -import { ImageSource, Sprite } from '../engine/Graphics'; +import { ImageSource, Sprite } from '../engine/graphics'; import { withEngine } from './utils'; import guitarLoop from './assets/loop-guitar.mp3'; diff --git a/src/stories/Engine.stories.ts b/src/stories/engine.stories.ts similarity index 96% rename from src/stories/Engine.stories.ts rename to src/stories/engine.stories.ts index 6af0003e..a21b3096 100644 --- a/src/stories/Engine.stories.ts +++ b/src/stories/engine.stories.ts @@ -1,8 +1,8 @@ import type { Meta, StoryObj } from '@storybook/html-vite'; import { Actor, Color, Loader, Logger } from '../engine'; -import { BaseAlign, Font, ImageSource, Text } from '../engine/Graphics'; +import { BaseAlign, Font, ImageSource, Text } from '../engine/graphics'; import { withEngine } from './utils'; -import { SpriteSheet, SpriteFont } from '../engine/Graphics'; +import { SpriteSheet, SpriteFont } from '../engine/graphics'; import heartTexture from './assets/heart.png'; import spriteFontTexture from './assets/spritefont.png'; diff --git a/src/stories/Keyboard.stories.ts b/src/stories/keyboard.stories.ts similarity index 100% rename from src/stories/Keyboard.stories.ts rename to src/stories/keyboard.stories.ts diff --git a/src/stories/ParticleEmitter.stories.ts b/src/stories/particle-emitter.stories.ts similarity index 100% rename from src/stories/ParticleEmitter.stories.ts rename to src/stories/particle-emitter.stories.ts diff --git a/src/stories/Pointers.stories.ts b/src/stories/pointers.stories.ts similarity index 100% rename from src/stories/Pointers.stories.ts rename to src/stories/pointers.stories.ts