From f215d87878f42939812ca0d76fa0784163b94697 Mon Sep 17 00:00:00 2001 From: dev7355608 Date: Wed, 22 Jun 2022 19:44:20 +0200 Subject: [PATCH 1/2] Add color masks (#8353) --- packages/constants/src/index.ts | 22 +++++ packages/core/src/mask/MaskData.ts | 26 +++++- packages/core/src/mask/MaskSystem.ts | 54 ++++++++++- packages/core/src/mask/StencilSystem.ts | 42 ++++++++- packages/core/test/MaskSystem.tests.ts | 113 +++++++++++++++++++++++- packages/display/src/Container.ts | 14 ++- packages/display/src/DisplayObject.ts | 32 ++++--- 7 files changed, 280 insertions(+), 23 deletions(-) diff --git a/packages/constants/src/index.ts b/packages/constants/src/index.ts index 1561453e9c..536d9b192c 100644 --- a/packages/constants/src/index.ts +++ b/packages/constants/src/index.ts @@ -472,6 +472,7 @@ export enum PRECISION * @property {number} SCISSOR - Scissor mask, rectangle on screen, cheap * @property {number} STENCIL - Stencil mask, 1-bit, medium, works only if renderer supports stencil * @property {number} SPRITE - Mask that uses SpriteMaskFilter, uses temporary RenderTexture + * @property {number} COLOR - Color mask (RGBA) */ export enum MASK_TYPES // eslint-disable-next-line @typescript-eslint/indent @@ -480,6 +481,27 @@ export enum MASK_TYPES SCISSOR = 1, STENCIL = 2, SPRITE = 3, + COLOR = 4, +} + +/** + * Bitwise OR of masks that indicate the color channels that are rendered to. + * @static + * @memberof PIXI + * @name COLOR_MASK_BITS + * @enum {number} + * @property {number} RED - Red channel. + * @property {number} GREEN - Green channel + * @property {number} BLUE - Blue channel. + * @property {number} ALPHA - Alpha channel. + */ +export enum COLOR_MASK_BITS +// eslint-disable-next-line @typescript-eslint/indent +{ + RED = 0x1, + GREEN = 0x2, + BLUE = 0x4, + ALPHA = 0x8 } /** diff --git a/packages/core/src/mask/MaskData.ts b/packages/core/src/mask/MaskData.ts index 707c8d37d3..6c2c9c66fa 100644 --- a/packages/core/src/mask/MaskData.ts +++ b/packages/core/src/mask/MaskData.ts @@ -1,7 +1,8 @@ -import { MASK_TYPES, MSAA_QUALITY } from '@pixi/constants'; +import { MASK_TYPES } from '@pixi/constants'; import { settings } from '@pixi/settings'; import { ISpriteMaskFilter } from '@pixi/core'; +import type { COLOR_MASK_BITS, MSAA_QUALITY } from '@pixi/constants'; import type { Rectangle, Matrix } from '@pixi/math'; import type { IFilterTarget } from '../filters/IFilterTarget'; import type { Renderer } from '../Renderer'; @@ -61,6 +62,9 @@ export class MaskData /** If enabled is true the mask is applied, if false it will not. */ public enabled: boolean; + /** Color mask. */ + public colorMask: COLOR_MASK_BITS; + /** * The sprite mask filter wrapped in an array. * @private @@ -79,12 +83,26 @@ export class MaskData */ _scissorCounter: number; - /** Scissor operation above the mask in stack. Null if _scissorCounter is zero, rectangle instance if positive. */ + /** + * Scissor operation above the mask in stack. + * Null if _scissorCounter is zero, rectangle instance if positive. + * @private + */ _scissorRect: Rectangle; - /** pre-computed scissor rect does become _scissorRect when mask is actually pushed */ + /** + * pre-computed scissor rect + * does become _scissorRect when mask is actually pushed + * @private + */ _scissorRectLocal: Rectangle; + /** + * pre-computed color mask + * @private + */ + _colorMask: number; + /** * Targeted element. Temporary variable set by MaskSystem * @member {PIXI.DisplayObject} @@ -106,11 +124,13 @@ export class MaskData this.resolution = null; this.multisample = settings.FILTER_MULTISAMPLE; this.enabled = true; + this.colorMask = 0xf; this._filters = null; this._stencilCounter = 0; this._scissorCounter = 0; this._scissorRect = null; this._scissorRectLocal = null; + this._colorMask = 0xf; this._target = null; } diff --git a/packages/core/src/mask/MaskSystem.ts b/packages/core/src/mask/MaskSystem.ts index 2064668a0f..d498dc95e9 100644 --- a/packages/core/src/mask/MaskSystem.ts +++ b/packages/core/src/mask/MaskSystem.ts @@ -101,6 +101,7 @@ export class MaskSystem implements ISystem const maskAbove = this.maskStack.length !== 0 ? this.maskStack[this.maskStack.length - 1] : null; maskData.copyCountersOrReset(maskAbove); + maskData._colorMask = maskAbove ? maskAbove._colorMask : 0xf; if (maskData.autoDetect) { @@ -128,6 +129,9 @@ export class MaskSystem implements ISystem maskData.copyCountersOrReset(null); this.pushSpriteMask(maskData); break; + case MASK_TYPES.COLOR: + this.pushColorMask(maskData); + break; default: break; } @@ -169,6 +173,9 @@ export class MaskSystem implements ISystem case MASK_TYPES.SPRITE: this.popSpriteMask(maskData); break; + case MASK_TYPES.COLOR: + this.popColorMask(maskData); + break; default: break; } @@ -200,7 +207,11 @@ export class MaskSystem implements ISystem { const maskObject = maskData.maskObject; - if (maskObject.isSprite) + if (!maskObject) + { + maskData.type = MASK_TYPES.COLOR; + } + else if (maskObject.isSprite) { maskData.type = MASK_TYPES.SPRITE; } @@ -288,6 +299,47 @@ export class MaskSystem implements ISystem } } + /** + * Pushes the color mask. + * @param maskData - The mask data + */ + pushColorMask(maskData: MaskData): void + { + const currColorMask = maskData._colorMask; + const nextColorMask = maskData._colorMask = currColorMask & maskData.colorMask; + + if (nextColorMask !== currColorMask) + { + this.renderer.gl.colorMask( + (nextColorMask & 0x1) !== 0, + (nextColorMask & 0x2) !== 0, + (nextColorMask & 0x4) !== 0, + (nextColorMask & 0x8) !== 0 + ); + } + } + + /** + * Pops the color mask. + * @param maskData - The mask data + */ + popColorMask(maskData: MaskData): void + { + const currColorMask = maskData._colorMask; + const nextColorMask = this.maskStack.length > 0 + ? this.maskStack[this.maskStack.length - 1]._colorMask : 0xf; + + if (nextColorMask !== currColorMask) + { + this.renderer.gl.colorMask( + (nextColorMask & 0x1) !== 0, + (nextColorMask & 0x2) !== 0, + (nextColorMask & 0x4) !== 0, + (nextColorMask & 0x8) !== 0 + ); + } + } + destroy(): void { this.renderer = null; diff --git a/packages/core/src/mask/StencilSystem.ts b/packages/core/src/mask/StencilSystem.ts index e5537e804a..86a5082966 100644 --- a/packages/core/src/mask/StencilSystem.ts +++ b/packages/core/src/mask/StencilSystem.ts @@ -52,8 +52,15 @@ export class StencilSystem extends AbstractMaskSystem maskData._stencilCounter++; + const colorMask = maskData._colorMask; + + if (colorMask !== 0) + { + maskData._colorMask = 0; + gl.colorMask(false, false, false, false); + } + // Increment the reference stencil value where the new mask overlaps with the old ones. - gl.colorMask(false, false, false, false); gl.stencilFunc(gl.EQUAL, prevMaskCount, 0xFFFFFFFF); gl.stencilOp(gl.KEEP, gl.KEEP, gl.INCR); @@ -62,6 +69,17 @@ export class StencilSystem extends AbstractMaskSystem this.renderer.batch.flush(); maskObject.renderable = false; + if (colorMask !== 0) + { + maskData._colorMask = colorMask; + gl.colorMask( + (colorMask & 1) !== 0, + (colorMask & 2) !== 0, + (colorMask & 4) !== 0, + (colorMask & 8) !== 0 + ); + } + this._useCurrent(); } @@ -80,8 +98,16 @@ export class StencilSystem extends AbstractMaskSystem } else { + const maskData = this.maskStack.length !== 0 ? this.maskStack[this.maskStack.length - 1] : null; + const colorMask = maskData ? maskData._colorMask : 0xf; + + if (colorMask !== 0) + { + maskData._colorMask = 0; + gl.colorMask(false, false, false, false); + } + // Decrement the reference stencil value where the popped mask overlaps with the other ones - gl.colorMask(false, false, false, false); gl.stencilOp(gl.KEEP, gl.KEEP, gl.DECR); maskObject.renderable = true; @@ -89,6 +115,17 @@ export class StencilSystem extends AbstractMaskSystem this.renderer.batch.flush(); maskObject.renderable = false; + if (colorMask !== 0) + { + maskData._colorMask = colorMask; + gl.colorMask( + (colorMask & 0x1) !== 0, + (colorMask & 0x2) !== 0, + (colorMask & 0x4) !== 0, + (colorMask & 0x8) !== 0 + ); + } + this._useCurrent(); } } @@ -101,7 +138,6 @@ export class StencilSystem extends AbstractMaskSystem { const gl = this.renderer.gl; - gl.colorMask(true, true, true, true); gl.stencilFunc(gl.EQUAL, this.getStackLength(), 0xFFFFFFFF); gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP); } diff --git a/packages/core/test/MaskSystem.tests.ts b/packages/core/test/MaskSystem.tests.ts index 65fd5c8876..e3e794c4db 100644 --- a/packages/core/test/MaskSystem.tests.ts +++ b/packages/core/test/MaskSystem.tests.ts @@ -1,4 +1,4 @@ -import { MASK_TYPES } from '@pixi/constants'; +import { MASK_TYPES, COLOR_MASK_BITS } from '@pixi/constants'; import { BaseTexture, BatchRenderer, @@ -13,6 +13,7 @@ import { SpriteMaskFilter, Texture } from '@pixi/core'; +import { Container } from '@pixi/display'; import { Graphics } from '@pixi/graphics'; import { Matrix, Rectangle } from '@pixi/math'; import { Sprite } from '@pixi/sprite'; @@ -416,4 +417,114 @@ describe('MaskSystem', () => renderTexture.destroy(true); }); + + it('should render correctly with nested color and stencil masks', () => + { + const stage = new Container(); + const container1 = new Container(); + const container2 = new Container(); + const graphics = new Graphics().beginFill(0xffffff, 1.0).drawRect(0, 0, 2, 1).endFill(); + const mask = new Graphics().beginFill(0xffffff, 1.0).drawPolygon(1, 0, 2, 0, 2, 1, 1, 1).endFill(); + + stage.addChild(container1, mask); + container1.addChild(container2); + container2.addChild(graphics); + + stage.mask = new MaskData(); + stage.mask.colorMask = COLOR_MASK_BITS.RED | COLOR_MASK_BITS.GREEN | COLOR_MASK_BITS.ALPHA; + mask.mask = new MaskData(); + mask.mask.colorMask = COLOR_MASK_BITS.RED | COLOR_MASK_BITS.ALPHA; + container1.mask = new MaskData(mask); + container2.mask = new MaskData(mask); + graphics.mask = new MaskData(); + graphics.mask.colorMask = COLOR_MASK_BITS.GREEN | COLOR_MASK_BITS.BLUE | COLOR_MASK_BITS.ALPHA; + + const renderTexture = renderer.generateTexture(stage, { region: new Rectangle(0, 0, 2, 1) }); + + expect(renderTexture.width).toEqual(2); + expect(renderTexture.height).toEqual(1); + + expect(stage.mask.type).toEqual(MASK_TYPES.COLOR); + expect(container1.mask.type).toEqual(MASK_TYPES.STENCIL); + expect(container2.mask.type).toEqual(MASK_TYPES.STENCIL); + expect(graphics.mask.type).toEqual(MASK_TYPES.COLOR); + expect(mask.mask.type).toEqual(MASK_TYPES.COLOR); + + stage.destroy(true); + + renderer.renderTexture.bind(renderTexture); + + const pixels = new Uint8Array(8); + const gl = renderer.gl; + + gl.readPixels(0, 0, 2, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixels); + + renderTexture.destroy(true); + + const [r1, g1, b1, a1, r2, g2, b2, a2] = pixels; + + // R B A + // G B A + // ------- + // G A + + expect(r1).toEqual(0x00); + expect(g1).toEqual(0x00); + expect(b1).toEqual(0x00); + expect(a1).toEqual(0x00); + expect(r2).toEqual(0x00); + expect(g2).toEqual(0xff); + expect(b2).toEqual(0x00); + expect(a2).toEqual(0xff); + }); + + it('should render overlapping objects with color masks correctly', () => + { + const stage = new Container(); + const graphics1 = new Graphics().beginFill(0xffffff, 1.0).drawRect(0, 0, 2, 1).endFill(); + const graphics2 = new Graphics().beginFill(0xffffff, 1.0).drawRect(1, 0, 2, 1).endFill(); + + stage.addChild(graphics1, graphics2); + + stage.mask = new MaskData(); + stage.mask.colorMask = COLOR_MASK_BITS.RED | COLOR_MASK_BITS.GREEN | COLOR_MASK_BITS.ALPHA; + graphics1.mask = new MaskData(); + graphics1.mask.colorMask = COLOR_MASK_BITS.RED | COLOR_MASK_BITS.BLUE | COLOR_MASK_BITS.ALPHA; + graphics2.mask = new MaskData(); + graphics2.mask.colorMask = COLOR_MASK_BITS.GREEN | COLOR_MASK_BITS.BLUE | COLOR_MASK_BITS.ALPHA; + + const renderTexture = renderer.generateTexture(stage); + + expect(renderTexture.width).toEqual(3); + expect(renderTexture.height).toEqual(1); + + expect(graphics1.mask.type).toEqual(MASK_TYPES.COLOR); + expect(graphics2.mask.type).toEqual(MASK_TYPES.COLOR); + + stage.destroy(true); + + renderer.renderTexture.bind(renderTexture); + + const pixels = new Uint8Array(12); + const gl = renderer.gl; + + gl.readPixels(0, 0, 3, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixels); + + renderTexture.destroy(true); + + const [r1, g1, b1, a1, r2, g2, b2, a2, r3, g3, b3, a3] = pixels; + + expect(r1).toEqual(0xff); + expect(g1).toEqual(0x00); + expect(b1).toEqual(0x00); + expect(a1).toEqual(0xff); + expect(r2).toEqual(0xff); + expect(g2).toEqual(0xff); + expect(b2).toEqual(0x00); + expect(a2).toEqual(0xff); + expect(r3).toEqual(0x00); + expect(g3).toEqual(0xff); + expect(b3).toEqual(0x00); + expect(a3).toEqual(0xff); + }); }); diff --git a/packages/display/src/Container.ts b/packages/display/src/Container.ts index a742121197..1dde275d8c 100644 --- a/packages/display/src/Container.ts +++ b/packages/display/src/Container.ts @@ -467,10 +467,18 @@ export class Container extends DisplayObject // TODO: filter+mask, need to mask both somehow if (child._mask) { - const maskObject = ((child._mask as MaskData).maskObject || child._mask) as Container; + const maskObject = ((child._mask as MaskData).isMaskData + ? (child._mask as MaskData).maskObject : child._mask) as Container; - maskObject.calculateBounds(); - this._bounds.addBoundsMask(child._bounds, maskObject._bounds); + if (maskObject) + { + maskObject.calculateBounds(); + this._bounds.addBoundsMask(child._bounds, maskObject._bounds); + } + else + { + this._bounds.addBounds(child._bounds); + } } else if (child.filterArea) { diff --git a/packages/display/src/DisplayObject.ts b/packages/display/src/DisplayObject.ts index d0f425d556..05513e01bc 100644 --- a/packages/display/src/DisplayObject.ts +++ b/packages/display/src/DisplayObject.ts @@ -965,14 +965,18 @@ export abstract class DisplayObject extends EventEmitter if (this._mask) { - const maskObject = ((this._mask as MaskData).maskObject || this._mask) as Container; + const maskObject = ((this._mask as MaskData).isMaskData + ? (this._mask as MaskData).maskObject : this._mask) as Container; - maskObject._maskRefCount--; - - if (maskObject._maskRefCount === 0) + if (maskObject) { - maskObject.renderable = true; - maskObject.isMask = false; + maskObject._maskRefCount--; + + if (maskObject._maskRefCount === 0) + { + maskObject.renderable = true; + maskObject.isMask = false; + } } } @@ -980,15 +984,19 @@ export abstract class DisplayObject extends EventEmitter if (this._mask) { - const maskObject = ((this._mask as MaskData).maskObject || this._mask) as Container; + const maskObject = ((this._mask as MaskData).isMaskData + ? (this._mask as MaskData).maskObject : this._mask) as Container; - if (maskObject._maskRefCount === 0) + if (maskObject) { - maskObject.renderable = false; - maskObject.isMask = true; - } + if (maskObject._maskRefCount === 0) + { + maskObject.renderable = false; + maskObject.isMask = true; + } - maskObject._maskRefCount++; + maskObject._maskRefCount++; + } } } } From 9b724f289118ebbf9b4500fa3faab1e7aaaabd02 Mon Sep 17 00:00:00 2001 From: Zyie <24736175+Zyie@users.noreply.github.com> Date: Fri, 24 Jun 2022 15:18:30 +0100 Subject: [PATCH 2/2] Chore: Add consistent import type (#8434) --- .eslintrc.json | 1 + packages/accessibility/src/AccessibilityManager.ts | 3 ++- packages/app/src/ResizePlugin.ts | 3 ++- packages/basis/src/BasisLoader.ts | 12 +++++++----- packages/basis/src/TranscoderWorker.ts | 5 +++-- packages/canvas-extract/src/CanvasExtract.ts | 6 +++--- .../canvas-graphics/src/CanvasGraphicsRenderer.ts | 7 ++++--- packages/canvas-mesh/src/CanvasMeshRenderer.ts | 3 ++- packages/canvas-prepare/src/CanvasPrepare.ts | 4 ++-- .../canvas-renderer/src/utils/CanvasMaskManager.ts | 3 ++- packages/canvas-sprite/src/CanvasSpriteRenderer.ts | 3 ++- .../src/loaders/CompressedTextureLoader.ts | 3 ++- .../compressed-textures/src/loaders/DDSLoader.ts | 3 ++- .../compressed-textures/src/loaders/KTXLoader.ts | 6 ++++-- .../src/resources/BlobResource.ts | 3 ++- .../src/resources/CompressedTextureResource.ts | 2 +- packages/core/src/AbstractRenderer.ts | 4 ++-- packages/core/src/Renderer.ts | 3 ++- packages/core/src/batch/BatchPluginFactory.ts | 3 ++- packages/core/src/filters/Filter.ts | 13 ++++++------- packages/core/src/filters/FilterState.ts | 3 ++- .../core/src/filters/spriteMask/SpriteMaskFilter.ts | 5 +++-- packages/core/src/geometry/Geometry.ts | 3 ++- packages/core/src/geometry/GeometrySystem.ts | 2 +- packages/core/src/mask/MaskData.ts | 2 +- .../core/src/renderTexture/RenderTextureSystem.ts | 2 +- packages/core/src/shader/ShaderSystem.ts | 2 +- packages/core/src/shader/utils/generateProgram.ts | 2 +- .../src/shader/utils/generateUniformBufferSync.ts | 4 ++-- packages/core/src/shader/utils/getAttributeData.ts | 2 +- packages/core/src/shader/utils/getUniformData.ts | 2 +- packages/core/src/textures/BaseTexture.ts | 4 ++-- .../src/textures/resources/AbstractMultiResource.ts | 5 +++-- .../core/src/textures/resources/ArrayResource.ts | 2 +- .../src/textures/resources/autoDetectResource.ts | 2 +- packages/core/test/ArrayResource.tests.ts | 3 ++- packages/core/test/BatchRenderer.tests.ts | 3 ++- packages/core/test/FilterSystem.tests.ts | 3 ++- packages/core/test/ImageBitmapResource.tests.ts | 3 ++- packages/core/test/MaskSystem.tests.ts | 5 +++-- packages/core/test/Renderer.tests.ts | 3 ++- packages/core/test/Texture.tests.ts | 3 ++- packages/core/test/UniformBuffer.tests.ts | 5 +++-- packages/display/src/Container.ts | 2 +- packages/display/src/DisplayObject.ts | 4 ++-- packages/events/src/EventSystem.ts | 2 +- packages/extract/src/Extract.ts | 6 +++--- packages/graphics/src/Graphics.ts | 3 ++- packages/graphics/src/GraphicsGeometry.ts | 9 +++++---- packages/graphics/src/utils/index.ts | 6 +++--- packages/interaction/src/InteractionData.ts | 3 ++- packages/interaction/src/InteractionManager.ts | 9 ++++++--- .../interaction/test/InteractionManager.tests.ts | 3 ++- packages/interaction/test/MockPointer.ts | 5 +++-- packages/loaders/src/AppLoaderPlugin.ts | 3 ++- packages/loaders/src/Loader.ts | 6 ++++-- packages/loaders/src/LoaderResource.ts | 2 +- packages/loaders/src/ParsingLoader.ts | 3 ++- packages/loaders/src/TextureLoader.ts | 3 ++- packages/loaders/src/middleware/caching.ts | 4 ++-- packages/loaders/test/Loader.tests.ts | 2 +- packages/loaders/test/LoaderBase.tests.ts | 4 ++-- packages/loaders/test/LoaderResource.test.ts | 3 ++- packages/loaders/test/fixtures/spritesheet.ts | 3 ++- packages/math-extras/src/index.ts | 3 ++- packages/math-extras/src/pointExtras.ts | 3 ++- packages/math/src/IPoint.ts | 2 +- packages/math/src/shapes/Rectangle.ts | 2 +- packages/mesh-extras/test/SimplePlane.tests.ts | 3 ++- packages/mesh/src/Mesh.ts | 9 +++++---- packages/mixin-cache-as-bitmap/src/index.ts | 9 ++++++--- packages/particle-container/src/ParticleRenderer.ts | 4 ++-- packages/prepare/src/BasePrepare.ts | 3 ++- packages/prepare/src/Prepare.ts | 7 ++++--- packages/prepare/test/BasePrepare.tests.ts | 4 ++-- packages/sprite-tiling/src/TilingSpriteRenderer.ts | 4 ++-- packages/sprite-tiling/test/TilingSprite.tests.ts | 3 ++- packages/spritesheet/src/SpritesheetLoader.ts | 3 ++- packages/spritesheet/test/Spritesheet.tests.ts | 6 ++++-- .../spritesheet/test/SpritesheetLoader.tests.ts | 3 ++- packages/text-bitmap/src/BitmapFontLoader.ts | 3 ++- packages/text-bitmap/src/BitmapText.ts | 3 ++- packages/text-bitmap/src/formats/XMLStringFormat.ts | 2 +- packages/text-bitmap/src/utils/generateFillStyle.ts | 3 ++- packages/text-bitmap/test/BitmapFontLoader.tests.ts | 9 ++++++--- packages/text-bitmap/test/BitmapText.tests.ts | 2 +- packages/text/src/TextMetrics.ts | 2 +- packages/text/test/Text.tests.ts | 2 +- packages/text/test/TextMetrics.tests.ts | 3 ++- packages/ticker/src/TickerListener.ts | 2 +- packages/ticker/src/TickerPlugin.ts | 3 ++- 91 files changed, 206 insertions(+), 141 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index cb38697904..0e42f00a28 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -18,6 +18,7 @@ } }, "rules": { + "@typescript-eslint/consistent-type-imports": [1, { "disallowTypeAnnotations": false }], "@typescript-eslint/no-parameter-properties": 1, "@typescript-eslint/type-annotation-spacing": 1, "jsdoc/multiline-blocks": [ diff --git a/packages/accessibility/src/AccessibilityManager.ts b/packages/accessibility/src/AccessibilityManager.ts index 2b6e3f924c..69a32c42e5 100644 --- a/packages/accessibility/src/AccessibilityManager.ts +++ b/packages/accessibility/src/AccessibilityManager.ts @@ -4,7 +4,8 @@ import { accessibleTarget } from './accessibleTarget'; import type { Rectangle } from '@pixi/math'; import type { Container } from '@pixi/display'; -import { Renderer, AbstractRenderer, ExtensionMetadata, ExtensionType } from '@pixi/core'; +import type { Renderer, AbstractRenderer, ExtensionMetadata } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; import type { IAccessibleHTMLElement } from './accessibleTarget'; // add some extra variables to the container.. diff --git a/packages/app/src/ResizePlugin.ts b/packages/app/src/ResizePlugin.ts index 1a494d4f06..cd88146bca 100644 --- a/packages/app/src/ResizePlugin.ts +++ b/packages/app/src/ResizePlugin.ts @@ -1,5 +1,6 @@ import type { CanvasRenderer } from '@pixi/canvas-renderer'; -import { ExtensionMetadata, ExtensionType, Renderer } from '@pixi/core'; +import type { ExtensionMetadata, Renderer } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; import type { IApplicationOptions } from './Application'; /** diff --git a/packages/basis/src/BasisLoader.ts b/packages/basis/src/BasisLoader.ts index 10492d75a1..4789e20f62 100644 --- a/packages/basis/src/BasisLoader.ts +++ b/packages/basis/src/BasisLoader.ts @@ -1,20 +1,22 @@ import { TYPES, MIPMAP_MODES, ALPHA_MODES, FORMATS } from '@pixi/constants'; -import { BaseTexture, BufferResource, ExtensionMetadata, ExtensionType, Texture } from '@pixi/core'; -import { CompressedTextureResource, INTERNAL_FORMATS } from '@pixi/compressed-textures'; +import type { ExtensionMetadata } from '@pixi/core'; +import { BaseTexture, BufferResource, ExtensionType, Texture } from '@pixi/core'; +import { CompressedTextureResource } from '@pixi/compressed-textures'; +import type { + BasisTextureExtensions, + BasisBinding } from './Basis'; import { BASIS_FORMATS, BASIS_FORMAT_TO_INTERNAL_FORMAT, INTERNAL_FORMAT_TO_BASIS_FORMAT, BASIS_FORMATS_ALPHA, - BasisTextureExtensions, - BasisBinding, BASIS_FORMAT_TO_TYPE, } from './Basis'; import { TranscoderWorker } from './TranscoderWorker'; import { LoaderResource } from '@pixi/loaders'; import type { IResourceMetadata } from '@pixi/loaders'; -import type { CompressedLevelBuffer } from '@pixi/compressed-textures'; +import type { CompressedLevelBuffer, INTERNAL_FORMATS } from '@pixi/compressed-textures'; type TranscodedResourcesArray = (Array | Array) & { basisFormat: BASIS_FORMATS diff --git a/packages/basis/src/TranscoderWorker.ts b/packages/basis/src/TranscoderWorker.ts index a0836c723c..7ee7189460 100644 --- a/packages/basis/src/TranscoderWorker.ts +++ b/packages/basis/src/TranscoderWorker.ts @@ -1,6 +1,7 @@ import { Runner } from '@pixi/runner'; -import { BASIS_FORMATS } from './Basis'; -import { ITranscodeResponse, TranscoderWorkerWrapper } from './TranscoderWorkerWrapper'; +import type { BASIS_FORMATS } from './Basis'; +import type { ITranscodeResponse } from './TranscoderWorkerWrapper'; +import { TranscoderWorkerWrapper } from './TranscoderWorkerWrapper'; /** * Worker class for transcoding *.basis files in background threads. diff --git a/packages/canvas-extract/src/CanvasExtract.ts b/packages/canvas-extract/src/CanvasExtract.ts index a3df3c5637..434551a474 100644 --- a/packages/canvas-extract/src/CanvasExtract.ts +++ b/packages/canvas-extract/src/CanvasExtract.ts @@ -1,9 +1,9 @@ -import { ExtensionMetadata, ExtensionType, RenderTexture } from '@pixi/core'; +import { ExtensionType, RenderTexture } from '@pixi/core'; import { CanvasRenderTarget } from '@pixi/utils'; import { Rectangle } from '@pixi/math'; -import { CanvasRenderer } from '@pixi/canvas-renderer'; +import type { CanvasRenderer } from '@pixi/canvas-renderer'; import type { DisplayObject } from '@pixi/display'; -import type { BaseRenderTexture } from '@pixi/core'; +import type { BaseRenderTexture, ExtensionMetadata } from '@pixi/core'; const TEMP_RECT = new Rectangle(); diff --git a/packages/canvas-graphics/src/CanvasGraphicsRenderer.ts b/packages/canvas-graphics/src/CanvasGraphicsRenderer.ts index 7361e3d82f..28a4fdf8f4 100644 --- a/packages/canvas-graphics/src/CanvasGraphicsRenderer.ts +++ b/packages/canvas-graphics/src/CanvasGraphicsRenderer.ts @@ -1,7 +1,8 @@ -import { ExtensionMetadata, ExtensionType, Texture } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType, Texture } from '@pixi/core'; import { SHAPES, Matrix } from '@pixi/math'; -import { canvasUtils, CrossPlatformCanvasRenderingContext2D } from '@pixi/canvas-renderer'; -import type { CanvasRenderer } from '@pixi/canvas-renderer'; +import { canvasUtils } from '@pixi/canvas-renderer'; +import type { CanvasRenderer, CrossPlatformCanvasRenderingContext2D } from '@pixi/canvas-renderer'; import type { FillStyle, Graphics, GraphicsData, LineStyle } from '@pixi/graphics'; import type { Circle, Ellipse, Polygon, Rectangle, RoundedRectangle } from '@pixi/math'; import { PolygonUtils } from './utils/PolygonUtils'; diff --git a/packages/canvas-mesh/src/CanvasMeshRenderer.ts b/packages/canvas-mesh/src/CanvasMeshRenderer.ts index 3fd3bf7772..38db11b4d0 100644 --- a/packages/canvas-mesh/src/CanvasMeshRenderer.ts +++ b/packages/canvas-mesh/src/CanvasMeshRenderer.ts @@ -1,4 +1,5 @@ -import { ExtensionMetadata, ExtensionType, Texture } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType, Texture } from '@pixi/core'; import { DRAW_MODES } from '@pixi/constants'; import { canvasUtils } from '@pixi/canvas-renderer'; diff --git a/packages/canvas-prepare/src/CanvasPrepare.ts b/packages/canvas-prepare/src/CanvasPrepare.ts index 1de5323228..ccdba6eeeb 100644 --- a/packages/canvas-prepare/src/CanvasPrepare.ts +++ b/packages/canvas-prepare/src/CanvasPrepare.ts @@ -1,7 +1,7 @@ -import { BaseTexture, ExtensionMetadata, ExtensionType } from '@pixi/core'; +import { BaseTexture, ExtensionType } from '@pixi/core'; import { BasePrepare } from '@pixi/prepare'; -import type { AbstractRenderer } from '@pixi/core'; +import type { AbstractRenderer, ExtensionMetadata } from '@pixi/core'; import type { CanvasRenderer } from '@pixi/canvas-renderer'; import type { IDisplayObjectExtended } from '@pixi/prepare'; diff --git a/packages/canvas-renderer/src/utils/CanvasMaskManager.ts b/packages/canvas-renderer/src/utils/CanvasMaskManager.ts index 737f33914d..449bbb5569 100644 --- a/packages/canvas-renderer/src/utils/CanvasMaskManager.ts +++ b/packages/canvas-renderer/src/utils/CanvasMaskManager.ts @@ -1,4 +1,5 @@ -import { Polygon, SHAPES } from '@pixi/math'; +import type { Polygon } from '@pixi/math'; +import { SHAPES } from '@pixi/math'; import type { CanvasRenderer } from '../CanvasRenderer'; import type { Graphics } from '@pixi/graphics'; diff --git a/packages/canvas-sprite/src/CanvasSpriteRenderer.ts b/packages/canvas-sprite/src/CanvasSpriteRenderer.ts index 15e7a0f0ac..a3c7cbb3ba 100644 --- a/packages/canvas-sprite/src/CanvasSpriteRenderer.ts +++ b/packages/canvas-sprite/src/CanvasSpriteRenderer.ts @@ -3,7 +3,8 @@ import { Matrix, groupD8 } from '@pixi/math'; import { canvasUtils } from '@pixi/canvas-renderer'; import type { CanvasRenderer } from '@pixi/canvas-renderer'; import type { Sprite } from '@pixi/sprite'; -import { ExtensionMetadata, ExtensionType } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; const canvasRenderWorldTransform = new Matrix(); diff --git a/packages/compressed-textures/src/loaders/CompressedTextureLoader.ts b/packages/compressed-textures/src/loaders/CompressedTextureLoader.ts index 4767162864..3071dc08d2 100644 --- a/packages/compressed-textures/src/loaders/CompressedTextureLoader.ts +++ b/packages/compressed-textures/src/loaders/CompressedTextureLoader.ts @@ -3,7 +3,8 @@ import { url } from '@pixi/utils'; import type { Loader } from '@pixi/loaders'; import type { INTERNAL_FORMATS } from '../const'; -import { ExtensionMetadata, ExtensionType } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; /** * Schema for compressed-texture manifests diff --git a/packages/compressed-textures/src/loaders/DDSLoader.ts b/packages/compressed-textures/src/loaders/DDSLoader.ts index 0b37ece443..ce073b9dd3 100644 --- a/packages/compressed-textures/src/loaders/DDSLoader.ts +++ b/packages/compressed-textures/src/loaders/DDSLoader.ts @@ -2,7 +2,8 @@ import { CompressedTextureResource } from '../resources'; import { INTERNAL_FORMATS, INTERNAL_FORMAT_TO_BYTES_PER_PIXEL } from '../const'; import { LoaderResource } from '@pixi/loaders'; import { registerCompressedTextures } from './registerCompressedTextures'; -import { ExtensionMetadata, ExtensionType } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; // Set DDS files to be loaded as an ArrayBuffer LoaderResource.setExtensionXhrType('dds', LoaderResource.XHR_RESPONSE_TYPE.BUFFER); diff --git a/packages/compressed-textures/src/loaders/KTXLoader.ts b/packages/compressed-textures/src/loaders/KTXLoader.ts index bf52ed4b4f..5600d088a2 100644 --- a/packages/compressed-textures/src/loaders/KTXLoader.ts +++ b/packages/compressed-textures/src/loaders/KTXLoader.ts @@ -1,6 +1,8 @@ import { ALPHA_MODES, FORMATS, MIPMAP_MODES, TYPES } from '@pixi/constants'; -import { BaseTexture, BufferResource, ExtensionMetadata, ExtensionType, Texture } from '@pixi/core'; -import { CompressedLevelBuffer, CompressedTextureResource } from '../resources/CompressedTextureResource'; +import type { ExtensionMetadata } from '@pixi/core'; +import { BaseTexture, BufferResource, ExtensionType, Texture } from '@pixi/core'; +import type { CompressedLevelBuffer } from '../resources/CompressedTextureResource'; +import { CompressedTextureResource } from '../resources/CompressedTextureResource'; import { LoaderResource } from '@pixi/loaders'; import { INTERNAL_FORMAT_TO_BYTES_PER_PIXEL } from '../const'; import { registerCompressedTextures } from './registerCompressedTextures'; diff --git a/packages/compressed-textures/src/resources/BlobResource.ts b/packages/compressed-textures/src/resources/BlobResource.ts index 5bcc71747e..c7a611b43b 100644 --- a/packages/compressed-textures/src/resources/BlobResource.ts +++ b/packages/compressed-textures/src/resources/BlobResource.ts @@ -1,4 +1,5 @@ -import { Resource, ViewableBuffer, BufferResource } from '@pixi/core'; +import type { Resource } from '@pixi/core'; +import { ViewableBuffer, BufferResource } from '@pixi/core'; interface IBlobOptions { diff --git a/packages/compressed-textures/src/resources/CompressedTextureResource.ts b/packages/compressed-textures/src/resources/CompressedTextureResource.ts index 6e2e0a3919..8d0106dda5 100644 --- a/packages/compressed-textures/src/resources/CompressedTextureResource.ts +++ b/packages/compressed-textures/src/resources/CompressedTextureResource.ts @@ -1,6 +1,6 @@ import { BlobResource } from './BlobResource'; import { INTERNAL_FORMAT_TO_BYTES_PER_PIXEL } from '../const'; -import { Renderer, BaseTexture, GLTexture } from '@pixi/core'; +import type { Renderer, BaseTexture, GLTexture } from '@pixi/core'; import type { INTERNAL_FORMATS } from '../const'; diff --git a/packages/core/src/AbstractRenderer.ts b/packages/core/src/AbstractRenderer.ts index 5f30f2243e..7c66a1cf18 100644 --- a/packages/core/src/AbstractRenderer.ts +++ b/packages/core/src/AbstractRenderer.ts @@ -1,10 +1,10 @@ import { hex2string, hex2rgb, EventEmitter, deprecation } from '@pixi/utils'; import { Matrix, Rectangle } from '@pixi/math'; -import { MSAA_QUALITY, RENDERER_TYPE } from '@pixi/constants'; +import { RENDERER_TYPE } from '@pixi/constants'; import { settings } from '@pixi/settings'; import { RenderTexture } from './renderTexture/RenderTexture'; -import type { SCALE_MODES } from '@pixi/constants'; +import type { SCALE_MODES, MSAA_QUALITY } from '@pixi/constants'; import type { ISystemConstructor } from './ISystem'; import type { IRenderingContext } from './IRenderingContext'; import type { IRenderableContainer, IRenderableObject } from './IRenderableObject'; diff --git a/packages/core/src/Renderer.ts b/packages/core/src/Renderer.ts index 8790078dbb..49049f4f60 100644 --- a/packages/core/src/Renderer.ts +++ b/packages/core/src/Renderer.ts @@ -16,7 +16,8 @@ import { BatchSystem } from './batch/BatchSystem'; import { TextureGCSystem } from './textures/TextureGCSystem'; import { MSAA_QUALITY, RENDERER_TYPE } from '@pixi/constants'; import { UniformGroup } from './shader/UniformGroup'; -import { Matrix, Rectangle } from '@pixi/math'; +import type { Rectangle } from '@pixi/math'; +import { Matrix } from '@pixi/math'; import { Runner } from '@pixi/runner'; import { BufferSystem } from './geometry/BufferSystem'; import { RenderTexture } from './renderTexture/RenderTexture'; diff --git a/packages/core/src/batch/BatchPluginFactory.ts b/packages/core/src/batch/BatchPluginFactory.ts index 2d62df562d..135cec18bf 100644 --- a/packages/core/src/batch/BatchPluginFactory.ts +++ b/packages/core/src/batch/BatchPluginFactory.ts @@ -6,7 +6,8 @@ import defaultVertex from './texture.vert'; import defaultFragment from './texture.frag'; import type { Renderer } from '../Renderer'; -import { ExtensionMetadata, ExtensionType } from '../extensions'; +import type { ExtensionMetadata } from '../extensions'; +import { ExtensionType } from '../extensions'; export interface IBatchFactoryOptions { diff --git a/packages/core/src/filters/Filter.ts b/packages/core/src/filters/Filter.ts index ca84f6978e..5bd67775c5 100644 --- a/packages/core/src/filters/Filter.ts +++ b/packages/core/src/filters/Filter.ts @@ -1,16 +1,15 @@ -import { Shader } from '../shader/Shader'; +import { settings } from '@pixi/settings'; import { Program } from '../shader/Program'; +import { Shader } from '../shader/Shader'; import { State } from '../state/State'; -import { settings } from '@pixi/settings'; -import { MSAA_QUALITY } from '@pixi/constants'; -import defaultVertex from './defaultFilter.vert'; import defaultFragment from './defaultFilter.frag'; +import defaultVertex from './defaultFilter.vert'; +import type { MSAA_QUALITY, BLEND_MODES, CLEAR_MODES } from '@pixi/constants'; +import type { Dict } from '@pixi/utils'; import type { RenderTexture } from '../renderTexture/RenderTexture'; -import type { FilterSystem } from './FilterSystem'; import type { FilterState } from './FilterState'; -import type { BLEND_MODES, CLEAR_MODES } from '@pixi/constants'; -import type { Dict } from '@pixi/utils'; +import type { FilterSystem } from './FilterSystem'; /** * A filter is a special shader that applies post-processing effects to an input texture and writes into an output diff --git a/packages/core/src/filters/FilterState.ts b/packages/core/src/filters/FilterState.ts index 278a2de6b9..693145ff22 100644 --- a/packages/core/src/filters/FilterState.ts +++ b/packages/core/src/filters/FilterState.ts @@ -1,4 +1,5 @@ -import { Matrix, Rectangle } from '@pixi/math'; +import type { Matrix } from '@pixi/math'; +import { Rectangle } from '@pixi/math'; import { MSAA_QUALITY } from '@pixi/constants'; import type { Filter } from './Filter'; diff --git a/packages/core/src/filters/spriteMask/SpriteMaskFilter.ts b/packages/core/src/filters/spriteMask/SpriteMaskFilter.ts index 78e815bb2f..042cc2bdfc 100644 --- a/packages/core/src/filters/spriteMask/SpriteMaskFilter.ts +++ b/packages/core/src/filters/spriteMask/SpriteMaskFilter.ts @@ -1,6 +1,7 @@ import { Filter } from '../Filter'; -import { Matrix, Point } from '@pixi/math'; -import { CLEAR_MODES } from '@pixi/constants'; +import type { Point } from '@pixi/math'; +import { Matrix } from '@pixi/math'; +import type { CLEAR_MODES } from '@pixi/constants'; import vertex from './spriteMaskFilter.vert'; import fragment from './spriteMaskFilter.frag'; import { TextureMatrix } from '../../textures/TextureMatrix'; diff --git a/packages/core/src/geometry/Geometry.ts b/packages/core/src/geometry/Geometry.ts index 1ea201fa1b..ef1a2c563c 100644 --- a/packages/core/src/geometry/Geometry.ts +++ b/packages/core/src/geometry/Geometry.ts @@ -4,7 +4,8 @@ import { interleaveTypedArrays } from './utils/interleaveTypedArrays'; import { getBufferType } from '@pixi/utils'; import { Runner } from '@pixi/runner'; -import { BUFFER_TYPE, TYPES } from '@pixi/constants'; +import type { TYPES } from '@pixi/constants'; +import { BUFFER_TYPE } from '@pixi/constants'; import type { IArrayBuffer } from './Buffer'; import type { Dict } from '@pixi/utils'; diff --git a/packages/core/src/geometry/GeometrySystem.ts b/packages/core/src/geometry/GeometrySystem.ts index 5409e8d633..f10fbc7a8d 100644 --- a/packages/core/src/geometry/GeometrySystem.ts +++ b/packages/core/src/geometry/GeometrySystem.ts @@ -1,4 +1,4 @@ -import { GLBuffer } from './GLBuffer'; +import type { GLBuffer } from './GLBuffer'; import { ENV } from '@pixi/constants'; import { settings } from '../settings'; diff --git a/packages/core/src/mask/MaskData.ts b/packages/core/src/mask/MaskData.ts index 6c2c9c66fa..beadf01d5f 100644 --- a/packages/core/src/mask/MaskData.ts +++ b/packages/core/src/mask/MaskData.ts @@ -1,6 +1,6 @@ import { MASK_TYPES } from '@pixi/constants'; import { settings } from '@pixi/settings'; -import { ISpriteMaskFilter } from '@pixi/core'; +import type { ISpriteMaskFilter } from '@pixi/core'; import type { COLOR_MASK_BITS, MSAA_QUALITY } from '@pixi/constants'; import type { Rectangle, Matrix } from '@pixi/math'; diff --git a/packages/core/src/renderTexture/RenderTextureSystem.ts b/packages/core/src/renderTexture/RenderTextureSystem.ts index cc04f2387f..3637ac6eaf 100644 --- a/packages/core/src/renderTexture/RenderTextureSystem.ts +++ b/packages/core/src/renderTexture/RenderTextureSystem.ts @@ -1,5 +1,5 @@ import { Rectangle } from '@pixi/math'; -import { BUFFER_BITS } from '@pixi/constants'; +import type { BUFFER_BITS } from '@pixi/constants'; import type { ISystem } from '../ISystem'; import type { Renderer } from '../Renderer'; diff --git a/packages/core/src/shader/ShaderSystem.ts b/packages/core/src/shader/ShaderSystem.ts index 94da759978..0d3f551ef1 100644 --- a/packages/core/src/shader/ShaderSystem.ts +++ b/packages/core/src/shader/ShaderSystem.ts @@ -1,4 +1,4 @@ -import { GLProgram } from './GLProgram'; +import type { GLProgram } from './GLProgram'; import { generateUniformsSync, unsafeEvalSupported } from './utils'; import type { ISystem } from '../ISystem'; diff --git a/packages/core/src/shader/utils/generateProgram.ts b/packages/core/src/shader/utils/generateProgram.ts index 4d85b64ebf..f23812b862 100644 --- a/packages/core/src/shader/utils/generateProgram.ts +++ b/packages/core/src/shader/utils/generateProgram.ts @@ -1,4 +1,4 @@ -import { Program } from '../Program'; +import type { Program } from '../Program'; import type { IRenderingContext } from '../../IRenderingContext'; import type { IGLUniformData } from '../GLProgram'; import { GLProgram } from '../GLProgram'; diff --git a/packages/core/src/shader/utils/generateUniformBufferSync.ts b/packages/core/src/shader/utils/generateUniformBufferSync.ts index 60aea75302..e8ac65261d 100644 --- a/packages/core/src/shader/utils/generateUniformBufferSync.ts +++ b/packages/core/src/shader/utils/generateUniformBufferSync.ts @@ -1,7 +1,7 @@ import type { Dict } from '@pixi/utils'; import { mapSize } from '../utils'; -import { IUniformData } from '../Program'; -import { UniformGroup } from '../UniformGroup'; +import type { IUniformData } from '../Program'; +import type { UniformGroup } from '../UniformGroup'; import { uniformParsers } from './uniformParsers'; import type { Renderer } from '../../Renderer'; import type { Buffer } from '../../geometry/Buffer'; diff --git a/packages/core/src/shader/utils/getAttributeData.ts b/packages/core/src/shader/utils/getAttributeData.ts index b9dbcb5ece..8312d98f15 100644 --- a/packages/core/src/shader/utils/getAttributeData.ts +++ b/packages/core/src/shader/utils/getAttributeData.ts @@ -1,4 +1,4 @@ -import { IAttributeData } from '../Program'; +import type { IAttributeData } from '../Program'; import { mapSize } from './mapSize'; import { mapType } from './mapType'; diff --git a/packages/core/src/shader/utils/getUniformData.ts b/packages/core/src/shader/utils/getUniformData.ts index 89b0d9471e..75f3410a6c 100644 --- a/packages/core/src/shader/utils/getUniformData.ts +++ b/packages/core/src/shader/utils/getUniformData.ts @@ -1,4 +1,4 @@ -import { IUniformData } from '../Program'; +import type { IUniformData } from '../Program'; import { defaultValue } from './defaultValue'; import { mapType } from './mapType'; diff --git a/packages/core/src/textures/BaseTexture.ts b/packages/core/src/textures/BaseTexture.ts index 9a70a464e8..717b2c97f5 100644 --- a/packages/core/src/textures/BaseTexture.ts +++ b/packages/core/src/textures/BaseTexture.ts @@ -1,11 +1,11 @@ import { BaseTextureCache, EventEmitter, isPow2, TextureCache, uid } from '@pixi/utils'; -import { FORMATS, SCALE_MODES, TARGETS, TYPES, ALPHA_MODES, MIPMAP_MODES, WRAP_MODES } from '@pixi/constants'; +import { FORMATS, SCALE_MODES, TARGETS, TYPES, ALPHA_MODES } from '@pixi/constants'; import { Resource } from './resources/Resource'; import { BufferResource } from './resources/BufferResource'; import { autoDetectResource } from './resources/autoDetectResource'; import { settings } from '@pixi/settings'; -import type { MSAA_QUALITY } from '@pixi/constants'; +import type { MSAA_QUALITY, MIPMAP_MODES, WRAP_MODES } from '@pixi/constants'; import type { IAutoDetectOptions } from './resources/autoDetectResource'; import type { GLTexture } from './GLTexture'; diff --git a/packages/core/src/textures/resources/AbstractMultiResource.ts b/packages/core/src/textures/resources/AbstractMultiResource.ts index d44b856c5e..aa4baf953b 100644 --- a/packages/core/src/textures/resources/AbstractMultiResource.ts +++ b/packages/core/src/textures/resources/AbstractMultiResource.ts @@ -1,7 +1,8 @@ import { Resource } from './Resource'; import { BaseTexture } from '../BaseTexture'; -import { ISize } from '@pixi/math'; -import { autoDetectResource, IAutoDetectOptions } from './autoDetectResource'; +import type { ISize } from '@pixi/math'; +import type { IAutoDetectOptions } from './autoDetectResource'; +import { autoDetectResource } from './autoDetectResource'; /** * Resource that can manage several resource (items) inside. diff --git a/packages/core/src/textures/resources/ArrayResource.ts b/packages/core/src/textures/resources/ArrayResource.ts index 1b9d17d09a..33b07eb26c 100644 --- a/packages/core/src/textures/resources/ArrayResource.ts +++ b/packages/core/src/textures/resources/ArrayResource.ts @@ -1,6 +1,6 @@ import { AbstractMultiResource } from './AbstractMultiResource'; import { TARGETS } from '@pixi/constants'; -import { BaseTexture } from '../BaseTexture'; +import type { BaseTexture } from '../BaseTexture'; import type { BaseImageResource } from './BaseImageResource'; import type { Renderer } from '../../Renderer'; diff --git a/packages/core/src/textures/resources/autoDetectResource.ts b/packages/core/src/textures/resources/autoDetectResource.ts index 580aba4b76..5a6c099a3d 100644 --- a/packages/core/src/textures/resources/autoDetectResource.ts +++ b/packages/core/src/textures/resources/autoDetectResource.ts @@ -1,4 +1,4 @@ -import { Resource } from './Resource'; +import type { Resource } from './Resource'; import type { IImageResourceOptions } from './ImageResource'; import type { ISize } from '@pixi/math'; diff --git a/packages/core/test/ArrayResource.tests.ts b/packages/core/test/ArrayResource.tests.ts index e30914b367..3ac4ef61c9 100644 --- a/packages/core/test/ArrayResource.tests.ts +++ b/packages/core/test/ArrayResource.tests.ts @@ -1,4 +1,5 @@ -import { ArrayResource, BaseTexture, ImageResource } from '@pixi/core'; +import type { BaseTexture } from '@pixi/core'; +import { ArrayResource, ImageResource } from '@pixi/core'; import { join } from 'path'; describe('ArrayResource', () => diff --git a/packages/core/test/BatchRenderer.tests.ts b/packages/core/test/BatchRenderer.tests.ts index e04c694f71..e472596e3f 100644 --- a/packages/core/test/BatchRenderer.tests.ts +++ b/packages/core/test/BatchRenderer.tests.ts @@ -1,4 +1,5 @@ -import { Renderer, BatchRenderer, CanvasResource, Texture, BaseTexture, IBatchableElement } from '@pixi/core'; +import type { IBatchableElement } from '@pixi/core'; +import { Renderer, BatchRenderer, CanvasResource, Texture, BaseTexture } from '@pixi/core'; import { skipHello } from '@pixi/utils'; import { BLEND_MODES } from '@pixi/constants'; diff --git a/packages/core/test/FilterSystem.tests.ts b/packages/core/test/FilterSystem.tests.ts index 001b971ecf..2acb853fa4 100644 --- a/packages/core/test/FilterSystem.tests.ts +++ b/packages/core/test/FilterSystem.tests.ts @@ -1,5 +1,6 @@ import { CLEAR_MODES } from '@pixi/constants'; -import { Filter, IFilterTarget, Renderer } from '@pixi/core'; +import type { IFilterTarget } from '@pixi/core'; +import { Filter, Renderer } from '@pixi/core'; import { Matrix, Rectangle } from '@pixi/math'; describe('FilterSystem', () => diff --git a/packages/core/test/ImageBitmapResource.tests.ts b/packages/core/test/ImageBitmapResource.tests.ts index 611ee5e834..d7b7010377 100644 --- a/packages/core/test/ImageBitmapResource.tests.ts +++ b/packages/core/test/ImageBitmapResource.tests.ts @@ -1,4 +1,5 @@ -import { BaseTexture, ImageBitmapResource } from '@pixi/core'; +import type { BaseTexture } from '@pixi/core'; +import { ImageBitmapResource } from '@pixi/core'; describe('ImageBitmapResource', () => { diff --git a/packages/core/test/MaskSystem.tests.ts b/packages/core/test/MaskSystem.tests.ts index e3e794c4db..0639a9fe8f 100644 --- a/packages/core/test/MaskSystem.tests.ts +++ b/packages/core/test/MaskSystem.tests.ts @@ -1,12 +1,13 @@ import { MASK_TYPES, COLOR_MASK_BITS } from '@pixi/constants'; +import type { + IFilterTarget, + IMaskTarget } from '@pixi/core'; import { BaseTexture, BatchRenderer, CanvasResource, extensions, Filter, - IFilterTarget, - IMaskTarget, MaskData, Renderer, RenderTexture, diff --git a/packages/core/test/Renderer.tests.ts b/packages/core/test/Renderer.tests.ts index 4123c1db1b..1da837962c 100644 --- a/packages/core/test/Renderer.tests.ts +++ b/packages/core/test/Renderer.tests.ts @@ -1,4 +1,5 @@ -import { Renderer, Framebuffer, ObjectRenderer, extensions, BatchRenderer } from '@pixi/core'; +import type { ObjectRenderer } from '@pixi/core'; +import { Renderer, Framebuffer, extensions, BatchRenderer } from '@pixi/core'; import { Graphics } from '@pixi/graphics'; import { settings } from '@pixi/settings'; import { ENV, MSAA_QUALITY } from '@pixi/constants'; diff --git a/packages/core/test/Texture.tests.ts b/packages/core/test/Texture.tests.ts index d6517ea585..5395933ff2 100644 --- a/packages/core/test/Texture.tests.ts +++ b/packages/core/test/Texture.tests.ts @@ -1,6 +1,7 @@ import { BaseTextureCache, TextureCache } from '@pixi/utils'; import { Rectangle, Point } from '@pixi/math'; -import { BaseTexture, ImageResource, Texture } from '@pixi/core'; +import type { ImageResource } from '@pixi/core'; +import { BaseTexture, Texture } from '@pixi/core'; import { settings } from '@pixi/settings'; import path from 'path'; diff --git a/packages/core/test/UniformBuffer.tests.ts b/packages/core/test/UniformBuffer.tests.ts index 9223436718..b6ede0111d 100644 --- a/packages/core/test/UniformBuffer.tests.ts +++ b/packages/core/test/UniformBuffer.tests.ts @@ -1,3 +1,5 @@ +import type { + IRenderingContext } from '@pixi/core'; import { Shader, createUBOElements, @@ -6,8 +8,7 @@ import { Buffer, UniformGroup, generateProgram, - getTestContext, - IRenderingContext, + getTestContext } from '@pixi/core'; import { skipHello } from '@pixi/utils'; diff --git a/packages/display/src/Container.ts b/packages/display/src/Container.ts index 1dde275d8c..07222f8dc0 100644 --- a/packages/display/src/Container.ts +++ b/packages/display/src/Container.ts @@ -1,7 +1,7 @@ import { settings } from '@pixi/settings'; import { removeItems } from '@pixi/utils'; import { DisplayObject } from './DisplayObject'; -import { Matrix, Rectangle } from '@pixi/math'; +import type { Matrix, Rectangle } from '@pixi/math'; import { MASK_TYPES } from '@pixi/constants'; import type { MaskData, Renderer } from '@pixi/core'; diff --git a/packages/display/src/DisplayObject.ts b/packages/display/src/DisplayObject.ts index 05513e01bc..9d6f5de88a 100644 --- a/packages/display/src/DisplayObject.ts +++ b/packages/display/src/DisplayObject.ts @@ -1,10 +1,10 @@ -import { DEG_TO_RAD, Matrix, Point, RAD_TO_DEG, Rectangle, Transform } from '@pixi/math'; +import { DEG_TO_RAD, RAD_TO_DEG, Rectangle, Transform } from '@pixi/math'; import { EventEmitter } from '@pixi/utils'; import { Bounds } from './Bounds'; import type { Container } from './Container'; import type { Filter, MaskData, Renderer } from '@pixi/core'; -import type { IPointData, ObservablePoint } from '@pixi/math'; +import type { IPointData, ObservablePoint, Matrix, Point } from '@pixi/math'; import type { Dict } from '@pixi/utils'; export interface IDestroyOptions diff --git a/packages/events/src/EventSystem.ts b/packages/events/src/EventSystem.ts index 22cc331441..43a24d3f57 100644 --- a/packages/events/src/EventSystem.ts +++ b/packages/events/src/EventSystem.ts @@ -1,5 +1,5 @@ import { EventBoundary } from './EventBoundary'; -import { FederatedMouseEvent } from './FederatedMouseEvent'; +import type { FederatedMouseEvent } from './FederatedMouseEvent'; import { FederatedPointerEvent } from './FederatedPointerEvent'; import { FederatedWheelEvent } from './FederatedWheelEvent'; diff --git a/packages/extract/src/Extract.ts b/packages/extract/src/Extract.ts index 0f823cf74d..c81098c09a 100644 --- a/packages/extract/src/Extract.ts +++ b/packages/extract/src/Extract.ts @@ -1,9 +1,9 @@ import { CanvasRenderTarget } from '@pixi/utils'; import { Rectangle } from '@pixi/math'; -import { ExtensionMetadata, ExtensionType, RenderTexture } from '@pixi/core'; +import { ExtensionType, RenderTexture } from '@pixi/core'; -import type { Renderer, IRendererPlugin } from '@pixi/core'; -import { DisplayObject } from '@pixi/display'; +import type { Renderer, IRendererPlugin, ExtensionMetadata } from '@pixi/core'; +import type { DisplayObject } from '@pixi/display'; const TEMP_RECT = new Rectangle(); const BYTES_PER_PIXEL = 4; diff --git a/packages/graphics/src/Graphics.ts b/packages/graphics/src/Graphics.ts index 07d6b8ef60..0547bb2b6a 100644 --- a/packages/graphics/src/Graphics.ts +++ b/packages/graphics/src/Graphics.ts @@ -10,7 +10,8 @@ import { SHAPES, } from '@pixi/math'; -import { Texture, UniformGroup, State, Renderer, BatchDrawCall, Shader } from '@pixi/core'; +import type { Renderer, BatchDrawCall } from '@pixi/core'; +import { Texture, UniformGroup, State, Shader } from '@pixi/core'; import { BezierUtils, QuadraticUtils, ArcUtils } from './utils'; import { hex2rgb } from '@pixi/utils'; import { GraphicsGeometry } from './GraphicsGeometry'; diff --git a/packages/graphics/src/GraphicsGeometry.ts b/packages/graphics/src/GraphicsGeometry.ts index 758f0de08a..ce8571940e 100644 --- a/packages/graphics/src/GraphicsGeometry.ts +++ b/packages/graphics/src/GraphicsGeometry.ts @@ -7,21 +7,22 @@ import { DRAW_CALL_POOL, } from './utils'; +import type { + Texture } from '@pixi/core'; import { BatchGeometry, BatchDrawCall, BatchTextureArray, - BaseTexture, - Texture, + BaseTexture } from '@pixi/core'; import { DRAW_MODES, WRAP_MODES } from '@pixi/constants'; -import { Point, Matrix } from '@pixi/math'; +import { Point } from '@pixi/math'; import { GraphicsData } from './GraphicsData'; import { premultiplyTint } from '@pixi/utils'; import { Bounds } from '@pixi/display'; -import type { Circle, Ellipse, Polygon, Rectangle, RoundedRectangle, IPointData } from '@pixi/math'; +import type { Circle, Ellipse, Polygon, Rectangle, RoundedRectangle, IPointData, Matrix } from '@pixi/math'; import type { FillStyle } from './styles/FillStyle'; import type { LineStyle } from './styles/LineStyle'; diff --git a/packages/graphics/src/utils/index.ts b/packages/graphics/src/utils/index.ts index c03a5060d4..4f7952572c 100644 --- a/packages/graphics/src/utils/index.ts +++ b/packages/graphics/src/utils/index.ts @@ -23,10 +23,10 @@ export * from './QuadraticUtils'; export * from './BatchPart'; // for type only -import { BatchPart } from './BatchPart'; +import type { BatchPart } from './BatchPart'; import { SHAPES } from '@pixi/math'; -import { BatchDrawCall } from '@pixi/core'; -import { IShapeBuildCommand } from './IShapeBuildCommand'; +import type { BatchDrawCall } from '@pixi/core'; +import type { IShapeBuildCommand } from './IShapeBuildCommand'; /** * Map of fill commands for each shape type. diff --git a/packages/interaction/src/InteractionData.ts b/packages/interaction/src/InteractionData.ts index f8a20e0de5..252ebe2147 100644 --- a/packages/interaction/src/InteractionData.ts +++ b/packages/interaction/src/InteractionData.ts @@ -1,4 +1,5 @@ -import { Point, IPointData } from '@pixi/math'; +import type { IPointData } from '@pixi/math'; +import { Point } from '@pixi/math'; import type { DisplayObject } from '@pixi/display'; diff --git a/packages/interaction/src/InteractionManager.ts b/packages/interaction/src/InteractionManager.ts index 2765cf26ea..eb89ec1334 100644 --- a/packages/interaction/src/InteractionManager.ts +++ b/packages/interaction/src/InteractionManager.ts @@ -1,13 +1,16 @@ import { Ticker, UPDATE_PRIORITY } from '@pixi/ticker'; import { DisplayObject, TemporaryDisplayObject } from '@pixi/display'; -import { InteractionData, InteractivePointerEvent } from './InteractionData'; -import { InteractionEvent, InteractionCallback } from './InteractionEvent'; +import type { InteractivePointerEvent } from './InteractionData'; +import { InteractionData } from './InteractionData'; +import type { InteractionCallback } from './InteractionEvent'; +import { InteractionEvent } from './InteractionEvent'; import { InteractionTrackingData } from './InteractionTrackingData'; import { TreeSearch } from './TreeSearch'; import { EventEmitter } from '@pixi/utils'; import { interactiveTarget } from './interactiveTarget'; -import { AbstractRenderer, ExtensionMetadata, ExtensionType } from '@pixi/core'; +import type { AbstractRenderer, ExtensionMetadata } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; import type { Point, IPointData } from '@pixi/math'; import type { Dict } from '@pixi/utils'; diff --git a/packages/interaction/test/InteractionManager.tests.ts b/packages/interaction/test/InteractionManager.tests.ts index fcee13b994..209a90bc4d 100644 --- a/packages/interaction/test/InteractionManager.tests.ts +++ b/packages/interaction/test/InteractionManager.tests.ts @@ -9,7 +9,8 @@ import { CanvasSpriteRenderer } from '@pixi/canvas-sprite'; import { Sprite } from '@pixi/sprite'; import '@pixi/canvas-display'; -import { extensions, Texture } from '@pixi/core'; +import type { Texture } from '@pixi/core'; +import { extensions } from '@pixi/core'; describe('InteractionManager', () => { diff --git a/packages/interaction/test/MockPointer.ts b/packages/interaction/test/MockPointer.ts index 24a9c92112..4c9d051d0f 100644 --- a/packages/interaction/test/MockPointer.ts +++ b/packages/interaction/test/MockPointer.ts @@ -1,8 +1,9 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { CanvasRenderer } from '@pixi/canvas-renderer'; import { Ticker } from '@pixi/ticker'; -import { Point, Rectangle } from '@pixi/math'; -import { Container } from '@pixi/display'; +import type { Point } from '@pixi/math'; +import { Rectangle } from '@pixi/math'; +import type { Container } from '@pixi/display'; const { system } = Ticker; diff --git a/packages/loaders/src/AppLoaderPlugin.ts b/packages/loaders/src/AppLoaderPlugin.ts index fce2d1dfe7..4271ac2700 100644 --- a/packages/loaders/src/AppLoaderPlugin.ts +++ b/packages/loaders/src/AppLoaderPlugin.ts @@ -1,4 +1,5 @@ -import { ExtensionMetadata, ExtensionType } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; import { Loader } from './Loader'; /** diff --git a/packages/loaders/src/Loader.ts b/packages/loaders/src/Loader.ts index c65a484076..5f6151cfbc 100644 --- a/packages/loaders/src/Loader.ts +++ b/packages/loaders/src/Loader.ts @@ -1,8 +1,10 @@ import { Signal } from './base/Signal'; import { parseUri } from './base/parseUri'; -import { IResourceMetadata, LoaderResource } from './LoaderResource'; +import type { IResourceMetadata } from './LoaderResource'; +import { LoaderResource } from './LoaderResource'; import { AsyncQueue } from './base/AsyncQueue'; -import { deprecation, Dict } from '@pixi/utils'; +import type { Dict } from '@pixi/utils'; +import { deprecation } from '@pixi/utils'; import { extensions, ExtensionType } from '@pixi/core'; // some constants diff --git a/packages/loaders/src/LoaderResource.ts b/packages/loaders/src/LoaderResource.ts index b1d64616c9..42a3f1152b 100644 --- a/packages/loaders/src/LoaderResource.ts +++ b/packages/loaders/src/LoaderResource.ts @@ -1,4 +1,4 @@ -import { Dict } from '@pixi/utils'; +import type { Dict } from '@pixi/utils'; import { Signal } from './base/Signal'; import { parseUri } from './base/parseUri'; import type { IBaseTextureOptions, Texture } from '@pixi/core'; diff --git a/packages/loaders/src/ParsingLoader.ts b/packages/loaders/src/ParsingLoader.ts index 011e4f2c18..f4325f6569 100644 --- a/packages/loaders/src/ParsingLoader.ts +++ b/packages/loaders/src/ParsingLoader.ts @@ -1,5 +1,6 @@ import { parsing } from './middleware'; -import { ExtensionMetadata, ExtensionType } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; /** * Parse any blob into more usable objects (e.g. Image). diff --git a/packages/loaders/src/TextureLoader.ts b/packages/loaders/src/TextureLoader.ts index c8c81c46ba..b6cea441f2 100644 --- a/packages/loaders/src/TextureLoader.ts +++ b/packages/loaders/src/TextureLoader.ts @@ -1,4 +1,5 @@ -import { ExtensionMetadata, ExtensionType, Texture } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType, Texture } from '@pixi/core'; import { LoaderResource } from './LoaderResource'; /** diff --git a/packages/loaders/src/middleware/caching.ts b/packages/loaders/src/middleware/caching.ts index 106f05426b..fb0771240e 100644 --- a/packages/loaders/src/middleware/caching.ts +++ b/packages/loaders/src/middleware/caching.ts @@ -1,5 +1,5 @@ -import { Dict } from '@pixi/utils'; -import { LoaderResource } from '../LoaderResource'; +import type { Dict } from '@pixi/utils'; +import type { LoaderResource } from '../LoaderResource'; // a simple in-memory cache for resources const cache: Dict = {}; diff --git a/packages/loaders/test/Loader.tests.ts b/packages/loaders/test/Loader.tests.ts index b5c8565c05..1fd53c2045 100644 --- a/packages/loaders/test/Loader.tests.ts +++ b/packages/loaders/test/Loader.tests.ts @@ -4,7 +4,7 @@ import { TextureCache } from '@pixi/utils'; import { SCALE_MODES } from '@pixi/constants'; import { createServer } from './resources'; -import { Server } from 'http'; +import type { Server } from 'http'; const createRandomName = () => `image${(Math.random() * 10000) | 0}`; diff --git a/packages/loaders/test/LoaderBase.tests.ts b/packages/loaders/test/LoaderBase.tests.ts index 686bf2ab7e..f2f688f9c5 100644 --- a/packages/loaders/test/LoaderBase.tests.ts +++ b/packages/loaders/test/LoaderBase.tests.ts @@ -4,9 +4,9 @@ import { Loader, LoaderResource } from '@pixi/loaders'; import { fixtureData } from './fixtures/data'; import { spritesheetMiddleware } from './fixtures/spritesheet'; -import { Dict } from '@pixi/utils/src'; +import type { Dict } from '@pixi/utils/src'; import { createServer } from './resources'; -import { Server } from 'http'; +import type { Server } from 'http'; describe('Loader', () => { diff --git a/packages/loaders/test/LoaderResource.test.ts b/packages/loaders/test/LoaderResource.test.ts index 3cbb45d821..713cd1db91 100644 --- a/packages/loaders/test/LoaderResource.test.ts +++ b/packages/loaders/test/LoaderResource.test.ts @@ -2,7 +2,8 @@ // @ts-nocheck /* eslint-disable @typescript-eslint/no-unused-expressions */ import sinon from 'sinon'; -import { IResourceMetadata, LoaderResource } from '@pixi/loaders'; +import type { IResourceMetadata } from '@pixi/loaders'; +import { LoaderResource } from '@pixi/loaders'; import { expect } from 'chai'; import { fixtureData } from './fixtures/data'; diff --git a/packages/loaders/test/fixtures/spritesheet.ts b/packages/loaders/test/fixtures/spritesheet.ts index 8dd52d425e..ed27f85abd 100644 --- a/packages/loaders/test/fixtures/spritesheet.ts +++ b/packages/loaders/test/fixtures/spritesheet.ts @@ -1,4 +1,5 @@ -import { Loader, LoaderResource } from '@pixi/loaders'; +import type { Loader } from '@pixi/loaders'; +import { LoaderResource } from '@pixi/loaders'; const splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^/]+?|)(\.[^./]*|))(?:[/]*)$/; diff --git a/packages/math-extras/src/index.ts b/packages/math-extras/src/index.ts index 8405601c7d..225437615b 100644 --- a/packages/math-extras/src/index.ts +++ b/packages/math-extras/src/index.ts @@ -1,7 +1,8 @@ import './pointExtras'; import './rectangleExtras'; -import { IPointData, Point } from '@pixi/math'; +import type { IPointData } from '@pixi/math'; +import { Point } from '@pixi/math'; /** * The idea of a relative epsilon comparison is to find the difference between the two numbers, diff --git a/packages/math-extras/src/pointExtras.ts b/packages/math-extras/src/pointExtras.ts index 6704e4063e..a25fd34b2f 100644 --- a/packages/math-extras/src/pointExtras.ts +++ b/packages/math-extras/src/pointExtras.ts @@ -1,4 +1,5 @@ -import { Point, IPointData, ObservablePoint } from '@pixi/math'; +import type { IPointData } from '@pixi/math'; +import { Point, ObservablePoint } from '@pixi/math'; const mixins: any = { /** diff --git a/packages/math/src/IPoint.ts b/packages/math/src/IPoint.ts index 939ee623ed..8401b32558 100644 --- a/packages/math/src/IPoint.ts +++ b/packages/math/src/IPoint.ts @@ -1,4 +1,4 @@ -import { IPointData } from './IPointData'; +import type { IPointData } from './IPointData'; export interface IPoint extends IPointData { diff --git a/packages/math/src/shapes/Rectangle.ts b/packages/math/src/shapes/Rectangle.ts index 40126362d7..ee68d80e3a 100644 --- a/packages/math/src/shapes/Rectangle.ts +++ b/packages/math/src/shapes/Rectangle.ts @@ -1,5 +1,5 @@ import { SHAPES } from '../const'; -import { Matrix } from '../Matrix'; +import type { Matrix } from '../Matrix'; import { Point } from '../Point'; const tempPoints = [new Point(), new Point(), new Point(), new Point()]; diff --git a/packages/mesh-extras/test/SimplePlane.tests.ts b/packages/mesh-extras/test/SimplePlane.tests.ts index 42276c8ec7..d89da49b88 100644 --- a/packages/mesh-extras/test/SimplePlane.tests.ts +++ b/packages/mesh-extras/test/SimplePlane.tests.ts @@ -1,4 +1,5 @@ -import { PlaneGeometry, SimplePlane } from '@pixi/mesh-extras'; +import type { PlaneGeometry } from '@pixi/mesh-extras'; +import { SimplePlane } from '@pixi/mesh-extras'; import { skipHello } from '@pixi/utils'; import { Loader } from '@pixi/loaders'; import { Point } from '@pixi/math'; diff --git a/packages/mesh/src/Mesh.ts b/packages/mesh/src/Mesh.ts index 5d2ce7bf09..888ae42ca6 100644 --- a/packages/mesh/src/Mesh.ts +++ b/packages/mesh/src/Mesh.ts @@ -1,13 +1,14 @@ -import { Shader, State } from '@pixi/core'; +import { State } from '@pixi/core'; import { Point, Polygon } from '@pixi/math'; -import { BLEND_MODES, DRAW_MODES } from '@pixi/constants'; +import type { BLEND_MODES } from '@pixi/constants'; +import { DRAW_MODES } from '@pixi/constants'; import { Container } from '@pixi/display'; import { settings } from '@pixi/settings'; import { MeshBatchUvs } from './MeshBatchUvs'; -import { MeshMaterial } from './MeshMaterial'; +import type { MeshMaterial } from './MeshMaterial'; import type { IDestroyOptions } from '@pixi/display'; -import type { Texture, Renderer, Geometry, Buffer } from '@pixi/core'; +import type { Texture, Renderer, Geometry, Buffer, Shader } from '@pixi/core'; import type { IPointData } from '@pixi/math'; const tempPoint = new Point(); diff --git a/packages/mixin-cache-as-bitmap/src/index.ts b/packages/mixin-cache-as-bitmap/src/index.ts index 6d0df080e2..fcd051244b 100644 --- a/packages/mixin-cache-as-bitmap/src/index.ts +++ b/packages/mixin-cache-as-bitmap/src/index.ts @@ -1,7 +1,10 @@ -import { Texture, BaseTexture, RenderTexture, Renderer, MaskData, AbstractRenderer } from '@pixi/core'; +import type { Renderer, MaskData, AbstractRenderer } from '@pixi/core'; +import { Texture, BaseTexture, RenderTexture } from '@pixi/core'; import { Sprite } from '@pixi/sprite'; -import { Container, DisplayObject, IDestroyOptions } from '@pixi/display'; -import { IPointData, Matrix, Rectangle } from '@pixi/math'; +import type { Container, IDestroyOptions } from '@pixi/display'; +import { DisplayObject } from '@pixi/display'; +import type { IPointData, Rectangle } from '@pixi/math'; +import { Matrix } from '@pixi/math'; import { uid } from '@pixi/utils'; import { settings } from '@pixi/settings'; import { MSAA_QUALITY } from '@pixi/constants'; diff --git a/packages/particle-container/src/ParticleRenderer.ts b/packages/particle-container/src/ParticleRenderer.ts index 5f26313b71..caad665c3d 100644 --- a/packages/particle-container/src/ParticleRenderer.ts +++ b/packages/particle-container/src/ParticleRenderer.ts @@ -1,5 +1,5 @@ import { TYPES } from '@pixi/constants'; -import { ExtensionMetadata, ExtensionType, ObjectRenderer, Shader, State } from '@pixi/core'; +import { ExtensionType, ObjectRenderer, Shader, State } from '@pixi/core'; import { Matrix } from '@pixi/math'; import { correctBlendMode, premultiplyRgba, premultiplyTint } from '@pixi/utils'; import { ParticleBuffer } from './ParticleBuffer'; @@ -8,7 +8,7 @@ import vertex from './particles.vert'; import type { DisplayObject } from '@pixi/display'; import type { ParticleContainer } from './ParticleContainer'; -import type { Renderer } from '@pixi/core'; +import type { Renderer, ExtensionMetadata } from '@pixi/core'; export interface IParticleRendererProperty { diff --git a/packages/prepare/src/BasePrepare.ts b/packages/prepare/src/BasePrepare.ts index 86abb2d625..870ea5e774 100644 --- a/packages/prepare/src/BasePrepare.ts +++ b/packages/prepare/src/BasePrepare.ts @@ -1,7 +1,8 @@ import { Texture, BaseTexture } from '@pixi/core'; import { Ticker, UPDATE_PRIORITY } from '@pixi/ticker'; import { settings } from '@pixi/settings'; -import { Container, DisplayObject } from '@pixi/display'; +import type { DisplayObject } from '@pixi/display'; +import { Container } from '@pixi/display'; import { Text, TextStyle, TextMetrics } from '@pixi/text'; import { CountLimiter } from './CountLimiter'; diff --git a/packages/prepare/src/Prepare.ts b/packages/prepare/src/Prepare.ts index 88c0be1bf0..fb856a6a51 100644 --- a/packages/prepare/src/Prepare.ts +++ b/packages/prepare/src/Prepare.ts @@ -1,8 +1,9 @@ -import { BaseTexture, ExtensionMetadata, ExtensionType } from '@pixi/core'; +import { BaseTexture, ExtensionType } from '@pixi/core'; import { Graphics } from '@pixi/graphics'; -import { BasePrepare, IDisplayObjectExtended } from './BasePrepare'; +import type { IDisplayObjectExtended } from './BasePrepare'; +import { BasePrepare } from './BasePrepare'; -import type { AbstractRenderer, Renderer } from '@pixi/core'; +import type { AbstractRenderer, Renderer, ExtensionMetadata } from '@pixi/core'; /** * Built-in hook to upload PIXI.Texture objects to the GPU. diff --git a/packages/prepare/test/BasePrepare.tests.ts b/packages/prepare/test/BasePrepare.tests.ts index fbd2e8c039..b5fe963305 100644 --- a/packages/prepare/test/BasePrepare.tests.ts +++ b/packages/prepare/test/BasePrepare.tests.ts @@ -1,7 +1,7 @@ import { BasePrepare } from '@pixi/prepare'; -import { AbstractRenderer } from '@pixi/core'; -import { DisplayObject } from '@pixi/display'; +import type { AbstractRenderer } from '@pixi/core'; +import type { DisplayObject } from '@pixi/display'; describe('BasePrepare', () => { diff --git a/packages/sprite-tiling/src/TilingSpriteRenderer.ts b/packages/sprite-tiling/src/TilingSpriteRenderer.ts index 63057f4768..d46a7e32ad 100644 --- a/packages/sprite-tiling/src/TilingSpriteRenderer.ts +++ b/packages/sprite-tiling/src/TilingSpriteRenderer.ts @@ -1,4 +1,4 @@ -import { ObjectRenderer, Shader, State, QuadUv, ExtensionMetadata, ExtensionType } from '@pixi/core'; +import { ObjectRenderer, Shader, State, QuadUv, ExtensionType } from '@pixi/core'; import { WRAP_MODES } from '@pixi/constants'; import { Matrix } from '@pixi/math'; import { premultiplyTintToRgba, correctBlendMode } from '@pixi/utils'; @@ -9,7 +9,7 @@ import gl1FragmentSrc from './sprite-tiling-fallback.frag'; import gl2VertexSrc from './sprite-tiling.vert'; import gl2FragmentSrc from './sprite-tiling.frag'; -import type { Renderer } from '@pixi/core'; +import type { Renderer, ExtensionMetadata } from '@pixi/core'; import type { TilingSprite } from './TilingSprite'; const tempMat = new Matrix(); diff --git a/packages/sprite-tiling/test/TilingSprite.tests.ts b/packages/sprite-tiling/test/TilingSprite.tests.ts index 395a142b61..57a7cb8ebb 100644 --- a/packages/sprite-tiling/test/TilingSprite.tests.ts +++ b/packages/sprite-tiling/test/TilingSprite.tests.ts @@ -1,4 +1,5 @@ -import { Bounds, Container } from '@pixi/display'; +import type { Bounds } from '@pixi/display'; +import { Container } from '@pixi/display'; import { Texture, BaseTexture } from '@pixi/core'; import { Point, Rectangle } from '@pixi/math'; import { Sprite } from '@pixi/sprite'; diff --git a/packages/spritesheet/src/SpritesheetLoader.ts b/packages/spritesheet/src/SpritesheetLoader.ts index c0314f1b2e..a714e5f36d 100644 --- a/packages/spritesheet/src/SpritesheetLoader.ts +++ b/packages/spritesheet/src/SpritesheetLoader.ts @@ -2,7 +2,8 @@ import { url } from '@pixi/utils'; import { Spritesheet } from './Spritesheet'; import { LoaderResource } from '@pixi/loaders'; import type { Loader } from '@pixi/loaders'; -import { ExtensionMetadata, ExtensionType } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; /** * {@link PIXI.Loader} middleware for loading texture atlases that have been created with diff --git a/packages/spritesheet/test/Spritesheet.tests.ts b/packages/spritesheet/test/Spritesheet.tests.ts index 537a7969d8..22435040d9 100644 --- a/packages/spritesheet/test/Spritesheet.tests.ts +++ b/packages/spritesheet/test/Spritesheet.tests.ts @@ -1,5 +1,7 @@ -import { ISpritesheetData, ISpritesheetFrameData, Spritesheet } from '@pixi/spritesheet'; -import { BaseTexture, ImageResource, Texture } from '@pixi/core'; +import type { ISpritesheetData, ISpritesheetFrameData } from '@pixi/spritesheet'; +import { Spritesheet } from '@pixi/spritesheet'; +import type { ImageResource } from '@pixi/core'; +import { BaseTexture, Texture } from '@pixi/core'; import path from 'path'; describe('Spritesheet', () => diff --git a/packages/spritesheet/test/SpritesheetLoader.tests.ts b/packages/spritesheet/test/SpritesheetLoader.tests.ts index 635a63f7ef..1404735ac8 100644 --- a/packages/spritesheet/test/SpritesheetLoader.tests.ts +++ b/packages/spritesheet/test/SpritesheetLoader.tests.ts @@ -1,5 +1,6 @@ import path from 'path'; -import { IAddOptions, Loader, LoaderResource } from '@pixi/loaders'; +import type { IAddOptions } from '@pixi/loaders'; +import { Loader, LoaderResource } from '@pixi/loaders'; import { Texture, BaseTexture, extensions } from '@pixi/core'; import { BaseTextureCache, TextureCache, url, clearTextureCache } from '@pixi/utils'; import { SpritesheetLoader, Spritesheet } from '@pixi/spritesheet'; diff --git a/packages/text-bitmap/src/BitmapFontLoader.ts b/packages/text-bitmap/src/BitmapFontLoader.ts index 63638d02cc..aa31c8c7af 100644 --- a/packages/text-bitmap/src/BitmapFontLoader.ts +++ b/packages/text-bitmap/src/BitmapFontLoader.ts @@ -4,7 +4,8 @@ import { BitmapFont } from './BitmapFont'; import type { Loader } from '@pixi/loaders'; import type { Dict } from '@pixi/utils'; -import { ExtensionMetadata, ExtensionType, Texture } from '@pixi/core'; +import type { ExtensionMetadata, Texture } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; /** * {@link PIXI.Loader Loader} middleware for loading diff --git a/packages/text-bitmap/src/BitmapText.ts b/packages/text-bitmap/src/BitmapText.ts index 36137be93f..410f75de27 100644 --- a/packages/text-bitmap/src/BitmapText.ts +++ b/packages/text-bitmap/src/BitmapText.ts @@ -7,7 +7,8 @@ import { splitTextToCharacters, extractCharCode } from './utils'; import msdfFrag from './shader/msdf.frag'; import msdfVert from './shader/msdf.vert'; import type { Rectangle } from '@pixi/math'; -import { Program, Renderer, Texture } from '@pixi/core'; +import type { Renderer } from '@pixi/core'; +import { Program, Texture } from '@pixi/core'; import type { IBitmapTextStyle } from './BitmapTextStyle'; import type { TextStyleAlign } from '@pixi/text'; import { Container } from '@pixi/display'; diff --git a/packages/text-bitmap/src/formats/XMLStringFormat.ts b/packages/text-bitmap/src/formats/XMLStringFormat.ts index c5f217e6ab..41968f54f1 100644 --- a/packages/text-bitmap/src/formats/XMLStringFormat.ts +++ b/packages/text-bitmap/src/formats/XMLStringFormat.ts @@ -1,4 +1,4 @@ -import { BitmapFontData } from '../BitmapFontData'; +import type { BitmapFontData } from '../BitmapFontData'; import { XMLFormat } from './XMLFormat'; /** diff --git a/packages/text-bitmap/src/utils/generateFillStyle.ts b/packages/text-bitmap/src/utils/generateFillStyle.ts index 5e0f8e903f..d7a883adf0 100644 --- a/packages/text-bitmap/src/utils/generateFillStyle.ts +++ b/packages/text-bitmap/src/utils/generateFillStyle.ts @@ -1,4 +1,5 @@ -import { TextStyle, TextMetrics, TEXT_GRADIENT } from '@pixi/text'; +import type { TextStyle, TextMetrics } from '@pixi/text'; +import { TEXT_GRADIENT } from '@pixi/text'; // TODO: Prevent code duplication b/w generateFillStyle & Text#generateFillStyle diff --git a/packages/text-bitmap/test/BitmapFontLoader.tests.ts b/packages/text-bitmap/test/BitmapFontLoader.tests.ts index ec05e6e546..f6a3d3c141 100644 --- a/packages/text-bitmap/test/BitmapFontLoader.tests.ts +++ b/packages/text-bitmap/test/BitmapFontLoader.tests.ts @@ -1,9 +1,12 @@ import path from 'path'; import fs from 'fs'; -import { Loader, LoaderResource } from '@pixi/loaders'; +import type { LoaderResource } from '@pixi/loaders'; +import { Loader } from '@pixi/loaders'; import { BaseTextureCache, TextureCache } from '@pixi/utils'; -import { Texture, BaseTexture, ImageResource } from '@pixi/core'; -import { ISpritesheetData, Spritesheet } from '@pixi/spritesheet'; +import type { ImageResource } from '@pixi/core'; +import { Texture, BaseTexture } from '@pixi/core'; +import type { ISpritesheetData } from '@pixi/spritesheet'; +import { Spritesheet } from '@pixi/spritesheet'; import { BitmapFont, BitmapFontLoader } from '@pixi/text-bitmap'; describe('BitmapFontLoader', () => diff --git a/packages/text-bitmap/test/BitmapText.tests.ts b/packages/text-bitmap/test/BitmapText.tests.ts index f838b54ced..f6c178a906 100644 --- a/packages/text-bitmap/test/BitmapText.tests.ts +++ b/packages/text-bitmap/test/BitmapText.tests.ts @@ -4,7 +4,7 @@ import { BitmapText, BitmapFont } from '@pixi/text-bitmap'; import { settings } from '@pixi/settings'; import { Texture, Renderer } from '@pixi/core'; -import { Container } from '@pixi/display'; +import type { Container } from '@pixi/display'; describe('BitmapText', () => { diff --git a/packages/text/src/TextMetrics.ts b/packages/text/src/TextMetrics.ts index 92133ab3aa..c1f1818cf4 100644 --- a/packages/text/src/TextMetrics.ts +++ b/packages/text/src/TextMetrics.ts @@ -1,4 +1,4 @@ -import { TextStyle, TextStyleWhiteSpace } from './TextStyle'; +import type { TextStyle, TextStyleWhiteSpace } from './TextStyle'; interface IFontMetrics { diff --git a/packages/text/test/Text.tests.ts b/packages/text/test/Text.tests.ts index f33a774f29..3ff50ccd52 100644 --- a/packages/text/test/Text.tests.ts +++ b/packages/text/test/Text.tests.ts @@ -4,7 +4,7 @@ import { skipHello } from '@pixi/utils'; import { settings } from '@pixi/settings'; import { Renderer, BatchRenderer, extensions } from '@pixi/core'; -import { IDestroyOptions } from '@pixi/display'; +import type { IDestroyOptions } from '@pixi/display'; skipHello(); diff --git a/packages/text/test/TextMetrics.tests.ts b/packages/text/test/TextMetrics.tests.ts index 7a39227acb..20b8c7451f 100644 --- a/packages/text/test/TextMetrics.tests.ts +++ b/packages/text/test/TextMetrics.tests.ts @@ -1,4 +1,5 @@ -import { ITextStyle, TextMetrics, TextStyle } from '@pixi/text'; +import type { ITextStyle } from '@pixi/text'; +import { TextMetrics, TextStyle } from '@pixi/text'; /** * Fonts render slightly differently between platforms so tests that depend on a specific diff --git a/packages/ticker/src/TickerListener.ts b/packages/ticker/src/TickerListener.ts index 9c931f7ae0..40191b9bfc 100644 --- a/packages/ticker/src/TickerListener.ts +++ b/packages/ticker/src/TickerListener.ts @@ -1,4 +1,4 @@ -import { TickerCallback } from './Ticker'; +import type { TickerCallback } from './Ticker'; /** * Internal class for handling the priority sorting of ticker handlers. diff --git a/packages/ticker/src/TickerPlugin.ts b/packages/ticker/src/TickerPlugin.ts index b713a32bb2..71ec62ec59 100644 --- a/packages/ticker/src/TickerPlugin.ts +++ b/packages/ticker/src/TickerPlugin.ts @@ -1,4 +1,5 @@ -import { ExtensionMetadata, ExtensionType } from '@pixi/core'; +import type { ExtensionMetadata } from '@pixi/core'; +import { ExtensionType } from '@pixi/core'; import { UPDATE_PRIORITY } from './const'; import { Ticker } from './Ticker';