@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 +0,0 @@
1
- {"version":3,"file":"blend.d.ts","sourceRoot":"","sources":["../../src/render/blend.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,MAAM,EACX,SAAS,EACT,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,kGAAkG;IAClG,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACtD;AAoCD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAQnD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,IAAI,CAMN;AAED,4FAA4F;AAC5F,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CACxD;AA4HD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAoB1D"}
@@ -1,195 +0,0 @@
1
- // Blend modes as Flash composites them (docs/architecture.md, "Blend
2
- // modes"): the object drawn as a layer, its children together, then that
3
- // layer blended with what is below by the mode's formula, which a filter
4
- // that reads the back buffer computes. Colours are premultiplied.
5
- import { AlphaFilter, BlendModeFilter, Container, } from "pixi.js";
6
- /** The keeper of the instruction's area, where it is measured as Pixi measures a container. */
7
- function keeperOf(instruction) {
8
- const container = instruction.container;
9
- const first = instruction.filterEffect.filters?.[0];
10
- if (!container ||
11
- !first?.keptArea ||
12
- instruction.renderables ||
13
- instruction.filterEffect.filterArea) {
14
- return null;
15
- }
16
- const group = container.renderGroup || container.parentRenderGroup;
17
- return group?.cacheToLocalTransform ? null : first;
18
- }
19
- /** What a filter's area is measured from, and whether a mask outside it bounds something in it. */
20
- const areaWatch = {
21
- root: null,
22
- outside: false,
23
- };
24
- /** Whether `inner` is `outer` or under it. */
25
- function within(outer, inner) {
26
- for (let p = inner; p; p = p.parent) {
27
- if (p === outer) {
28
- return true;
29
- }
30
- }
31
- return false;
32
- }
33
- /**
34
- * A masked container Pixi's bounds walk measured (render/hooks.ts): a mask
35
- * from outside the area watched may bound what is in it, and move as
36
- * nothing in it changes, so that area is not kept.
37
- */
38
- export function noteMask(container) {
39
- const watch = areaWatch.root;
40
- if (watch && !areaWatch.outside) {
41
- const mask = container.mask;
42
- if (mask instanceof Container && !within(watch, mask)) {
43
- areaWatch.outside = true;
44
- }
45
- }
46
- }
47
- /**
48
- * The area a filter instruction is applied to, measured in place of Pixi's
49
- * filter system (render/hooks.ts): a filter that keeps its object's area
50
- * gives it again while the object has only moved, and keeps the area
51
- * measured otherwise, unless a mask from outside bounds something in it.
52
- */
53
- export function measureFilterArea(instruction, bounds, system) {
54
- measureArea(instruction, bounds, system);
55
- // The area known, a filter that pads past what the GPU can draw round it pads less.
56
- for (const filter of instruction.filterEffect.filters ?? []) {
57
- filter.fitPadding?.(bounds, system);
58
- }
59
- }
60
- function measureArea(instruction, bounds, system) {
61
- const keeper = keeperOf(instruction);
62
- const container = instruction.container;
63
- if (keeper?.keptArea(container, bounds)) {
64
- return;
65
- }
66
- areaWatch.root = keeper ? container : null;
67
- areaWatch.outside = false;
68
- try {
69
- system.measureFilterArea(instruction, bounds);
70
- // An object that draws nothing is filtered into nothing, as adl draws a glow or a shadow of
71
- // it (the `filters-empty` case). Pixi measures it as a point at its group's origin, which its
72
- // padding made an area it ran every filter on: emptied, the push skips them.
73
- if (!instruction.renderables &&
74
- !instruction.filterEffect.filterArea &&
75
- !(bounds.maxX > bounds.minX && bounds.maxY > bounds.minY)) {
76
- bounds.clear();
77
- return;
78
- }
79
- if (keeper && !areaWatch.outside) {
80
- keeper.keepArea(container, bounds);
81
- }
82
- }
83
- finally {
84
- areaWatch.root = null;
85
- }
86
- }
87
- /** Each separable mode's B(back, front) of straight colours, GLSL and WGSL. */
88
- const SEPARABLE = {
89
- multiply: ["cb * cf", "cb * cf"],
90
- screen: ["cb + cf - cb * cf", "cb + cf - cb * cf"],
91
- lighten: ["max(cb, cf)", "max(cb, cf)"],
92
- darken: ["min(cb, cf)", "min(cb, cf)"],
93
- difference: ["abs(cb - cf)", "abs(cb - cf)"],
94
- hardlight: ["hardlight(cb, cf)", "hardlight(cb, cf)"],
95
- overlay: ["hardlight(cf, cb)", "hardlight(cf, cb)"],
96
- };
97
- const GL_FUNCTIONS = `
98
- vec3 straight(vec4 c) { return c.a > 0.0 ? c.rgb / c.a : vec3(0.0); }
99
- vec3 hardlight(vec3 cb, vec3 cf) {
100
- vec3 multiply = 2.0 * cb * cf;
101
- vec3 screen = 1.0 - 2.0 * (1.0 - cb) * (1.0 - cf);
102
- return mix(multiply, screen, step(0.5, cf));
103
- }
104
- `;
105
- const GPU_FUNCTIONS = `
106
- fn straight(c: vec4<f32>) -> vec3<f32> { return select(vec3<f32>(0.0), c.rgb / c.a, c.a > 0.0); }
107
- fn hardlight(cb: vec3<f32>, cf: vec3<f32>) -> vec3<f32> {
108
- let multiply = 2.0 * cb * cf;
109
- let screen = 1.0 - 2.0 * (1.0 - cb) * (1.0 - cf);
110
- return mix(multiply, screen, step(vec3<f32>(0.5), cf));
111
- }
112
- `;
113
- /** The result of a mode that is no separable blend, premultiplied, GLSL and WGSL. */
114
- const SPECIAL = {
115
- add: [
116
- "vec4(min(front.rgb + back.rgb, 1.0), min(front.a + back.a, 1.0))",
117
- "vec4<f32>(min(front.rgb + back.rgb, vec3<f32>(1.0)), min(front.a + back.a, 1.0))",
118
- ],
119
- // What is below less the object, its alpha the two's as the object over it: over a layer's
120
- // clear ground, adl's subtract leaves the object's alpha in black.
121
- subtract: [
122
- "vec4(max(back.rgb - front.rgb, 0.0), front.a + back.a * (1.0 - front.a))",
123
- "vec4<f32>(max(back.rgb - front.rgb, vec3<f32>(0.0)), front.a + back.a * (1.0 - front.a))",
124
- ],
125
- // What is below inverted, as far as the object covers it.
126
- invert: [
127
- "vec4((back.a - back.rgb) * front.a + back.rgb * (1.0 - front.a), back.a)",
128
- "vec4<f32>((back.a - back.rgb) * front.a + back.rgb * (1.0 - front.a), back.a)",
129
- ],
130
- // The layer below takes the object's alpha where the object has any, or
131
- // loses it; what the object leaves clear stays, as adl leaves it.
132
- alpha: ["(front.a > 0.0 ? back * front.a : back)", "select(back, back * front.a, front.a > 0.0)"],
133
- erase: ["back * (1.0 - front.a)", "back * (1.0 - front.a)"],
134
- };
135
- function blendFilter(mode) {
136
- const special = SPECIAL[mode];
137
- let gl;
138
- let gpu;
139
- if (special) {
140
- gl = `finalColor = ${special[0]} * uBlend;`;
141
- gpu = `out = ${special[1]} * blendUniforms.uBlend;`;
142
- }
143
- else {
144
- const [glB, gpuB] = SEPARABLE[mode];
145
- gl = `
146
- vec3 cb = straight(back);
147
- vec3 cf = straight(front);
148
- vec3 co = front.rgb * (1.0 - back.a) + back.rgb * (1.0 - front.a) + front.a * back.a * (${glB});
149
- finalColor = vec4(co, blendedAlpha) * uBlend;
150
- `;
151
- gpu = `
152
- let cb = straight(back);
153
- let cf = straight(front);
154
- let co = front.rgb * (1.0 - back.a) + back.rgb * (1.0 - front.a) + front.a * back.a * (${gpuB});
155
- out = vec4<f32>(co, blendedAlpha) * blendUniforms.uBlend;
156
- `;
157
- }
158
- const filter = new BlendModeFilter({
159
- gl: { functions: GL_FUNCTIONS, main: gl },
160
- gpu: { functions: GPU_FUNCTIONS, main: gpu },
161
- });
162
- // At the target's resolution, as the stage is drawn; its result is the
163
- // whole composite, back included, so it replaces what is there, which
164
- // alpha and erase make more transparent.
165
- filter.resolution = "inherit";
166
- filter.antialias = "inherit";
167
- filter.blendMode = "none";
168
- return filter;
169
- }
170
- /** One filter a mode, shared by every object blended so. */
171
- const filters = new Map();
172
- /**
173
- * The filters that composite an object in `mode`: none for normal; for
174
- * layer one that only makes it a layer; for any other the mode's blend.
175
- */
176
- export function blendFilters(mode) {
177
- if (mode === "normal" || !(mode === "layer" || SEPARABLE[mode] || SPECIAL[mode])) {
178
- return null;
179
- }
180
- let made = filters.get(mode);
181
- if (!made) {
182
- if (mode === "layer") {
183
- const layer = new AlphaFilter({ alpha: 1 });
184
- layer.resolution = "inherit";
185
- layer.antialias = "inherit";
186
- made = [layer];
187
- }
188
- else {
189
- made = [blendFilter(mode)];
190
- }
191
- filters.set(mode, made);
192
- }
193
- return made;
194
- }
195
- //# sourceMappingURL=blend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blend.js","sourceRoot":"","sources":["../../src/render/blend.ts"],"names":[],"mappings":"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"}
@@ -1,111 +0,0 @@
1
- import type { ColorTransform } from "@swf2es/format";
2
- import { type BatchableElement, Batcher, type BatcherOptions, type Container, type DefaultBatchableMeshElement, type DefaultBatchableQuadElement, ExtensionType, Geometry, Graphics, type GraphicsContext, type Renderer, Shader } from "pixi.js";
3
- declare class ColorShader extends Shader {
4
- readonly maxTextures: number;
5
- constructor(maxTextures: number);
6
- }
7
- declare class ColorGeometry extends Geometry {
8
- constructor();
9
- }
10
- export declare class ColorBatcher extends Batcher {
11
- static extension: {
12
- type: ExtensionType[];
13
- name: string;
14
- };
15
- name: string;
16
- vertexSize: number;
17
- geometry: ColorGeometry;
18
- shader: ColorShader;
19
- constructor(options: BatcherOptions);
20
- /** The vertex's colour, texture and transform after its position and UV, which `at` holds. */
21
- private tail;
22
- packAttributes(element: DefaultBatchableMeshElement, f32: Float32Array, u32: Uint32Array, index: number, textureId: number): void;
23
- packQuadAttributes(element: DefaultBatchableQuadElement, f32: Float32Array, u32: Uint32Array, index: number, textureId: number): void;
24
- }
25
- /**
26
- * The batcher an element goes to (render/hooks.ts): a Graphics' or a
27
- * sprite's under a colour transform to this batcher, any other to the one
28
- * it names, Pixi's "default" or another a host gives.
29
- */
30
- export declare function batcherNameFor(element: BatchableElement): string;
31
- /** A context destroyed: its batched copy, if it has one, taken for it to destroy too. */
32
- export declare function takeBatchedCopy(context: GraphicsContext): GraphicsContext | undefined;
33
- /**
34
- * A Graphics that may show another context than the one it stands for: the
35
- * shared one it was given (`shared`), and `show` to draw another, as a
36
- * shape's lines swap theirs (render/shared.ts, SharedGraphics).
37
- */
38
- export type SharingGraphics = Graphics & {
39
- shared?: GraphicsContext;
40
- show?: (context: GraphicsContext) => void;
41
- /** Whether it is in a render group settled long enough to batch it (render/settle.ts, settle). */
42
- settled?: boolean;
43
- };
44
- /**
45
- * Whether `context` has ALONE_VERTICES or more, weighed from its paths
46
- * before it is built, as a part may show under a transform it then keeps,
47
- * and lines are swapped for new contexts as they turn: a fill a vertex a
48
- * point, a line as lineVertices says, a texture four. Weighed once built
49
- * too, as a view's contexts let go of their paths then (render/tessellate.ts).
50
- */
51
- export declare function weigh(context: GraphicsContext): boolean;
52
- /**
53
- * Notes each renderer as it is made, of any kind, as a renderer that is
54
- * not WebGL may come after Graphics were shown alone for one that is.
55
- */
56
- export declare class ColorAloneSystem {
57
- static extension: {
58
- readonly type: readonly [ExtensionType.WebGLSystem, ExtensionType.WebGPUSystem, ExtensionType.CanvasSystem];
59
- readonly name: "flashColorAlone";
60
- };
61
- constructor(renderer: {
62
- type: number;
63
- });
64
- destroy(): void;
65
- }
66
- /** A Graphics destroyed: no longer one to show otherwise. */
67
- export declare function forgetShown(g: SharingGraphics): void;
68
- /**
69
- * The context a Graphics should draw under `ct`. An unbatched one, as a
70
- * shape's are (render/tessellate.ts), Pixi draws with its own shader, which
71
- * has no colour transform, so under one it draws a batched copy; but a
72
- * large one, as a creature's parts are, is drawn alone still, by the
73
- * transform table (render/table.ts), whose rows carry a colour transform,
74
- * or by Pixi's pipe with the colour shader (colorShaderFor),
75
- * where every renderer is WebGL; a SharedGraphics alone, which forgets it
76
- * as it goes (render/shared.ts). The
77
- * context it stands for is shared by every instance of a character, and
78
- * every text in a font, and is never changed: switched to batched, the
79
- * Graphics of the others, made unbatched, drew nothing.
80
- *
81
- * In a settled group, batched copies are packed once and drawn in a few
82
- * calls. In one rebuilt often, as an animated character's is, a batched
83
- * copy's vertices were packed again with every rebuild, and a tween of the
84
- * transform repacked them each frame: a creature fading out packed and
85
- * uploaded every vertex of its every part, frame after frame. Drawn alone,
86
- * a draw writes a row or a few uniforms instead. Small ones stay batched:
87
- * a draw apiece costs more than packing their few vertices
88
- * (`bench.ts --branches 64`).
89
- */
90
- export declare function showFor(g: SharingGraphics, ct: ColorTransform | null): void;
91
- /**
92
- * The shader a Graphics drawn alone is drawn with (render/hooks.ts): under
93
- * a colour transform, as in a render group that has not settled, the
94
- * colour shader, the transform and the Graphics' own tint and alpha in its
95
- * uniforms, which Pixi's pipe then fills its local uniforms of; otherwise
96
- * Pixi's, from null. Its context, shared, is never packed: a gradient's or
97
- * a bitmap's, which the table cannot draw. It leans on the order of the
98
- * shader's sections, Pixi's local uniforms' colour applied in the vertex's
99
- * main before aloneBitGl's end replaces it.
100
- */
101
- export declare function colorShaderFor(graphics: Graphics, renderer: Renderer): Shader | null;
102
- /**
103
- * Draw `leaf` and what is in it under `ct`, or under Pixi's tint again for
104
- * null. Moving between batchers rebuilds the render group's instructions;
105
- * another transform in the same batcher packs the vertices again. A
106
- * Graphics the table draws, before and after, reads its transform as its
107
- * row is written, and needs neither.
108
- */
109
- export declare function setFlashColor(leaf: Container, ct: ColorTransform | null): void;
110
- export {};
111
- //# sourceMappingURL=color.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/render/color.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACL,KAAK,gBAAgB,EAGrB,OAAO,EACP,KAAK,cAAc,EAGnB,KAAK,SAAS,EAGd,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,aAAa,EAEb,QAAQ,EACR,QAAQ,EACR,KAAK,eAAe,EAOpB,KAAK,QAAQ,EAIb,MAAM,EAEP,MAAM,SAAS,CAAC;AA4HjB,cAAM,WAAY,SAAQ,MAAM;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,YAAY,WAAW,EAAE,MAAM,EAa9B;CACF;AAED,cAAM,aAAc,SAAQ,QAAQ;IAClC,cAwBC;CACF;AA4CD,qBAAa,YAAa,SAAQ,OAAO;IACvC,MAAM,CAAC,SAAS;;;MAAiD;IAEjE,IAAI,SAAQ;IACZ,UAAU,SAAe;IACzB,QAAQ,gBAAuB;IAC/B,MAAM,EAAE,WAAW,CAAC;IAEpB,YAAY,OAAO,EAAE,cAAc,EAUlC;IAED,8FAA8F;IAC9F,OAAO,CAAC,IAAI;IAoBZ,cAAc,CACZ,OAAO,EAAE,2BAA2B,EACpC,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,IAAI,CAkBN;IAED,kBAAkB,CAChB,OAAO,EAAE,2BAA2B,EACpC,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,IAAI,CAmBN;CACF;AAID;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAQhE;AAgCD,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS,CAIrF;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG;IACvC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,kGAAkG;IAClG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA+BF;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAwBvD;AAQD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,SAAS;iBACd,IAAI;iBACJ,IAAI,EAAE,iBAAiB;MACd;IAEX,YAAY,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAQrC;IAED,OAAO,IAAI,IAAI,CAGd;CACF;AAID,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAEpD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CA0B3E;AAsCD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAyBpF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CA4B9E"}