@swf2es/player 0.1.0 → 0.1.1

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 (277) hide show
  1. package/package.json +7 -7
  2. package/dist/audio.d.ts +0 -22
  3. package/dist/audio.d.ts.map +0 -1
  4. package/dist/audio.js +0 -106
  5. package/dist/audio.js.map +0 -1
  6. package/dist/bitmap-filters.d.ts +0 -29
  7. package/dist/bitmap-filters.d.ts.map +0 -1
  8. package/dist/bitmap-filters.js +0 -906
  9. package/dist/bitmap-filters.js.map +0 -1
  10. package/dist/bitmap-ops.d.ts +0 -113
  11. package/dist/bitmap-ops.d.ts.map +0 -1
  12. package/dist/bitmap-ops.js +0 -725
  13. package/dist/bitmap-ops.js.map +0 -1
  14. package/dist/bitmap.d.ts +0 -98
  15. package/dist/bitmap.d.ts.map +0 -1
  16. package/dist/bitmap.js +0 -314
  17. package/dist/bitmap.js.map +0 -1
  18. package/dist/bounds.d.ts +0 -26
  19. package/dist/bounds.d.ts.map +0 -1
  20. package/dist/bounds.js +0 -300
  21. package/dist/bounds.js.map +0 -1
  22. package/dist/color.d.ts +0 -7
  23. package/dist/color.d.ts.map +0 -1
  24. package/dist/color.js +0 -42
  25. package/dist/color.js.map +0 -1
  26. package/dist/display.d.ts +0 -425
  27. package/dist/display.d.ts.map +0 -1
  28. package/dist/display.js +0 -1274
  29. package/dist/display.js.map +0 -1
  30. package/dist/drawing.d.ts +0 -52
  31. package/dist/drawing.d.ts.map +0 -1
  32. package/dist/drawing.js +0 -204
  33. package/dist/drawing.js.map +0 -1
  34. package/dist/filters.d.ts +0 -54
  35. package/dist/filters.d.ts.map +0 -1
  36. package/dist/filters.js +0 -155
  37. package/dist/filters.js.map +0 -1
  38. package/dist/fonts.d.ts +0 -23
  39. package/dist/fonts.d.ts.map +0 -1
  40. package/dist/fonts.js +0 -91
  41. package/dist/fonts.js.map +0 -1
  42. package/dist/geometry.d.ts +0 -21
  43. package/dist/geometry.d.ts.map +0 -1
  44. package/dist/geometry.js +0 -76
  45. package/dist/geometry.js.map +0 -1
  46. package/dist/gradients.d.ts +0 -29
  47. package/dist/gradients.d.ts.map +0 -1
  48. package/dist/gradients.js +0 -116
  49. package/dist/gradients.js.map +0 -1
  50. package/dist/images.d.ts +0 -22
  51. package/dist/images.d.ts.map +0 -1
  52. package/dist/images.js +0 -147
  53. package/dist/images.js.map +0 -1
  54. package/dist/input.d.ts +0 -79
  55. package/dist/input.d.ts.map +0 -1
  56. package/dist/input.js +0 -366
  57. package/dist/input.js.map +0 -1
  58. package/dist/keyboard.d.ts +0 -97
  59. package/dist/keyboard.d.ts.map +0 -1
  60. package/dist/keyboard.js +0 -583
  61. package/dist/keyboard.js.map +0 -1
  62. package/dist/morph.d.ts +0 -17
  63. package/dist/morph.d.ts.map +0 -1
  64. package/dist/morph.js +0 -218
  65. package/dist/morph.js.map +0 -1
  66. package/dist/pixi-blend.d.ts +0 -7
  67. package/dist/pixi-blend.d.ts.map +0 -1
  68. package/dist/pixi-blend.js +0 -253
  69. package/dist/pixi-blend.js.map +0 -1
  70. package/dist/pixi-color.d.ts +0 -54
  71. package/dist/pixi-color.d.ts.map +0 -1
  72. package/dist/pixi-color.js +0 -336
  73. package/dist/pixi-color.js.map +0 -1
  74. package/dist/pixi-filters.d.ts +0 -40
  75. package/dist/pixi-filters.d.ts.map +0 -1
  76. package/dist/pixi-filters.js +0 -953
  77. package/dist/pixi-filters.js.map +0 -1
  78. package/dist/pixi-resolve.d.ts +0 -4
  79. package/dist/pixi-resolve.d.ts.map +0 -1
  80. package/dist/pixi-resolve.js +0 -76
  81. package/dist/pixi-resolve.js.map +0 -1
  82. package/dist/pixi.d.ts +0 -219
  83. package/dist/pixi.d.ts.map +0 -1
  84. package/dist/pixi.js +0 -2169
  85. package/dist/pixi.js.map +0 -1
  86. package/dist/playerglobal/flash/filters/filters.d.ts +0 -26
  87. package/dist/playerglobal/flash/filters/filters.d.ts.map +0 -1
  88. package/dist/playerglobal/flash/filters/filters.js +0 -287
  89. package/dist/playerglobal/flash/filters/filters.js.map +0 -1
  90. package/dist/playerglobal/flash/system/FSCommand.d.ts +0 -4
  91. package/dist/playerglobal/flash/system/FSCommand.d.ts.map +0 -1
  92. package/dist/playerglobal/flash/system/FSCommand.js +0 -18
  93. package/dist/playerglobal/flash/system/FSCommand.js.map +0 -1
  94. package/dist/playerglobal/natives.d.ts +0 -10
  95. package/dist/playerglobal/natives.d.ts.map +0 -1
  96. package/dist/playerglobal/natives.js +0 -53
  97. package/dist/playerglobal/natives.js.map +0 -1
  98. package/dist/png.d.ts +0 -4
  99. package/dist/png.d.ts.map +0 -1
  100. package/dist/png.js +0 -140
  101. package/dist/png.js.map +0 -1
  102. package/dist/render/art.d.ts +0 -148
  103. package/dist/render/art.d.ts.map +0 -1
  104. package/dist/render/art.js +0 -575
  105. package/dist/render/art.js.map +0 -1
  106. package/dist/render/batchers.d.ts +0 -23
  107. package/dist/render/batchers.d.ts.map +0 -1
  108. package/dist/render/batchers.js +0 -52
  109. package/dist/render/batchers.js.map +0 -1
  110. package/dist/render/bitmaps.d.ts +0 -117
  111. package/dist/render/bitmaps.d.ts.map +0 -1
  112. package/dist/render/bitmaps.js +0 -422
  113. package/dist/render/bitmaps.js.map +0 -1
  114. package/dist/render/blend.d.ts +0 -37
  115. package/dist/render/blend.d.ts.map +0 -1
  116. package/dist/render/blend.js +0 -195
  117. package/dist/render/blend.js.map +0 -1
  118. package/dist/render/color.d.ts +0 -111
  119. package/dist/render/color.d.ts.map +0 -1
  120. package/dist/render/color.js +0 -533
  121. package/dist/render/color.js.map +0 -1
  122. package/dist/render/compositing.d.ts +0 -77
  123. package/dist/render/compositing.d.ts.map +0 -1
  124. package/dist/render/compositing.js +0 -188
  125. package/dist/render/compositing.js.map +0 -1
  126. package/dist/render/filters.d.ts +0 -98
  127. package/dist/render/filters.d.ts.map +0 -1
  128. package/dist/render/filters.js +0 -1326
  129. package/dist/render/filters.js.map +0 -1
  130. package/dist/render/hooks.d.ts +0 -4
  131. package/dist/render/hooks.d.ts.map +0 -1
  132. package/dist/render/hooks.js +0 -48
  133. package/dist/render/hooks.js.map +0 -1
  134. package/dist/render/node.d.ts +0 -139
  135. package/dist/render/node.d.ts.map +0 -1
  136. package/dist/render/node.js +0 -59
  137. package/dist/render/node.js.map +0 -1
  138. package/dist/render/patches.d.ts +0 -54
  139. package/dist/render/patches.d.ts.map +0 -1
  140. package/dist/render/patches.js +0 -154
  141. package/dist/render/patches.js.map +0 -1
  142. package/dist/render/planes.d.ts +0 -74
  143. package/dist/render/planes.d.ts.map +0 -1
  144. package/dist/render/planes.js +0 -267
  145. package/dist/render/planes.js.map +0 -1
  146. package/dist/render/pointer.d.ts +0 -5
  147. package/dist/render/pointer.d.ts.map +0 -1
  148. package/dist/render/pointer.js +0 -279
  149. package/dist/render/pointer.js.map +0 -1
  150. package/dist/render/pools.d.ts +0 -122
  151. package/dist/render/pools.d.ts.map +0 -1
  152. package/dist/render/pools.js +0 -238
  153. package/dist/render/pools.js.map +0 -1
  154. package/dist/render/resolve.d.ts +0 -4
  155. package/dist/render/resolve.d.ts.map +0 -1
  156. package/dist/render/resolve.js +0 -76
  157. package/dist/render/resolve.js.map +0 -1
  158. package/dist/render/saffron.d.ts +0 -135
  159. package/dist/render/saffron.d.ts.map +0 -1
  160. package/dist/render/saffron.js +0 -725
  161. package/dist/render/saffron.js.map +0 -1
  162. package/dist/render/settle.d.ts +0 -60
  163. package/dist/render/settle.d.ts.map +0 -1
  164. package/dist/render/settle.js +0 -128
  165. package/dist/render/settle.js.map +0 -1
  166. package/dist/render/shared.d.ts +0 -25
  167. package/dist/render/shared.d.ts.map +0 -1
  168. package/dist/render/shared.js +0 -33
  169. package/dist/render/shared.js.map +0 -1
  170. package/dist/render/snapshot.d.ts +0 -21
  171. package/dist/render/snapshot.d.ts.map +0 -1
  172. package/dist/render/snapshot.js +0 -91
  173. package/dist/render/snapshot.js.map +0 -1
  174. package/dist/render/spares.d.ts +0 -56
  175. package/dist/render/spares.d.ts.map +0 -1
  176. package/dist/render/spares.js +0 -160
  177. package/dist/render/spares.js.map +0 -1
  178. package/dist/render/strokes.d.ts +0 -107
  179. package/dist/render/strokes.d.ts.map +0 -1
  180. package/dist/render/strokes.js +0 -448
  181. package/dist/render/strokes.js.map +0 -1
  182. package/dist/render/table.d.ts +0 -213
  183. package/dist/render/table.d.ts.map +0 -1
  184. package/dist/render/table.js +0 -795
  185. package/dist/render/table.js.map +0 -1
  186. package/dist/render/tessellate.d.ts +0 -89
  187. package/dist/render/tessellate.d.ts.map +0 -1
  188. package/dist/render/tessellate.js +0 -386
  189. package/dist/render/tessellate.js.map +0 -1
  190. package/dist/render/text.d.ts +0 -40
  191. package/dist/render/text.d.ts.map +0 -1
  192. package/dist/render/text.js +0 -309
  193. package/dist/render/text.js.map +0 -1
  194. package/dist/render/three.d.ts +0 -83
  195. package/dist/render/three.d.ts.map +0 -1
  196. package/dist/render/three.js +0 -511
  197. package/dist/render/three.js.map +0 -1
  198. package/dist/render/triangles.d.ts +0 -28
  199. package/dist/render/triangles.d.ts.map +0 -1
  200. package/dist/render/triangles.js +0 -189
  201. package/dist/render/triangles.js.map +0 -1
  202. package/dist/render/view.d.ts +0 -238
  203. package/dist/render/view.d.ts.map +0 -1
  204. package/dist/render/view.js +0 -1173
  205. package/dist/render/view.js.map +0 -1
  206. package/dist/render/worker/bitmaps.d.ts +0 -43
  207. package/dist/render/worker/bitmaps.d.ts.map +0 -1
  208. package/dist/render/worker/bitmaps.js +0 -151
  209. package/dist/render/worker/bitmaps.js.map +0 -1
  210. package/dist/render/worker/drawing.d.ts +0 -21
  211. package/dist/render/worker/drawing.d.ts.map +0 -1
  212. package/dist/render/worker/drawing.js +0 -356
  213. package/dist/render/worker/drawing.js.map +0 -1
  214. package/dist/render/worker/filters.d.ts +0 -7
  215. package/dist/render/worker/filters.d.ts.map +0 -1
  216. package/dist/render/worker/filters.js +0 -125
  217. package/dist/render/worker/filters.js.map +0 -1
  218. package/dist/render/worker/frames.d.ts +0 -32
  219. package/dist/render/worker/frames.d.ts.map +0 -1
  220. package/dist/render/worker/frames.js +0 -124
  221. package/dist/render/worker/frames.js.map +0 -1
  222. package/dist/render/worker/host.d.ts +0 -60
  223. package/dist/render/worker/host.d.ts.map +0 -1
  224. package/dist/render/worker/host.js +0 -297
  225. package/dist/render/worker/host.js.map +0 -1
  226. package/dist/render/worker/libraries.d.ts +0 -36
  227. package/dist/render/worker/libraries.d.ts.map +0 -1
  228. package/dist/render/worker/libraries.js +0 -153
  229. package/dist/render/worker/libraries.js.map +0 -1
  230. package/dist/render/worker/presentation.d.ts +0 -18
  231. package/dist/render/worker/presentation.d.ts.map +0 -1
  232. package/dist/render/worker/presentation.js +0 -47
  233. package/dist/render/worker/presentation.js.map +0 -1
  234. package/dist/render/worker/renderer.d.ts +0 -4
  235. package/dist/render/worker/renderer.d.ts.map +0 -1
  236. package/dist/render/worker/renderer.js +0 -21
  237. package/dist/render/worker/renderer.js.map +0 -1
  238. package/dist/render/worker/scene.d.ts +0 -32
  239. package/dist/render/worker/scene.d.ts.map +0 -1
  240. package/dist/render/worker/scene.js +0 -611
  241. package/dist/render/worker/scene.js.map +0 -1
  242. package/dist/render/worker/text.d.ts +0 -47
  243. package/dist/render/worker/text.d.ts.map +0 -1
  244. package/dist/render/worker/text.js +0 -261
  245. package/dist/render/worker/text.js.map +0 -1
  246. package/dist/render/worker/thread.d.ts +0 -23
  247. package/dist/render/worker/thread.d.ts.map +0 -1
  248. package/dist/render/worker/thread.js +0 -107
  249. package/dist/render/worker/thread.js.map +0 -1
  250. package/dist/render/worker/values.d.ts +0 -18
  251. package/dist/render/worker/values.d.ts.map +0 -1
  252. package/dist/render/worker/values.js +0 -64
  253. package/dist/render/worker/values.js.map +0 -1
  254. package/dist/sha256.d.ts +0 -5
  255. package/dist/sha256.d.ts.map +0 -1
  256. package/dist/sha256.js +0 -96
  257. package/dist/sha256.js.map +0 -1
  258. package/dist/shapes.d.ts +0 -71
  259. package/dist/shapes.d.ts.map +0 -1
  260. package/dist/shapes.js +0 -340
  261. package/dist/shapes.js.map +0 -1
  262. package/dist/static-text.d.ts +0 -33
  263. package/dist/static-text.d.ts.map +0 -1
  264. package/dist/static-text.js +0 -105
  265. package/dist/static-text.js.map +0 -1
  266. package/dist/text-layout.d.ts +0 -66
  267. package/dist/text-layout.d.ts.map +0 -1
  268. package/dist/text-layout.js +0 -315
  269. package/dist/text-layout.js.map +0 -1
  270. package/dist/text.d.ts +0 -67
  271. package/dist/text.d.ts.map +0 -1
  272. package/dist/text.js +0 -383
  273. package/dist/text.js.map +0 -1
  274. package/dist/timeline.d.ts +0 -150
  275. package/dist/timeline.d.ts.map +0 -1
  276. package/dist/timeline.js +0 -266
  277. package/dist/timeline.js.map +0 -1
@@ -1,533 +0,0 @@
1
- import { BatchableGraphics, BatchableSprite, Batcher, Buffer, BufferUsage, compileHighShaderGlProgram, compileHighShaderGpuProgram, ExtensionType, extensions, Geometry, Graphics, generateTextureBatchBit, generateTextureBatchBitGl, getBatchSamplersUniformGroup, localUniformBitGl, Matrix, RendererType, roundPixelsBit, roundPixelsBitGl, Shader, UniformGroup, } from "pixi.js";
2
- import { copyContext } from "./tessellate.js";
3
- const NAME = "flash-color";
4
- /** Position 2, UV 2, colour 1, texture and rounding 1, multipliers 4, offsets 4. */
5
- const VERTEX_SIZE = 14;
6
- const colorBitGl = {
7
- name: "flash-color-bit",
8
- vertex: {
9
- header: `
10
- in vec4 aColor;
11
- in vec4 aMul;
12
- in vec4 aAdd;
13
- out vec4 vMul;
14
- out vec4 vAdd;
15
- `,
16
- main: `
17
- vMul = aMul;
18
- vAdd = aAdd;
19
- `,
20
- // flashColor already includes the group's ancestors; Pixi's global colour would apply them twice.
21
- end: `vColor = aColor;`,
22
- },
23
- fragment: {
24
- header: `
25
- in vec4 vMul;
26
- in vec4 vAdd;
27
- `,
28
- end: `
29
- if (outColor.a == 0.0) {
30
- finalColor = vec4(0.0);
31
- } else {
32
- vec4 straight = vec4(outColor.rgb / outColor.a * vColor.rgb, outColor.a * vColor.a);
33
- vec4 c = clamp(straight * vMul + vAdd, 0.0, 1.0);
34
- finalColor = vec4(c.rgb * c.a, c.a);
35
- }
36
- `,
37
- },
38
- };
39
- /**
40
- * The colour batcher's colour for Pixi's graphics shader, which draws a
41
- * Graphics alone under its transform: the straight colour as the batcher
42
- * packs it (straight), the fill's from the vertex times the Graphics' own
43
- * tint, rounded to a byte, and its alpha truncated to one; the transform in
44
- * uniforms.
45
- */
46
- const aloneBitGl = {
47
- name: "flash-color-alone-bit",
48
- vertex: {
49
- header: `
50
- in vec4 aColor;
51
- uniform vec4 uOwn;
52
- `,
53
- // After Pixi's tint and world colour, which it replaces: the transform includes every ancestor's.
54
- end: `
55
- vColor = vec4(
56
- floor(aColor.rgb * uOwn.rgb * 255.0 + 0.5),
57
- floor(aColor.a * uOwn.a * 255.0 + 0.001)
58
- ) / 255.0;
59
- `,
60
- },
61
- fragment: {
62
- header: `
63
- uniform vec4 uMul;
64
- uniform vec4 uAdd;
65
- `,
66
- end: `
67
- if (outColor.a == 0.0) {
68
- finalColor = vec4(0.0);
69
- } else {
70
- vec4 straight = vec4(outColor.rgb / outColor.a * vColor.rgb, outColor.a * vColor.a);
71
- vec4 c = clamp(straight * uMul + uAdd, 0.0, 1.0);
72
- finalColor = vec4(c.rgb * c.a, c.a);
73
- }
74
- `,
75
- },
76
- };
77
- const colorBit = {
78
- name: "flash-color-bit",
79
- vertex: {
80
- header: `
81
- @in aColor: vec4<f32>;
82
- @in aMul: vec4<f32>;
83
- @in aAdd: vec4<f32>;
84
- @out vMul: vec4<f32>;
85
- @out vAdd: vec4<f32>;
86
- `,
87
- main: `
88
- vMul = aMul;
89
- vAdd = aAdd;
90
- `,
91
- end: `vColor = aColor;`,
92
- },
93
- fragment: {
94
- header: `
95
- @in vMul: vec4<f32>;
96
- @in vAdd: vec4<f32>;
97
- `,
98
- end: `
99
- if (outColor.a == 0.0) {
100
- finalColor = vec4<f32>(0.0);
101
- } else {
102
- let straight = vec4<f32>(outColor.rgb / outColor.a * vColor.rgb, outColor.a * vColor.a);
103
- let c = clamp(straight * vMul + vAdd, vec4<f32>(0.0), vec4<f32>(1.0));
104
- finalColor = vec4<f32>(c.rgb * c.a, c.a);
105
- }
106
- `,
107
- },
108
- };
109
- class ColorShader extends Shader {
110
- maxTextures;
111
- constructor(maxTextures) {
112
- super({
113
- glProgram: compileHighShaderGlProgram({
114
- name: NAME,
115
- bits: [colorBitGl, generateTextureBatchBitGl(maxTextures), roundPixelsBitGl],
116
- }),
117
- gpuProgram: compileHighShaderGpuProgram({
118
- name: NAME,
119
- bits: [colorBit, generateTextureBatchBit(maxTextures), roundPixelsBit],
120
- }),
121
- resources: { batchSamplers: getBatchSamplersUniformGroup(maxTextures) },
122
- });
123
- this.maxTextures = maxTextures;
124
- }
125
- }
126
- class ColorGeometry extends Geometry {
127
- constructor() {
128
- const buffer = new Buffer({
129
- data: new Float32Array(1),
130
- label: "flash-color-attributes",
131
- usage: BufferUsage.VERTEX | BufferUsage.COPY_DST,
132
- shrinkToFit: false,
133
- });
134
- const stride = VERTEX_SIZE * 4;
135
- super({
136
- attributes: {
137
- aPosition: { buffer, format: "float32x2", stride, offset: 0 },
138
- aUV: { buffer, format: "float32x2", stride, offset: 8 },
139
- aColor: { buffer, format: "unorm8x4", stride, offset: 16 },
140
- aTextureIdAndRound: { buffer, format: "uint16x2", stride, offset: 20 },
141
- aMul: { buffer, format: "float32x4", stride, offset: 24 },
142
- aAdd: { buffer, format: "float32x4", stride, offset: 40 },
143
- },
144
- indexBuffer: new Buffer({
145
- data: new Uint32Array(1),
146
- label: "flash-color-indices",
147
- usage: BufferUsage.INDEX | BufferUsage.COPY_DST,
148
- shrinkToFit: false,
149
- }),
150
- });
151
- }
152
- }
153
- /** Shaders by texture count: every batcher of one count shares one. */
154
- const shaders = new Map();
155
- /**
156
- * The straight colour, ABGR as the colour attribute reads it: a fill's own,
157
- * else white, times the renderable's own tint and alpha, a glyph's colour
158
- * as text draws it. Not its group's: what its ancestors' colour transforms
159
- * make is in its flashColor, and their tint stays white under one.
160
- */
161
- function straight(element) {
162
- const own = element.renderable;
163
- const fill = element.baseColor ?? 0xffffff;
164
- const tint = own?.tint ?? 0xffffff;
165
- const alpha = (element.alpha ?? 1) * (own?.alpha ?? 1);
166
- return ((((alpha * 255) << 24) |
167
- (channel(fill, tint, 0) << 16) |
168
- (channel(fill, tint, 8) << 8) |
169
- channel(fill, tint, 16)) >>>
170
- 0);
171
- }
172
- /** A channel of a fill's colour times the tint's; apart, not a closure made for each element packed. */
173
- function channel(fill, tint, shift) {
174
- return Math.round((((fill >> shift) & 0xff) * ((tint >> shift) & 0xff)) / 255);
175
- }
176
- const NONE = {
177
- rMul: 1,
178
- gMul: 1,
179
- bMul: 1,
180
- aMul: 1,
181
- rAdd: 0,
182
- gAdd: 0,
183
- bAdd: 0,
184
- aAdd: 0,
185
- };
186
- export class ColorBatcher extends Batcher {
187
- static extension = { type: [ExtensionType.Batcher], name: NAME };
188
- name = NAME;
189
- vertexSize = VERTEX_SIZE;
190
- geometry = new ColorGeometry();
191
- shader;
192
- constructor(options) {
193
- super(options);
194
- const max = options.maxTextures ?? 16;
195
- let shader = shaders.get(max);
196
- if (!shader) {
197
- shader = new ColorShader(max);
198
- shaders.set(max, shader);
199
- }
200
- this.shader = shader;
201
- }
202
- /** The vertex's colour, texture and transform after its position and UV, which `at` holds. */
203
- tail(f32, u32, at, color, texture, ct) {
204
- u32[at] = color;
205
- u32[at + 1] = texture;
206
- f32[at + 2] = ct.rMul;
207
- f32[at + 3] = ct.gMul;
208
- f32[at + 4] = ct.bMul;
209
- f32[at + 5] = ct.aMul;
210
- f32[at + 6] = ct.rAdd / 255;
211
- f32[at + 7] = ct.gAdd / 255;
212
- f32[at + 8] = ct.bAdd / 255;
213
- f32[at + 9] = ct.aAdd / 255;
214
- }
215
- packAttributes(element, f32, u32, index, textureId) {
216
- const extra = element;
217
- const texture = (textureId << 16) | (element.roundPixels & 0xffff);
218
- const { a, b, c, d, tx, ty } = element.transform;
219
- const { positions, uvs } = element;
220
- const color = straight(extra);
221
- const ct = extra.renderable?.flashColor ?? NONE;
222
- const end = element.attributeOffset + element.attributeSize;
223
- for (let i = element.attributeOffset; i < end; i++) {
224
- const x = positions[i * 2];
225
- const y = positions[i * 2 + 1];
226
- f32[index] = a * x + c * y + tx;
227
- f32[index + 1] = d * y + b * x + ty;
228
- f32[index + 2] = uvs[i * 2];
229
- f32[index + 3] = uvs[i * 2 + 1];
230
- this.tail(f32, u32, index + 4, color, texture, ct);
231
- index += VERTEX_SIZE;
232
- }
233
- }
234
- packQuadAttributes(element, f32, u32, index, textureId) {
235
- const extra = element;
236
- const texture = (textureId << 16) | (element.roundPixels & 0xffff);
237
- const m = element.transform;
238
- const { minX, minY, maxX, maxY } = element.bounds;
239
- const uv = element.texture.uvs;
240
- const color = straight(extra);
241
- const ct = extra.renderable?.flashColor ?? NONE;
242
- const corner = (at, x, y, u, v) => {
243
- f32[at] = m.a * x + m.c * y + m.tx;
244
- f32[at + 1] = m.d * y + m.b * x + m.ty;
245
- f32[at + 2] = u;
246
- f32[at + 3] = v;
247
- this.tail(f32, u32, at + 4, color, texture, ct);
248
- };
249
- corner(index, minX, minY, uv.x0, uv.y0);
250
- corner(index + VERTEX_SIZE, maxX, minY, uv.x1, uv.y1);
251
- corner(index + VERTEX_SIZE * 2, maxX, maxY, uv.x2, uv.y2);
252
- corner(index + VERTEX_SIZE * 3, minX, maxY, uv.x3, uv.y3);
253
- }
254
- }
255
- extensions.add(ColorBatcher);
256
- /**
257
- * The batcher an element goes to (render/hooks.ts): a Graphics' or a
258
- * sprite's under a colour transform to this batcher, any other to the one
259
- * it names, Pixi's "default" or another a host gives.
260
- */
261
- export function batcherNameFor(element) {
262
- if (element instanceof BatchableGraphics || element instanceof BatchableSprite) {
263
- if (element.renderable?.flashColor) {
264
- return NAME;
265
- }
266
- }
267
- return element.batcherName;
268
- }
269
- /** Each unbatched context's batched copy, made when a Graphics drawing it is first colour-transformed. */
270
- const batchedCopies = new WeakMap();
271
- /**
272
- * `context`, batched: a shared one, which shapes, glyphs and lines make
273
- * "no-batch" (render/tessellate.ts, shapeContext), as a copy; a Graphics' own, as itself.
274
- */
275
- function batched(context) {
276
- if (context.batchMode === "batch") {
277
- return context;
278
- }
279
- if (context.batchMode !== "no-batch") {
280
- context.batchMode = "batch";
281
- return context;
282
- }
283
- let copy = batchedCopies.get(context);
284
- if (!copy) {
285
- copy = copyContext(context);
286
- copy.batchMode = "batch";
287
- // Its triangles are the original's, built already where it was drawn alone: earcut, at
288
- // the most a frame of a crowded room took building shapes, runs once for both.
289
- copy.tessellationOf = context;
290
- batchedCopies.set(context, copy);
291
- }
292
- return copy;
293
- }
294
- /** A context destroyed: its batched copy, if it has one, taken for it to destroy too. */
295
- export function takeBatchedCopy(context) {
296
- const copy = batchedCopies.get(context);
297
- batchedCopies.delete(context);
298
- return copy;
299
- }
300
- /**
301
- * Vertices of a context from which, under a colour transform, it is drawn
302
- * alone rather than as a batched copy: Pixi's own line between the
303
- * Graphics it batches and those it draws alone.
304
- */
305
- const ALONE_VERTICES = 200;
306
- /** Each shared context's vertices as weighed: it never changes. */
307
- const weights = new WeakMap();
308
- /** The points of `path`'s shapes, which Pixi builds once and keeps for the context's build. */
309
- function pointsOf(path) {
310
- let points = 0;
311
- for (const { shape } of path?.shapePath.shapePrimitives ?? []) {
312
- const polygon = shape.points;
313
- points += polygon ? polygon.length / 2 : 4;
314
- }
315
- return points;
316
- }
317
- /**
318
- * Vertices a line has a point, as Pixi strokes it: a pixel line's one, a
319
- * line with round joins some 11 to 15 for a creature's parts (10 taken, so
320
- * that a short one stays batched), others two.
321
- */
322
- function lineVertices(style) {
323
- return style.pixelLine ? 1 : style.join === "round" ? 10 : 2;
324
- }
325
- /**
326
- * Whether `context` has ALONE_VERTICES or more, weighed from its paths
327
- * before it is built, as a part may show under a transform it then keeps,
328
- * and lines are swapped for new contexts as they turn: a fill a vertex a
329
- * point, a line as lineVertices says, a texture four. Weighed once built
330
- * too, as a view's contexts let go of their paths then (render/tessellate.ts).
331
- */
332
- export function weigh(context) {
333
- let vertices = weights.get(context);
334
- if (vertices === undefined) {
335
- vertices = 0;
336
- for (const instruction of context.instructions) {
337
- if (instruction.action === "texture") {
338
- vertices += 4;
339
- continue;
340
- }
341
- const data = instruction.data;
342
- vertices +=
343
- pointsOf(data.path) * (instruction.action === "stroke" ? lineVertices(data.style) : 1);
344
- vertices += pointsOf(data.hole);
345
- }
346
- weights.set(context, vertices);
347
- }
348
- return vertices >= ALONE_VERTICES;
349
- }
350
- /** The renderers made, and those of them not WebGL, where Pixi's shader takes no colour transform. */
351
- const renderers = new Set();
352
- const notWebGL = new Set();
353
- /** Graphics drawn alone under a colour transform, to be shown as batched copies if a renderer cannot. */
354
- const shownAlone = new Set();
355
- /**
356
- * Notes each renderer as it is made, of any kind, as a renderer that is
357
- * not WebGL may come after Graphics were shown alone for one that is.
358
- */
359
- export class ColorAloneSystem {
360
- static extension = {
361
- type: [ExtensionType.WebGLSystem, ExtensionType.WebGPUSystem, ExtensionType.CanvasSystem],
362
- name: "flashColorAlone",
363
- };
364
- constructor(renderer) {
365
- renderers.add(this);
366
- if (renderer.type !== RendererType.WEBGL) {
367
- notWebGL.add(this);
368
- for (const g of [...shownAlone]) {
369
- showFor(g, g.flashColor ?? null);
370
- }
371
- }
372
- }
373
- destroy() {
374
- renderers.delete(this);
375
- notWebGL.delete(this);
376
- }
377
- }
378
- extensions.add(ColorAloneSystem);
379
- /** A Graphics destroyed: no longer one to show otherwise. */
380
- export function forgetShown(g) {
381
- shownAlone.delete(g);
382
- }
383
- /**
384
- * The context a Graphics should draw under `ct`. An unbatched one, as a
385
- * shape's are (render/tessellate.ts), Pixi draws with its own shader, which
386
- * has no colour transform, so under one it draws a batched copy; but a
387
- * large one, as a creature's parts are, is drawn alone still, by the
388
- * transform table (render/table.ts), whose rows carry a colour transform,
389
- * or by Pixi's pipe with the colour shader (colorShaderFor),
390
- * where every renderer is WebGL; a SharedGraphics alone, which forgets it
391
- * as it goes (render/shared.ts). The
392
- * context it stands for is shared by every instance of a character, and
393
- * every text in a font, and is never changed: switched to batched, the
394
- * Graphics of the others, made unbatched, drew nothing.
395
- *
396
- * In a settled group, batched copies are packed once and drawn in a few
397
- * calls. In one rebuilt often, as an animated character's is, a batched
398
- * copy's vertices were packed again with every rebuild, and a tween of the
399
- * transform repacked them each frame: a creature fading out packed and
400
- * uploaded every vertex of its every part, frame after frame. Drawn alone,
401
- * a draw writes a row or a few uniforms instead. Small ones stay batched:
402
- * a draw apiece costs more than packing their few vertices
403
- * (`bench.ts --branches 64`).
404
- */
405
- export function showFor(g, ct) {
406
- const shared = g.shared ?? g.context;
407
- const alone = !!ct &&
408
- !g.settled &&
409
- !!g.show &&
410
- shared.batchMode === "no-batch" &&
411
- renderers.size > 0 &&
412
- notWebGL.size === 0 &&
413
- weigh(shared);
414
- const want = alone || !(ct || g.settled) ? shared : batched(shared);
415
- if (alone) {
416
- shownAlone.add(g);
417
- }
418
- else {
419
- shownAlone.delete(g);
420
- }
421
- if (g.context !== want) {
422
- if (g.show) {
423
- g.show(want);
424
- }
425
- else {
426
- g.context = want;
427
- }
428
- }
429
- g.shared = shared;
430
- }
431
- /** Pixi's graphics shader with the colour batcher's colour, by texture count. */
432
- const aloneShaders = new Map();
433
- function aloneShader(maxTextures) {
434
- let shader = aloneShaders.get(maxTextures);
435
- if (!shader) {
436
- shader = new Shader({
437
- glProgram: compileHighShaderGlProgram({
438
- name: `${NAME}-alone`,
439
- bits: [
440
- aloneBitGl,
441
- generateTextureBatchBitGl(maxTextures),
442
- localUniformBitGl,
443
- roundPixelsBitGl,
444
- ],
445
- }),
446
- resources: {
447
- localUniforms: new UniformGroup({
448
- uColor: { value: new Float32Array([1, 1, 1, 1]), type: "vec4<f32>" },
449
- uTransformMatrix: { value: new Matrix(), type: "mat3x3<f32>" },
450
- uRound: { value: 0, type: "f32" },
451
- }),
452
- flashUniforms: new UniformGroup({
453
- uOwn: { value: new Float32Array(4), type: "vec4<f32>" },
454
- uMul: { value: new Float32Array(4), type: "vec4<f32>" },
455
- uAdd: { value: new Float32Array(4), type: "vec4<f32>" },
456
- }),
457
- batchSamplers: getBatchSamplersUniformGroup(maxTextures),
458
- },
459
- });
460
- aloneShaders.set(maxTextures, shader);
461
- }
462
- return shader;
463
- }
464
- /**
465
- * The shader a Graphics drawn alone is drawn with (render/hooks.ts): under
466
- * a colour transform, as in a render group that has not settled, the
467
- * colour shader, the transform and the Graphics' own tint and alpha in its
468
- * uniforms, which Pixi's pipe then fills its local uniforms of; otherwise
469
- * Pixi's, from null. Its context, shared, is never packed: a gradient's or
470
- * a bitmap's, which the table cannot draw. It leans on the order of the
471
- * shader's sections, Pixi's local uniforms' colour applied in the vertex's
472
- * main before aloneBitGl's end replaces it.
473
- */
474
- export function colorShaderFor(graphics, renderer) {
475
- const ct = graphics.flashColor;
476
- if (!ct || renderer.type !== RendererType.WEBGL) {
477
- return null;
478
- }
479
- const shader = aloneShader(renderer.limits.maxBatchableTextures);
480
- const uniforms = shader.resources.flashUniforms.uniforms;
481
- const own = uniforms.uOwn;
482
- const bgr = graphics.localColor;
483
- own[0] = (bgr & 0xff) / 255;
484
- own[1] = ((bgr >> 8) & 0xff) / 255;
485
- own[2] = ((bgr >> 16) & 0xff) / 255;
486
- own[3] = graphics.localAlpha;
487
- const mul = uniforms.uMul;
488
- mul[0] = ct.rMul;
489
- mul[1] = ct.gMul;
490
- mul[2] = ct.bMul;
491
- mul[3] = ct.aMul;
492
- const add = uniforms.uAdd;
493
- add[0] = ct.rAdd / 255;
494
- add[1] = ct.gAdd / 255;
495
- add[2] = ct.bAdd / 255;
496
- add[3] = ct.aAdd / 255;
497
- return shader;
498
- }
499
- /**
500
- * Draw `leaf` and what is in it under `ct`, or under Pixi's tint again for
501
- * null. Moving between batchers rebuilds the render group's instructions;
502
- * another transform in the same batcher packs the vertices again. A
503
- * Graphics the table draws, before and after, reads its transform as its
504
- * row is written, and needs neither.
505
- */
506
- export function setFlashColor(leaf, ct) {
507
- const colored = leaf;
508
- const was = colored.flashColor ?? null;
509
- if (was === ct) {
510
- return;
511
- }
512
- colored.flashColor = ct;
513
- let drawnAlone = false;
514
- if (leaf instanceof Graphics) {
515
- const before = leaf.context;
516
- showFor(leaf, ct);
517
- drawnAlone = leaf.context === before && before.batchMode === "no-batch";
518
- }
519
- const view = leaf;
520
- if (!drawnAlone && (was === null) !== (ct === null)) {
521
- const group = (leaf.renderGroup ?? leaf.parentRenderGroup);
522
- if (group) {
523
- group.structureDidChange = true;
524
- }
525
- }
526
- else if (!drawnAlone) {
527
- view.onViewUpdate?.();
528
- }
529
- for (const child of leaf.children) {
530
- setFlashColor(child, ct);
531
- }
532
- }
533
- //# sourceMappingURL=color.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/render/color.ts"],"names":[],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- import { type Renderer } from "pixi.js";
2
- import type { Node } from "./node.js";
3
- import type { Planes } from "./planes.js";
4
- /** The view's blending of the objects it syncs. */
5
- export declare class Compositing {
6
- private readonly renderer;
7
- private readonly planes;
8
- /** The view, whose filter units a layer's chain is made at. */
9
- private readonly units;
10
- /** Whether the renderer was found to lack the back buffer that filter-backed blends read. */
11
- private backBufferChecked;
12
- /** The nodes on the list blended with erase or alpha outside any layer (checkStageClear). */
13
- private readonly clearing;
14
- /** The nodes on the list blended outside any layer in a mode the GPU blends as Flash only over opaque pixels. */
15
- private readonly overOpaque;
16
- /** Whether the stage's pixels may be less than opaque below a blend (checkStageClear). */
17
- private stageClear;
18
- constructor(renderer: Renderer, planes: Planes,
19
- /** The view, whose filter units a layer's chain is made at. */
20
- units: {
21
- readonly filterUnits: number;
22
- });
23
- /**
24
- * A node synced on the list: noted where it may leave the stage's pixels
25
- * less than opaque or blends only over opaque ones, and blended. `refilled`
26
- * is whether its filters were made again, which a direct blend sets again.
27
- */
28
- sync(node: Node, isolated: boolean, refilled: boolean): void;
29
- /** A node off the list, which no longer clears the stage or blends over it. */
30
- forget(node: Node): void;
31
- /**
32
- * A filter-backed blend reads Pixi's back buffer, which WebGL has only
33
- * with `useBackBuffer: true`; without it that blend draws as normal.
34
- */
35
- checkBackBuffer(): void;
36
- /**
37
- * Give a blend the GPU draws a layer of its own, kept while nothing in it changes: an empty
38
- * chain, through which the object is drawn once into a texture and the texture blended by the
39
- * GPU over what is behind (directBlend), and then only the texture while it stands, as a filtered
40
- * object's output is. Without one, a blend filter drew the object into a layer of its own and
41
- * copied what is behind it on every frame. Only a blend the GPU draws as Flash does, of an
42
- * object of more than one draw (a single fill
43
- * blends as it is drawn), with no filters of its own, outside any layer; the chain goes again
44
- * once that no longer holds. Multiply and subtract are the GPU's only over an opaque stage
45
- * (directBlend), which their layer is blended by while it is; else by a blend filter after its
46
- * chain. Whether the object's chain was made or dropped: a new one is
47
- * stale, so draws the object afresh.
48
- */
49
- private layer;
50
- /** Whether the GPU blends `mode` as Flash does here, as directBlend has it for a layer. */
51
- private gpuBlends;
52
- /** Blend `node` in `direct` by the GPU's own blending, or by its blend filter for null. */
53
- private blendDirectly;
54
- /**
55
- * Whether the stage's pixels may be less than opaque as what is below a
56
- * blend: a clear background, or an erase or alpha blend outside any layer
57
- * on the list, which clears what it covers on the stage as adl does.
58
- * Where that changes, the multiply and subtract blends drawn over it
59
- * choose again, before what is drawn this frame.
60
- */
61
- checkStageClear(): void;
62
- /**
63
- * The mode `node` is blended in by the GPU's own blending, where that is
64
- * what Flash draws, else null for a blend filter (render/blend.ts). Flash
65
- * blends the object as one layer, so it must be drawn at once: as a
66
- * single fill, or as its filters' result. Flash's add and screen are the
67
- * GPU's over any backdrop, its subtract and multiply over an opaque one,
68
- * to 8-bit rounding (the `blend-formulas` case): over a clear pixel GPU
69
- * multiply drops the object's own colour, which Flash keeps, and
70
- * subtract its alpha. An isolated layer's ground may be clear where the
71
- * stage's is not, so none is used in one. Its lighten, darken and
72
- * difference blend the straight colours, which the GPU's min and max of
73
- * premultiplied ones are only where opaque.
74
- */
75
- private directBlend;
76
- }
77
- //# sourceMappingURL=compositing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compositing.d.ts","sourceRoot":"","sources":["../../src/render/compositing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAGxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,mDAAmD;AACnD,qBAAa,WAAW;IAWpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK;IAbxB,6FAA6F;IAC7F,OAAO,CAAC,iBAAiB,CAAS;IAClC,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,iHAAiH;IACjH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,0FAA0F;IAC1F,OAAO,CAAC,UAAU,CAAQ;IAE1B,YACmB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM;IAC/B,+DAA+D;IAC9C,KAAK,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EACtD;IAEJ;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAgB3D;IAED,+EAA+E;IAC/E,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAGvB;IAED;;;OAGG;IACH,eAAe,IAAI,IAAI,CAYtB;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,KAAK;IAsBb,2FAA2F;IAC3F,OAAO,CAAC,SAAS;IAgBjB,2FAA2F;IAC3F,OAAO,CAAC,aAAa;IAuBrB;;;;;;OAMG;IACH,eAAe,IAAI,IAAI,CAWtB;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,WAAW;CAmBpB"}