modern-canvas 0.13.5 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/dist/Engine.d.ts +5 -3
  2. package/dist/core/index.d.ts +1 -1
  3. package/dist/core/math/{Rect2.d.ts → Rectangle.d.ts} +16 -2
  4. package/dist/core/math/index.d.ts +1 -1
  5. package/dist/core/renderers/gl/GlBatch2DSystem.d.ts +44 -0
  6. package/dist/core/renderers/gl/GlColorMaskSystem.d.ts +7 -0
  7. package/dist/core/renderers/gl/GlMaskSystem.d.ts +17 -0
  8. package/dist/core/renderers/gl/GlRenderer.d.ts +63 -0
  9. package/dist/core/renderers/gl/GlStencilSystem.d.ts +56 -0
  10. package/dist/core/renderers/gl/GlViewportSystem.d.ts +9 -0
  11. package/dist/core/renderers/gl/buffer/GlBuffer.d.ts +8 -0
  12. package/dist/core/renderers/gl/buffer/GlBufferSystem.d.ts +14 -0
  13. package/dist/core/renderers/gl/buffer/const.d.ts +5 -0
  14. package/dist/core/renderers/gl/buffer/index.d.ts +3 -0
  15. package/dist/core/renderers/gl/const.d.ts +19 -0
  16. package/dist/core/renderers/gl/geometry/GlGeometrySystem.d.ts +29 -0
  17. package/dist/core/renderers/gl/geometry/getGlTypeFromFormat.d.ts +6 -0
  18. package/dist/core/renderers/gl/geometry/index.d.ts +1 -0
  19. package/dist/core/renderers/gl/index.d.ts +11 -0
  20. package/dist/core/renderers/gl/renderTarget/GlRenderTarget.d.ts +10 -0
  21. package/dist/core/renderers/gl/renderTarget/GlRenderTargetSystem.d.ts +31 -0
  22. package/dist/core/renderers/gl/renderTarget/index.d.ts +2 -0
  23. package/dist/core/renderers/gl/shader/GlProgram.d.ts +39 -0
  24. package/dist/core/renderers/gl/shader/GlProgramData.d.ts +4 -0
  25. package/dist/core/renderers/gl/shader/GlShaderSystem.d.ts +22 -0
  26. package/dist/core/renderers/gl/shader/const.d.ts +1 -0
  27. package/dist/core/renderers/gl/shader/defaultValue.d.ts +1 -0
  28. package/dist/core/renderers/gl/shader/getMaxFragmentPrecision.d.ts +3 -0
  29. package/dist/core/renderers/gl/shader/getTestContext.d.ts +2 -0
  30. package/dist/core/renderers/gl/shader/index.d.ts +2 -0
  31. package/dist/core/renderers/gl/shader/mapType.d.ts +3 -0
  32. package/dist/core/renderers/gl/shader/preprocessors/addProgramDefines.d.ts +1 -0
  33. package/dist/core/renderers/gl/shader/preprocessors/ensurePrecision.d.ts +9 -0
  34. package/dist/core/renderers/gl/shader/preprocessors/insertVersion.d.ts +1 -0
  35. package/dist/core/renderers/gl/shader/preprocessors/setProgramName.d.ts +3 -0
  36. package/dist/core/renderers/gl/shader/preprocessors/stripVersion.d.ts +1 -0
  37. package/dist/core/renderers/gl/state/GlBlendMode.d.ts +20 -0
  38. package/dist/core/{renderer/webgl/modules/WebGLStateModule.d.ts → renderers/gl/state/GlStateSystem.d.ts} +18 -17
  39. package/dist/core/renderers/gl/state/index.d.ts +2 -0
  40. package/dist/core/renderers/gl/system/GlSystem.d.ts +12 -0
  41. package/dist/core/renderers/gl/system/index.d.ts +1 -0
  42. package/dist/core/renderers/gl/texture/GlTexture.d.ts +12 -0
  43. package/dist/core/renderers/gl/texture/GlTextureSystem.d.ts +31 -0
  44. package/dist/core/renderers/gl/texture/GlTextureUploader.d.ts +8 -0
  45. package/dist/core/renderers/gl/texture/const.d.ts +49 -0
  46. package/dist/core/renderers/gl/texture/index.d.ts +2 -0
  47. package/dist/core/renderers/gl/texture/mapFormatToGlFormat.d.ts +2 -0
  48. package/dist/core/renderers/gl/texture/mapFormatToGlInternalFormat.d.ts +2 -0
  49. package/dist/core/renderers/gl/texture/mapFormatToGlType.d.ts +2 -0
  50. package/dist/core/renderers/gl/texture/updateTextureStyle.d.ts +31 -0
  51. package/dist/core/renderers/gl/texture/uploaders/buffer.d.ts +2 -0
  52. package/dist/core/renderers/gl/texture/uploaders/image.d.ts +2 -0
  53. package/dist/core/renderers/gl/texture/uploaders/index.d.ts +5 -0
  54. package/dist/core/renderers/gl/types.d.ts +71 -0
  55. package/dist/core/renderers/index.d.ts +2 -0
  56. package/dist/core/{renderer → renderers/shared}/Renderer.d.ts +0 -4
  57. package/dist/core/renderers/shared/buffer/BufferLike.d.ts +11 -0
  58. package/dist/core/renderers/shared/buffer/const.d.ts +13 -0
  59. package/dist/core/renderers/shared/buffer/index.d.ts +2 -0
  60. package/dist/core/renderers/shared/geometry/GeometryLike.d.ts +22 -0
  61. package/dist/core/renderers/shared/geometry/const.d.ts +2 -0
  62. package/dist/core/renderers/shared/geometry/getAttributeInfoFromFormat.d.ts +6 -0
  63. package/dist/core/renderers/shared/geometry/index.d.ts +2 -0
  64. package/dist/core/renderers/shared/index.d.ts +7 -0
  65. package/dist/core/renderers/shared/renderTarget/RenderTargetLike.d.ts +16 -0
  66. package/dist/core/renderers/shared/renderTarget/index.d.ts +1 -0
  67. package/dist/core/renderers/shared/shader/ShaderLike.d.ts +10 -0
  68. package/dist/core/renderers/shared/shader/index.d.ts +1 -0
  69. package/dist/core/renderers/shared/texture/TextureLike.d.ts +31 -0
  70. package/dist/core/renderers/shared/texture/const.d.ts +6 -0
  71. package/dist/core/renderers/shared/texture/index.d.ts +2 -0
  72. package/dist/core/renderers/shared/utils/createIdFromString.d.ts +1 -0
  73. package/dist/core/renderers/shared/utils/index.d.ts +1 -0
  74. package/dist/core/shared/id.d.ts +1 -0
  75. package/dist/core/shared/index.d.ts +1 -1
  76. package/dist/core/shared/utils.d.ts +0 -1
  77. package/dist/css/index.d.ts +3 -3
  78. package/dist/css/{parseCSSFilter.d.ts → parseCssFilter.d.ts} +1 -1
  79. package/dist/css/{parseCSSTransform.d.ts → parseCssTransform.d.ts} +1 -1
  80. package/dist/css/parseCssTransformOrigin.d.ts +1 -0
  81. package/dist/index.js +4423 -4122
  82. package/dist/render.d.ts +2 -3
  83. package/dist/scene/2d/Camera2D.d.ts +3 -1
  84. package/dist/scene/2d/Element2D.d.ts +11 -4
  85. package/dist/scene/2d/FlexLayout.d.ts +6 -11
  86. package/dist/scene/2d/Node2D.d.ts +1 -1
  87. package/dist/scene/2d/element/BaseElement2D.d.ts +35 -35
  88. package/dist/scene/2d/element/{BaseElement2DBackground.d.ts → Element2DBackground.d.ts} +2 -2
  89. package/dist/scene/2d/element/{BaseElement2DFill.d.ts → Element2DFill.d.ts} +13 -12
  90. package/dist/scene/2d/element/{BaseElement2DForeground.d.ts → Element2DForeground.d.ts} +2 -2
  91. package/dist/scene/2d/element/{BaseElement2DOutline.d.ts → Element2DOutline.d.ts} +4 -4
  92. package/dist/scene/2d/element/{BaseElement2DShadow.d.ts → Element2DShadow.d.ts} +1 -1
  93. package/dist/scene/2d/element/{BaseElement2DShape.d.ts → Element2DShape.d.ts} +1 -1
  94. package/dist/scene/2d/element/Element2DStyle.d.ts +6 -6
  95. package/dist/scene/2d/element/{BaseElement2DText.d.ts → Element2DText.d.ts} +11 -6
  96. package/dist/scene/2d/element/index.d.ts +7 -9
  97. package/dist/scene/2d/element/utils.d.ts +3 -5
  98. package/dist/scene/2d/index.d.ts +0 -2
  99. package/dist/scene/audio/AudioWaveform.d.ts +0 -1
  100. package/dist/scene/effects/ColorAdjustEffect.d.ts +2 -2
  101. package/dist/scene/effects/ColorFilterEffect.d.ts +5 -4
  102. package/dist/scene/effects/ColorOverlayEffect.d.ts +2 -2
  103. package/dist/scene/effects/ColorRemoveEffect.d.ts +2 -2
  104. package/dist/scene/effects/ColorReplaceEffect.d.ts +2 -2
  105. package/dist/scene/effects/DrawboardEffect.d.ts +2 -2
  106. package/dist/scene/effects/DropShadowEffect.d.ts +2 -2
  107. package/dist/scene/effects/EmbossEffect.d.ts +2 -2
  108. package/dist/scene/effects/GaussianBlurEffect.d.ts +2 -2
  109. package/dist/scene/effects/GlitchEffect.d.ts +2 -2
  110. package/dist/scene/effects/GodrayEffect.d.ts +2 -2
  111. package/dist/scene/effects/KawaseBlurEffect.d.ts +2 -2
  112. package/dist/scene/effects/MaskEffect.d.ts +2 -2
  113. package/dist/scene/effects/OutlineEffect.d.ts +2 -2
  114. package/dist/scene/effects/PixelateEffect.d.ts +2 -2
  115. package/dist/scene/effects/ZoomBlurEffect.d.ts +3 -3
  116. package/dist/scene/main/CanvasContext.d.ts +11 -9
  117. package/dist/scene/main/CanvasItem.d.ts +13 -16
  118. package/dist/scene/main/Effect.d.ts +7 -8
  119. package/dist/scene/main/Node.d.ts +19 -10
  120. package/dist/scene/main/RenderStack.d.ts +9 -6
  121. package/dist/scene/main/SceneTree.d.ts +6 -6
  122. package/dist/scene/main/Viewport.d.ts +18 -26
  123. package/dist/scene/main/Window.d.ts +4 -4
  124. package/dist/scene/main/interfaces/Rectangulable.d.ts +2 -2
  125. package/dist/scene/resources/RenderTarget.d.ts +26 -0
  126. package/dist/scene/resources/geometries/Geometry.d.ts +11 -20
  127. package/dist/scene/resources/geometries/IndexBuffer.d.ts +7 -16
  128. package/dist/scene/resources/geometries/QuadUvGeometry.d.ts +2 -2
  129. package/dist/scene/resources/geometries/UvGeometry.d.ts +4 -1
  130. package/dist/scene/resources/geometries/VertexAttribute.d.ts +9 -18
  131. package/dist/scene/resources/geometries/VertexBuffer.d.ts +7 -16
  132. package/dist/scene/resources/index.d.ts +1 -0
  133. package/dist/scene/resources/materials/EffectMaterial.d.ts +0 -2
  134. package/dist/scene/resources/materials/Material.d.ts +9 -13
  135. package/dist/scene/resources/textures/CanvasTexture.d.ts +4 -2
  136. package/dist/scene/resources/textures/ColorTexture.d.ts +3 -2
  137. package/dist/scene/resources/textures/GradientTexture.d.ts +2 -2
  138. package/dist/scene/resources/textures/PixelsTexture.d.ts +5 -4
  139. package/dist/scene/resources/textures/Texture2D.d.ts +23 -25
  140. package/dist/scene/resources/textures/VideoTexture.d.ts +2 -2
  141. package/dist/scene/resources/textures/ViewportTexture.d.ts +2 -2
  142. package/dist/scene/resources/textures/index.d.ts +0 -1
  143. package/dist/scene/transitions/KawaseTransition.d.ts +2 -2
  144. package/dist/scene/transitions/LeftEraseTransition.d.ts +2 -2
  145. package/dist/scene/transitions/TiltShiftTransition.d.ts +2 -2
  146. package/dist/scene/transitions/TwistTransition.d.ts +2 -2
  147. package/package.json +7 -7
  148. package/dist/core/renderer/index.d.ts +0 -2
  149. package/dist/core/renderer/webgl/WebGLRenderer.d.ts +0 -52
  150. package/dist/core/renderer/webgl/index.d.ts +0 -3
  151. package/dist/core/renderer/webgl/modules/WebGLBatch2DModule.d.ts +0 -45
  152. package/dist/core/renderer/webgl/modules/WebGLBlendMode.d.ts +0 -20
  153. package/dist/core/renderer/webgl/modules/WebGLBufferModule.d.ts +0 -18
  154. package/dist/core/renderer/webgl/modules/WebGLFramebufferModule.d.ts +0 -25
  155. package/dist/core/renderer/webgl/modules/WebGLMaskModule.d.ts +0 -31
  156. package/dist/core/renderer/webgl/modules/WebGLModule.d.ts +0 -10
  157. package/dist/core/renderer/webgl/modules/WebGLProgramModule.d.ts +0 -21
  158. package/dist/core/renderer/webgl/modules/WebGLScissorModule.d.ts +0 -10
  159. package/dist/core/renderer/webgl/modules/WebGLStencilModule.d.ts +0 -10
  160. package/dist/core/renderer/webgl/modules/WebGLTextureModule.d.ts +0 -26
  161. package/dist/core/renderer/webgl/modules/WebGLVertexArrayModule.d.ts +0 -19
  162. package/dist/core/renderer/webgl/modules/WebGLViewportModule.d.ts +0 -9
  163. package/dist/core/renderer/webgl/modules/index.d.ts +0 -14
  164. package/dist/core/renderer/webgl/modules/types.d.ts +0 -4
  165. package/dist/core/renderer/webgl/modules/utils.d.ts +0 -1
  166. package/dist/core/renderer/webgl/types.d.ts +0 -129
  167. package/dist/core/shared/RawWeakMap.d.ts +0 -22
  168. package/dist/css/parseCSSTransformOrigin.d.ts +0 -1
  169. package/dist/scene/2d/FlexElement2D.d.ts +0 -32
  170. package/dist/scene/2d/Image2D.d.ts +0 -35
  171. package/dist/scene/2d/element/BaseElement2DStyle.d.ts +0 -13
  172. package/dist/scene/2d/element/FlexElement2DStyle.d.ts +0 -9
  173. package/dist/scene/resources/textures/ImageTexture.d.ts +0 -20
@@ -0,0 +1,2 @@
1
+ export * from './GlBlendMode';
2
+ export * from './GlStateSystem';
@@ -0,0 +1,12 @@
1
+ import type { GlRenderer } from '../GlRenderer';
2
+ import type { GlRenderingContext } from '../types';
3
+ export declare abstract class GlSystem {
4
+ protected _renderer: GlRenderer;
5
+ protected get _gl(): GlRenderingContext;
6
+ get gl(): GlRenderingContext;
7
+ install(renderer: GlRenderer): void;
8
+ onUpdateContext(gl: GlRenderingContext): void;
9
+ flush(): void;
10
+ reset(): void;
11
+ destroy(): void;
12
+ }
@@ -0,0 +1 @@
1
+ export * from './GlSystem';
@@ -0,0 +1,12 @@
1
+ import { GlFormat, GlTarget, GlType } from './const';
2
+ export declare class GlTexture {
3
+ native: WebGLTexture;
4
+ target: GlTarget;
5
+ width: number;
6
+ height: number;
7
+ mipmap: boolean;
8
+ type: GlType;
9
+ internalFormat: GlFormat;
10
+ format: GlFormat;
11
+ constructor(native: WebGLTexture);
12
+ }
@@ -0,0 +1,31 @@
1
+ import type { TextureLike } from '../../shared';
2
+ import type { GlRenderer } from '../GlRenderer';
3
+ import type { GlRenderingContext, GlTextureLocation } from '../types';
4
+ import type { GlTextureUploader } from './GlTextureUploader';
5
+ import { GlSystem } from '../system';
6
+ import { GlTexture } from './GlTexture';
7
+ export declare class GlTextureSystem extends GlSystem {
8
+ uploaders: Record<string, GlTextureUploader>;
9
+ readonly textures: Map<number, TextureLike>;
10
+ readonly glTextures: Map<number, GlTexture>;
11
+ protected _mapFormatToInternalFormat: Record<string, number>;
12
+ protected _mapFormatToType: Record<string, number>;
13
+ protected _mapFormatToFormat: Record<string, number>;
14
+ protected _premultiplyAlpha: boolean;
15
+ maxTextureSize: number;
16
+ maxTextureImageUnits: number;
17
+ protected _location: GlTextureLocation;
18
+ current: (TextureLike | null)[];
19
+ install(renderer: GlRenderer): void;
20
+ onUpdateContext(gl: GlRenderingContext): void;
21
+ getGlTexture(texture: TextureLike): GlTexture;
22
+ protected _createGlTexture(texture: TextureLike): GlTexture;
23
+ bind(texture?: TextureLike | null, location?: number): void;
24
+ protected _activateLocation(location: number): void;
25
+ unbind(source: TextureLike | number): void;
26
+ protected _sourceUnload(source: TextureLike): void;
27
+ updateStyle(texture: TextureLike, firstCreation?: boolean): void;
28
+ updateSource(texture: TextureLike): void;
29
+ updateMipmap(texture: TextureLike): void;
30
+ reset(): void;
31
+ }
@@ -0,0 +1,8 @@
1
+ import type { TextureLikeObject } from '../../shared';
2
+ import type { GlRenderingContext } from '../types';
3
+ import type { GlTexture } from './GlTexture';
4
+ /** @internal */
5
+ export interface GlTextureUploader {
6
+ id: string;
7
+ upload: (texture: TextureLikeObject, glTexture: GlTexture, gl: GlRenderingContext, webGLVersion: number) => void;
8
+ }
@@ -0,0 +1,49 @@
1
+ export declare enum GlFormat {
2
+ RGBA = 6408,
3
+ RGB = 6407,
4
+ RG = 33319,
5
+ RED = 6403,
6
+ RGBA_INTEGER = 36249,
7
+ RGB_INTEGER = 36248,
8
+ RG_INTEGER = 33320,
9
+ RED_INTEGER = 36244,
10
+ ALPHA = 6406,
11
+ LUMINANCE = 6409,
12
+ LUMINANCE_ALPHA = 6410,
13
+ DEPTH_COMPONENT = 6402,
14
+ DEPTH_STENCIL = 34041
15
+ }
16
+ export declare enum GlTarget {
17
+ TEXTURE_2D = 3553,
18
+ TEXTURE_CUBE_MAP = 34067,
19
+ TEXTURE_2D_ARRAY = 35866,
20
+ TEXTURE_CUBE_MAP_POSITIVE_X = 34069,
21
+ TEXTURE_CUBE_MAP_NEGATIVE_X = 34070,
22
+ TEXTURE_CUBE_MAP_POSITIVE_Y = 34071,
23
+ TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072,
24
+ TEXTURE_CUBE_MAP_POSITIVE_Z = 34073,
25
+ TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074
26
+ }
27
+ export declare enum GL_WRAP_MODES {
28
+ CLAMP = 33071,
29
+ REPEAT = 10497,
30
+ MIRRORED_REPEAT = 33648
31
+ }
32
+ export declare enum GlType {
33
+ UNSIGNED_BYTE = 5121,
34
+ UNSIGNED_SHORT = 5123,
35
+ UNSIGNED_SHORT_5_6_5 = 33635,
36
+ UNSIGNED_SHORT_4_4_4_4 = 32819,
37
+ UNSIGNED_SHORT_5_5_5_1 = 32820,
38
+ UNSIGNED_INT = 5125,
39
+ UNSIGNED_INT_10F_11F_11F_REV = 35899,
40
+ UNSIGNED_INT_2_10_10_10_REV = 33640,
41
+ UNSIGNED_INT_24_8 = 34042,
42
+ UNSIGNED_INT_5_9_9_9_REV = 35902,
43
+ BYTE = 5120,
44
+ SHORT = 5122,
45
+ INT = 5124,
46
+ FLOAT = 5126,
47
+ FLOAT_32_UNSIGNED_INT_24_8_REV = 36269,
48
+ HALF_FLOAT = 36193
49
+ }
@@ -0,0 +1,2 @@
1
+ export * from './const';
2
+ export * from './GlTextureSystem';
@@ -0,0 +1,2 @@
1
+ import type { GlRenderingContext } from '../types';
2
+ export declare function mapFormatToGlFormat(gl: GlRenderingContext): Record<string, number>;
@@ -0,0 +1,2 @@
1
+ import type { GlExtensions, GlRenderingContext } from '../types';
2
+ export declare function mapFormatToGlInternalFormat(gl: GlRenderingContext, extensions: GlExtensions): Record<string, number>;
@@ -0,0 +1,2 @@
1
+ import type { GlRenderingContext } from '../types';
2
+ export declare function mapFormatToGlType(gl: GlRenderingContext): Record<string, number>;
@@ -0,0 +1,31 @@
1
+ import type { TextureLike } from '../../shared';
2
+ export declare const mipmapScaleModeMap: {
3
+ linear: {
4
+ linear: number;
5
+ nearest: number;
6
+ };
7
+ nearest: {
8
+ linear: number;
9
+ nearest: number;
10
+ };
11
+ };
12
+ export declare const scaleModeMap: {
13
+ linear: number;
14
+ nearest: number;
15
+ };
16
+ export declare const compareFuncMap: {
17
+ never: number;
18
+ less: number;
19
+ equal: number;
20
+ 'less-equal': number;
21
+ greater: number;
22
+ 'not-equal': number;
23
+ 'greater-equal': number;
24
+ always: number;
25
+ };
26
+ export declare const wrapModeMap: {
27
+ 'clamp-to-edge': number;
28
+ repeat: number;
29
+ 'mirror-repeat': number;
30
+ };
31
+ export declare function updateTextureStyle(texture: TextureLike, gl: WebGL2RenderingContext, mipmaps: boolean, anisotropicExt: EXT_texture_filter_anisotropic | undefined, glFunctionName: 'samplerParameteri' | 'texParameteri', firstParam: 3553 | WebGLSampler, forceClamp: boolean, firstCreation: boolean): void;
@@ -0,0 +1,2 @@
1
+ import type { GlTextureUploader } from '../GlTextureUploader';
2
+ export declare const buffer: GlTextureUploader;
@@ -0,0 +1,2 @@
1
+ import type { GlTextureUploader } from '../GlTextureUploader';
2
+ export declare const image: GlTextureUploader;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ buffer: import("../GlTextureUploader").GlTextureUploader;
3
+ image: import("../GlTextureUploader").GlTextureUploader;
4
+ };
5
+ export default _default;
@@ -0,0 +1,71 @@
1
+ import type { GlRenderer } from './GlRenderer';
2
+ export type GlRenderingContext = WebGL2RenderingContext;
3
+ type Pick<T> = T extends string ? T extends Uppercase<T> ? Lowercase<T> : never : never;
4
+ export interface GlRenderable {
5
+ render: (renderer: GlRenderer) => void;
6
+ }
7
+ export type GlTarget = Pick<keyof WebGL2RenderingContext>;
8
+ export type GlTextureLocation = number;
9
+ export interface WEBGL_compressed_texture_pvrtc {
10
+ COMPRESSED_RGB_PVRTC_4BPPV1_IMG: number;
11
+ COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: number;
12
+ COMPRESSED_RGB_PVRTC_2BPPV1_IMG: number;
13
+ COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: number;
14
+ }
15
+ export interface WEBGL_compressed_texture_etc {
16
+ COMPRESSED_R11_EAC: number;
17
+ COMPRESSED_SIGNED_R11_EAC: number;
18
+ COMPRESSED_RG11_EAC: number;
19
+ COMPRESSED_SIGNED_RG11_EAC: number;
20
+ COMPRESSED_RGB8_ETC2: number;
21
+ COMPRESSED_RGBA8_ETC2_EAC: number;
22
+ COMPRESSED_SRGB8_ETC2: number;
23
+ COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: number;
24
+ COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: number;
25
+ COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: number;
26
+ }
27
+ export interface WEBGL_compressed_texture_etc1 {
28
+ COMPRESSED_RGB_ETC1_WEBGL: number;
29
+ }
30
+ export interface WEBGL_compressed_texture_atc {
31
+ COMPRESSED_RGB_ATC_WEBGL: number;
32
+ COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: number;
33
+ COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: number;
34
+ }
35
+ export interface EXT_texture_compression_bptc {
36
+ COMPRESSED_RGBA_BPTC_UNORM_EXT: number;
37
+ COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: number;
38
+ COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: number;
39
+ COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: number;
40
+ }
41
+ export interface EXT_texture_compression_rgtc {
42
+ COMPRESSED_RED_RGTC1_EXT: number;
43
+ COMPRESSED_SIGNED_RED_RGTC1_EXT: number;
44
+ COMPRESSED_RED_GREEN_RGTC2_EXT: number;
45
+ COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: number;
46
+ }
47
+ export interface GlExtensions {
48
+ drawBuffers?: WEBGL_draw_buffers;
49
+ depthTexture?: OES_texture_float;
50
+ loseContext?: WEBGL_lose_context;
51
+ vertexArrayObject?: OES_vertex_array_object;
52
+ anisotropicFiltering?: EXT_texture_filter_anisotropic;
53
+ uint32ElementIndex?: OES_element_index_uint;
54
+ floatTexture?: OES_texture_float;
55
+ floatTextureLinear?: OES_texture_float_linear;
56
+ textureHalfFloat?: OES_texture_half_float;
57
+ textureHalfFloatLinear?: OES_texture_half_float_linear;
58
+ colorBufferFloat?: EXT_color_buffer_float;
59
+ vertexAttribDivisorANGLE?: ANGLE_instanced_arrays;
60
+ s3tc?: WEBGL_compressed_texture_s3tc;
61
+ s3tc_sRGB?: WEBGL_compressed_texture_s3tc_srgb;
62
+ etc?: WEBGL_compressed_texture_etc;
63
+ etc1?: WEBGL_compressed_texture_etc1;
64
+ pvrtc?: WEBGL_compressed_texture_pvrtc;
65
+ atc?: WEBGL_compressed_texture_atc;
66
+ astc?: WEBGL_compressed_texture_astc;
67
+ bptc?: EXT_texture_compression_bptc;
68
+ rgtc?: EXT_texture_compression_rgtc;
69
+ srgb?: EXT_sRGB;
70
+ }
71
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './gl';
2
+ export * from './shared';
@@ -1,5 +1,4 @@
1
1
  import { Reactivable } from 'modern-idoc';
2
- import { RawWeakMap } from '../shared';
3
2
  export declare abstract class Renderer extends Reactivable {
4
3
  pixelRatio: number;
5
4
  view?: HTMLCanvasElement;
@@ -9,9 +8,6 @@ export declare abstract class Renderer extends Reactivable {
9
8
  width: number;
10
9
  height: number;
11
10
  };
12
- readonly related: RawWeakMap<object, any>;
13
11
  protected _updateProperty(key: string, newValue: any, oldValue: any): void;
14
- getRelated<T>(source: object, createFn?: () => T): T;
15
12
  resize(width: number, height: number, updateStyle?: boolean): void;
16
- destroy(): void;
17
13
  }
@@ -0,0 +1,11 @@
1
+ import type { Reactivable } from 'modern-idoc';
2
+ import type { BufferUsage } from './const';
3
+ export type TypedArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array;
4
+ export interface BufferLikeObject {
5
+ instanceId: number;
6
+ usage: BufferUsage;
7
+ data: TypedArray;
8
+ }
9
+ export interface BufferLikeReactiveObject extends BufferLikeObject, Reactivable {
10
+ }
11
+ export type BufferLike = BufferLikeObject | BufferLikeReactiveObject;
@@ -0,0 +1,13 @@
1
+ export declare enum BufferUsage {
2
+ mapRead = 1,
3
+ mapWrite = 2,
4
+ copySrc = 4,
5
+ copyDst = 8,
6
+ index = 16,
7
+ vertex = 32,
8
+ uniform = 64,
9
+ storage = 128,
10
+ indirect = 256,
11
+ queryResolve = 512,
12
+ static = 1024
13
+ }
@@ -0,0 +1,2 @@
1
+ export * from './BufferLike';
2
+ export * from './const';
@@ -0,0 +1,22 @@
1
+ import type { Reactivable } from 'modern-idoc';
2
+ import type { BufferLike } from '../buffer';
3
+ import type { Topology, VertexFormat } from './const';
4
+ export interface GeometryAttributeLike {
5
+ format: VertexFormat;
6
+ buffer: BufferLike;
7
+ instance?: boolean;
8
+ stride?: number;
9
+ offset?: number;
10
+ start?: number;
11
+ divisor?: number;
12
+ }
13
+ export interface GeometryLikeObject {
14
+ instanceId: number;
15
+ topology?: Topology;
16
+ attributes: Record<string, GeometryAttributeLike>;
17
+ indexBuffer?: BufferLike;
18
+ instanceCount?: number;
19
+ }
20
+ export interface GeometryLikeReactiveObject extends GeometryLikeObject, Reactivable {
21
+ }
22
+ export type GeometryLike = GeometryLikeObject | GeometryLikeReactiveObject;
@@ -0,0 +1,2 @@
1
+ export type Topology = 'point-list' | 'line-list' | 'line-strip' | 'triangle-list' | 'triangle-strip';
2
+ export type VertexFormat = 'uint8x2' | 'uint8x4' | 'sint8x2' | 'sint8x4' | 'unorm8x2' | 'unorm8x4' | 'snorm8x2' | 'snorm8x4' | 'uint16x2' | 'uint16x4' | 'sint16x2' | 'sint16x4' | 'unorm16x2' | 'unorm16x4' | 'snorm16x2' | 'snorm16x4' | 'float16x2' | 'float16x4' | 'float32' | 'float32x2' | 'float32x3' | 'float32x4' | 'uint32' | 'uint32x2' | 'uint32x3' | 'uint32x4' | 'sint32' | 'sint32x2' | 'sint32x3' | 'sint32x4';
@@ -0,0 +1,6 @@
1
+ import type { VertexFormat } from './const';
2
+ export declare function getAttributeInfoFromFormat(format: VertexFormat): {
3
+ size: number;
4
+ stride: number;
5
+ normalized: boolean;
6
+ };
@@ -0,0 +1,2 @@
1
+ export * from './const';
2
+ export * from './GeometryLike';
@@ -0,0 +1,7 @@
1
+ export * from './buffer';
2
+ export * from './geometry';
3
+ export * from './Renderer';
4
+ export * from './renderTarget';
5
+ export * from './shader';
6
+ export * from './texture';
7
+ export * from './utils';
@@ -0,0 +1,16 @@
1
+ import type { Reactivable } from 'modern-idoc';
2
+ import type { TextureLike } from '../texture';
3
+ export interface RenderTargetLikeObject {
4
+ instanceId: number;
5
+ width: number;
6
+ height: number;
7
+ colorTextures: TextureLike[];
8
+ isRoot?: boolean;
9
+ mipLevel?: number;
10
+ msaa?: boolean;
11
+ stencil?: boolean;
12
+ depth?: boolean;
13
+ }
14
+ export interface RenderTargetLikeReactiveObject extends RenderTargetLikeObject, Reactivable {
15
+ }
16
+ export type RenderTargetLike = RenderTargetLikeObject | RenderTargetLikeReactiveObject;
@@ -0,0 +1 @@
1
+ export * from './RenderTargetLike';
@@ -0,0 +1,10 @@
1
+ import type { Reactivable } from 'modern-idoc';
2
+ import type { GlProgram } from '../../gl/shader/GlProgram';
3
+ export interface ShaderLikeObject {
4
+ instanceId: number;
5
+ glProgram: GlProgram;
6
+ uniforms?: Record<string, any>;
7
+ }
8
+ export interface ShaderLikeReactiveObject extends ShaderLikeObject, Reactivable {
9
+ }
10
+ export type ShaderLike = ShaderLikeObject | ShaderLikeReactiveObject;
@@ -0,0 +1 @@
1
+ export * from './ShaderLike';
@@ -0,0 +1,31 @@
1
+ import type { Reactivable } from 'modern-idoc';
2
+ import type { AlphaMode, CompareFunction, ScaleMode, TextureFormat, WrapMode } from './const';
3
+ export type TextureSource = TexImageSource | ArrayBufferView | null;
4
+ export interface TextureLikeObject {
5
+ instanceId: number;
6
+ uploadMethodId: string;
7
+ source: TextureSource;
8
+ format: TextureFormat;
9
+ width: number;
10
+ height: number;
11
+ pixelRatio?: number;
12
+ pixelWidth?: number;
13
+ pixelHeight?: number;
14
+ sourceWidth?: number;
15
+ sourceHeight?: number;
16
+ alphaMode?: AlphaMode;
17
+ mipmap: boolean;
18
+ mipLevelCount: number;
19
+ isPowerOfTwo?: boolean;
20
+ addressModeU?: WrapMode;
21
+ addressModeV?: WrapMode;
22
+ addressModeW?: WrapMode;
23
+ magFilter?: ScaleMode;
24
+ minFilter?: ScaleMode;
25
+ mipmapFilter?: ScaleMode;
26
+ compare?: CompareFunction;
27
+ maxAnisotropy?: number;
28
+ }
29
+ export interface TextureLikeReactiveObject extends TextureLikeObject, Reactivable {
30
+ }
31
+ export type TextureLike = TextureLikeObject | TextureLikeReactiveObject;
@@ -0,0 +1,6 @@
1
+ export type AlphaMode = 'no-premultiply-alpha' | 'premultiply-alpha-on-upload' | 'premultiplied-alpha';
2
+ export type TextureFormat = 'r8unorm' | 'r8snorm' | 'r8uint' | 'r8sint' | 'r16uint' | 'r16sint' | 'r16float' | 'rg8unorm' | 'rg8snorm' | 'rg8uint' | 'rg8sint' | 'r32uint' | 'r32sint' | 'r32float' | 'rg16uint' | 'rg16sint' | 'rg16float' | 'rgba8unorm' | 'rgba8unorm-srgb' | 'rgba8snorm' | 'rgba8uint' | 'rgba8sint' | 'bgra8unorm' | 'bgra8unorm-srgb' | 'rgb9e5ufloat' | 'rgb10a2unorm' | 'rg11b10ufloat' | 'rg32uint' | 'rg32sint' | 'rg32float' | 'rgba16uint' | 'rgba16sint' | 'rgba16float' | 'rgba32uint' | 'rgba32sint' | 'rgba32float' | 'stencil8' | 'depth16unorm' | 'depth24plus' | 'depth24plus-stencil8' | 'depth32float' | 'depth32float-stencil8' | 'bc1-rgba-unorm' | 'bc1-rgba-unorm-srgb' | 'bc2-rgba-unorm' | 'bc2-rgba-unorm-srgb' | 'bc3-rgba-unorm' | 'bc3-rgba-unorm-srgb' | 'bc4-r-unorm' | 'bc4-r-snorm' | 'bc5-rg-unorm' | 'bc5-rg-snorm' | 'bc6h-rgb-ufloat' | 'bc6h-rgb-float' | 'bc7-rgba-unorm' | 'bc7-rgba-unorm-srgb' | 'etc2-rgb8unorm' | 'etc2-rgb8unorm-srgb' | 'etc2-rgb8a1unorm' | 'etc2-rgb8a1unorm-srgb' | 'etc2-rgba8unorm' | 'etc2-rgba8unorm-srgb' | 'eac-r11unorm' | 'eac-r11snorm' | 'eac-rg11unorm' | 'eac-rg11snorm' | 'astc-4x4-unorm' | 'astc-4x4-unorm-srgb' | 'astc-5x4-unorm' | 'astc-5x4-unorm-srgb' | 'astc-5x5-unorm' | 'astc-5x5-unorm-srgb' | 'astc-6x5-unorm' | 'astc-6x5-unorm-srgb' | 'astc-6x6-unorm' | 'astc-6x6-unorm-srgb' | 'astc-8x5-unorm' | 'astc-8x5-unorm-srgb' | 'astc-8x6-unorm' | 'astc-8x6-unorm-srgb' | 'astc-8x8-unorm' | 'astc-8x8-unorm-srgb' | 'astc-10x5-unorm' | 'astc-10x5-unorm-srgb' | 'astc-10x6-unorm' | 'astc-10x6-unorm-srgb' | 'astc-10x8-unorm' | 'astc-10x8-unorm-srgb' | 'astc-10x10-unorm' | 'astc-10x10-unorm-srgb' | 'astc-12x10-unorm' | 'astc-12x10-unorm-srgb' | 'astc-12x12-unorm' | 'astc-12x12-unorm-srgb';
3
+ export type TextureDimension = '1d' | '2d' | '3d';
4
+ export type WrapMode = 'clamp-to-edge' | 'repeat' | 'mirror-repeat';
5
+ export type ScaleMode = 'nearest' | 'linear';
6
+ export type CompareFunction = 'never' | 'less' | 'equal' | 'less-equal' | 'greater' | 'not-equal' | 'greater-equal' | 'always';
@@ -0,0 +1,2 @@
1
+ export * from './const';
2
+ export * from './TextureLike';
@@ -0,0 +1 @@
1
+ export declare function createIdFromString(value: string, groupId: string): number;
@@ -0,0 +1 @@
1
+ export * from './createIdFromString';
@@ -0,0 +1 @@
1
+ export declare function instanceId(): number;
@@ -1,4 +1,4 @@
1
1
  export * from './css';
2
2
  export * from './dom';
3
- export * from './RawWeakMap';
3
+ export * from './id';
4
4
  export * from './utils';
@@ -1,4 +1,3 @@
1
1
  export declare const PI: number;
2
2
  export declare const PI_2: number;
3
- export declare function uid(object?: Record<string, any>): number;
4
3
  export declare function isPow2(v: number): boolean;
@@ -1,3 +1,3 @@
1
- export * from './parseCSSFilter';
2
- export * from './parseCSSTransform';
3
- export * from './parseCSSTransformOrigin';
1
+ export * from './parseCssFilter';
2
+ export * from './parseCssTransform';
3
+ export * from './parseCssTransformOrigin';
@@ -1,4 +1,4 @@
1
1
  import { ColorMatrix } from '../core';
2
2
  export type CSSFilterKey = 'hue-rotate' | 'saturate' | 'brightness' | 'contrast' | 'invert' | 'sepia' | 'opacity' | 'grayscale';
3
3
  export type CSSFilters = Record<CSSFilterKey, number>;
4
- export declare function parseCSSFilter(filter: string): ColorMatrix;
4
+ export declare function parseCssFilter(filter: string): ColorMatrix;
@@ -1,2 +1,2 @@
1
1
  import { Transform2D } from '../core';
2
- export declare function parseCSSTransform(transform: string, width: number, height: number, output?: Transform2D): Transform2D;
2
+ export declare function parseCssTransform(transform: string, width: number, height: number, output?: Transform2D): Transform2D;
@@ -0,0 +1 @@
1
+ export declare function parseCssTransformOrigin(transformOrigin: string): number[];