@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":"table.js","sourceRoot":"","sources":["../../src/render/table.ts"],"names":[],"mappings":"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"}
@@ -1,89 +0,0 @@
1
- import type { Fill } from "@swf2es/format";
2
- import { type FillInput, GraphicsContext } from "pixi.js";
3
- import type { Region as Area } from "../display/gradients.js";
4
- import { type Paint, type Path, type ShapeLayer } from "../display/shapes.js";
5
- import type { ShapeCharacter } from "../display/timeline.js";
6
- export declare function trace(context: GraphicsContext, path: Path): void;
7
- /**
8
- * A fill's paint, but a resolved bitmap's, which the view gives: a solid
9
- * colour; a gradient as its first colour, for now; and a bitmap fill of a
10
- * bitmap the SWF lacks red, as Flash draws one.
11
- */
12
- export declare function paint(fill: Fill): {
13
- color: number;
14
- alpha: number;
15
- };
16
- /** How a view paints a fill over a region of the shape: a resolved bitmap's or gradient's through its renderer's textures. */
17
- export type Painter = (fill: Paint, region: () => Area, hold: (release: () => void) => void) => FillInput;
18
- /** A context destroyed, the textures it held given back first: a fill's, or lines', which hold none. */
19
- export declare function destroyContext(context: GraphicsContext): void;
20
- /**
21
- * A context for a shape's fills or lines, drawn on its own, not batched.
22
- * A batch holds its vertices on the stage, so Pixi repacks and uploads
23
- * them all again whenever anything in the render group changes structure,
24
- * as a timeline does on most frames; and between batches and the large
25
- * shapes Pixi draws alone anyway it switches programs. Alone, a shape's
26
- * geometry is uploaded once and only its transform changes. A render
27
- * group that settles draws batched copies instead (settle).
28
- */
29
- export declare function shapeContext(): GraphicsContext;
30
- /**
31
- * Have `context`'s paths go altogether once Pixi has built it, `make`
32
- * making it anew for a copy (copyContext): a view's fills and lines, which
33
- * that view's renderer alone builds, from layers their shape keeps anyway.
34
- * Pixi's collection of what went unused for a minute is kept off it, as
35
- * it would build the context again from its paths: its tessellation stays
36
- * while it lives, which the view destroys once idle. A glyph's fill, which
37
- * every view shares, keeps its paths for each renderer to build.
38
- */
39
- export declare function remakeable(context: GraphicsContext, make: () => GraphicsContext): GraphicsContext;
40
- /** A context to draw as `context` does: made anew if its paths may be gone, as remakeable's are, else a clone. */
41
- export declare function copyContext(context: GraphicsContext): GraphicsContext;
42
- /**
43
- * Let go of what a context's paths hold once Pixi has built it
44
- * (render/hooks.ts). A remakeable context's go whole, its bounds measured
45
- * and its vertices weighed first (render/color.ts), as nothing reads them
46
- * again: Pixi draws it from its tessellation, and a copy is made anew. In
47
- * a crowd of 200 characters (bench.ts --town 200), their flattened points
48
- * held some 8 MB. Any other's keep the shapes they were flattened to,
49
- * which is all Pixi reads of them again: to build the context again, as a
50
- * lost context or Pixi's collection of what went unused for a minute has
51
- * it, to measure its bounds, and to hit test it; their commands go, which
52
- * a crowded room's contexts kept some 120 MB of, an object and an array
53
- * for each segment. Every context of the player is made whole before it
54
- * is first built, and none is changed after.
55
- */
56
- export declare function forgetCommands(context: GraphicsContext): void;
57
- /**
58
- * A layer's fills, which are the same for every instance of the shape.
59
- * Each contour's region is inside or not by the fill's rule, by its depth
60
- * in the containment for even-odd, by the sum of orientations around it
61
- * for non-zero: a region inside where its parent is not is filled, with
62
- * the first regions below it that are not cut out as holes, and so on in.
63
- */
64
- export declare function fillContext(layer: ShapeLayer, painter: Painter): GraphicsContext;
65
- /**
66
- * A shape's fills, or a morph's blend's, shared by every instance drawn
67
- * alike: a crowd in step, a pool's objects, and a timeline that places a
68
- * shape or a morph at a ratio again tessellate each once. Counted as nodes
69
- * take and give them back; one no one holds goes after IDLE_MS, or a
70
- * blend as its morph drops it, which is then never drawn from again. Kept
71
- * for as long as a shape lived, every shape a long session had shown held
72
- * its fills, their geometry and their coloured copies: hundreds of MB.
73
- */
74
- export declare class SharedFills {
75
- private readonly held;
76
- /** The shapes no one holds, in the order they went idle, with the time each did. */
77
- private readonly idle;
78
- /** The idle ones that are blends, which go as soon as their morph drops them. */
79
- private readonly idleBlends;
80
- /** The shape's fills if they are kept, not taken: for a view drawn once to borrow. */
81
- peek(shape: ShapeCharacter): GraphicsContext[] | null;
82
- /** The shape's fills, taken: found, or built of `layers` by `build`. */
83
- take<L>(shape: ShapeCharacter, layers: L, build: (layers: L) => GraphicsContext[]): GraphicsContext[];
84
- give(shape: ShapeCharacter): void;
85
- /** A frame prepared: the idle blends their morph dropped go, and those idle too long, oldest first. */
86
- tick(): void;
87
- private drop;
88
- }
89
- //# sourceMappingURL=tessellate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tessellate.d.ts","sourceRoot":"","sources":["../../src/render/tessellate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAOL,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAgG7D,wBAAgB,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CA+DhE;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQlE;AAED,8HAA8H;AAC9H,MAAM,MAAM,OAAO,GAAG,CACpB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,IAAI,EAClB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,KAChC,SAAS,CAAC;AAKf,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAY7D;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,eAAe,CAI9C;AAQD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,eAAe,GAAG,eAAe,CAIjG;AAED,kHAAkH;AAClH,wBAAgB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAGrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAa7D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe,CAuEhF;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyE;IAC9F,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC;IAC1D,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IAExD,sFAAsF;IACtF,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,EAAE,GAAG,IAAI,CAEpD;IAED,wEAAwE;IACxE,IAAI,CAAC,CAAC,EACJ,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,eAAe,EAAE,GACtC,eAAe,EAAE,CAWnB;IAED,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAoBhC;IAED,uGAAuG;IACvG,IAAI,IAAI,IAAI,CAeX;IAED,OAAO,CAAC,IAAI;CASb"}
@@ -1,386 +0,0 @@
1
- import { GraphicsContext } from "pixi.js";
2
- import { blendLayers, droppedLayers } from "../display/morph.js";
3
- import { CUBIC, flatten, inside, LINE, MOVE, orientation, } from "../display/shapes.js";
4
- import { takeBatchedCopy, weigh } from "./color.js";
5
- import { IDLE_MS } from "./pools.js";
6
- /** The contours as a tree, each under the smallest one that holds it. */
7
- function containment(paths) {
8
- const regions = paths.map((path) => {
9
- const points = flatten(path);
10
- let area = 0;
11
- for (let i = 0, j = points.length - 2; i < points.length; j = i, i += 2) {
12
- area += points[j] * points[i + 1] - points[i] * points[j + 1];
13
- }
14
- return { path, points, parent: null, children: [], area: Math.abs(area) / 2 };
15
- });
16
- for (const inner of regions) {
17
- for (const outer of regions) {
18
- if (outer !== inner &&
19
- outer.area > inner.area &&
20
- encloses(outer.points, inner.points) &&
21
- (!inner.parent || outer.area < inner.parent.area)) {
22
- inner.parent = outer;
23
- }
24
- }
25
- }
26
- for (const r of regions) {
27
- r.parent?.children.push(r);
28
- }
29
- return regions.filter((r) => !r.parent);
30
- }
31
- /**
32
- * Whether the polygon `outer` holds `inner`, two contours that do not
33
- * cross, by a point of `inner` off `outer`'s outline: a pixel font's
34
- * contours touch, and a corner they share is inside one and out of the
35
- * other as the parity rule rounds it. Its corners, else its edges'
36
- * middles; a contour lying wholly along the other's outline goes by its first.
37
- */
38
- function encloses(outer, inner) {
39
- for (const middles of [false, true]) {
40
- for (let i = 0, j = inner.length - 2; i < inner.length; j = i, i += 2) {
41
- const x = middles ? (inner[i] + inner[j]) / 2 : inner[i];
42
- const y = middles ? (inner[i + 1] + inner[j + 1]) / 2 : inner[i + 1];
43
- if (!onOutline(outer, x, y)) {
44
- return inside(outer, x, y);
45
- }
46
- }
47
- }
48
- return inside(outer, inner[0], inner[1]);
49
- }
50
- /** Whether (px, py) lies on one of the polygon's edges, to within a millionth of a pixel. */
51
- function onOutline(points, px, py) {
52
- const near = 1e-6;
53
- for (let i = 0, j = points.length - 2; i < points.length; j = i, i += 2) {
54
- // Four reads, not an array destructured: this runs for every edge of every fill built.
55
- const x0 = points[j];
56
- const y0 = points[j + 1];
57
- const x1 = points[i];
58
- const y1 = points[i + 1];
59
- if (px >= Math.min(x0, x1) - near &&
60
- px <= Math.max(x0, x1) + near &&
61
- py >= Math.min(y0, y1) - near &&
62
- py <= Math.max(y0, y1) + near &&
63
- Math.abs((x1 - x0) * (py - y0) - (y1 - y0) * (px - x0)) <=
64
- near * Math.max(1, Math.hypot(x1 - x0, y1 - y0))) {
65
- return true;
66
- }
67
- }
68
- return false;
69
- }
70
- /**
71
- * How far, in pixels, a flattened curve may stray from the curve. Pixi's
72
- * own flattening allows a fraction of the curve's length, which leaves
73
- * Flash's long curves visibly polygonal; this holds up to a few times scale.
74
- */
75
- const FLATNESS = 0.02;
76
- export function trace(context, path) {
77
- let x = 0;
78
- let y = 0;
79
- for (let i = 0; i < path.length;) {
80
- const command = path[i];
81
- if (command === MOVE || command === LINE) {
82
- x = path[i + 1];
83
- y = path[i + 2];
84
- if (command === MOVE) {
85
- context.moveTo(x, y);
86
- }
87
- else {
88
- context.lineTo(x, y);
89
- }
90
- i += 3;
91
- continue;
92
- }
93
- if (command === CUBIC) {
94
- // A cubic's chords stray at most 3|Δ²| / 4n² for the larger of its two second differences.
95
- const [c1x, c1y, c2x, c2y, ax, ay] = path.slice(i + 1, i + 7);
96
- const bend = Math.max(Math.hypot(x - 2 * c1x + c2x, y - 2 * c1y + c2y), Math.hypot(c1x - 2 * c2x + ax, c1y - 2 * c2y + ay));
97
- const n = Math.min(256, Math.max(1, Math.ceil(Math.sqrt((3 * bend) / (4 * FLATNESS)))));
98
- for (let k = 1; k < n; k++) {
99
- const t = k / n;
100
- const u = 1 - t;
101
- context.lineTo(u * u * u * x + 3 * u * u * t * c1x + 3 * u * t * t * c2x + t * t * t * ax, u * u * u * y + 3 * u * u * t * c1y + 3 * u * t * t * c2y + t * t * t * ay);
102
- }
103
- context.lineTo(ax, ay);
104
- x = ax;
105
- y = ay;
106
- i += 7;
107
- continue;
108
- }
109
- // A quadratic's chords of parameter step 1/n stray at most |p0 - 2c + p2| / 4n².
110
- const cx = path[i + 1];
111
- const cy = path[i + 2];
112
- const ax = path[i + 3];
113
- const ay = path[i + 4];
114
- const bend = Math.hypot(x - 2 * cx + ax, y - 2 * cy + ay);
115
- const n = Math.min(256, Math.max(1, Math.ceil(Math.sqrt(bend / (4 * FLATNESS)))));
116
- for (let k = 1; k < n; k++) {
117
- const t = k / n;
118
- const u = 1 - t;
119
- context.lineTo(u * u * x + 2 * u * t * cx + t * t * ax, u * u * y + 2 * u * t * cy + t * t * ay);
120
- }
121
- context.lineTo(ax, ay);
122
- x = ax;
123
- y = ay;
124
- i += 5;
125
- }
126
- }
127
- /**
128
- * A fill's paint, but a resolved bitmap's, which the view gives: a solid
129
- * colour; a gradient as its first colour, for now; and a bitmap fill of a
130
- * bitmap the SWF lacks red, as Flash draws one.
131
- */
132
- export function paint(fill) {
133
- const argb = fill.type === "solid"
134
- ? fill.color
135
- : fill.type === "bitmap"
136
- ? 0xffff0000
137
- : (fill.gradient.stops[0]?.color ?? 0xff000000);
138
- return { color: argb & 0xffffff, alpha: (argb >>> 24) / 255 };
139
- }
140
- /** What each fill context holds of the textures its gradients use, given back as it is destroyed. */
141
- const holds = new WeakMap();
142
- /** A context destroyed, the textures it held given back first: a fill's, or lines', which hold none. */
143
- export function destroyContext(context) {
144
- for (const release of holds.get(context) ?? []) {
145
- release();
146
- }
147
- holds.delete(context);
148
- const copy = takeBatchedCopy(context);
149
- if (copy) {
150
- destroyContext(copy);
151
- }
152
- context.destroy();
153
- }
154
- /** The bounds of a fill's contours, whole pixels out. */
155
- function regionOf(contours) {
156
- let x0 = Number.POSITIVE_INFINITY;
157
- let y0 = Number.POSITIVE_INFINITY;
158
- let x1 = Number.NEGATIVE_INFINITY;
159
- let y1 = Number.NEGATIVE_INFINITY;
160
- for (const path of contours) {
161
- const points = flatten(path);
162
- for (let i = 0; i < points.length; i += 2) {
163
- x0 = Math.min(x0, points[i]);
164
- x1 = Math.max(x1, points[i]);
165
- y0 = Math.min(y0, points[i + 1]);
166
- y1 = Math.max(y1, points[i + 1]);
167
- }
168
- }
169
- if (!(x1 >= x0 && y1 >= y0)) {
170
- return { x: 0, y: 0, width: 1, height: 1 };
171
- }
172
- const x = Math.floor(x0);
173
- const y = Math.floor(y0);
174
- return { x, y, width: Math.max(1, Math.ceil(x1) - x), height: Math.max(1, Math.ceil(y1) - y) };
175
- }
176
- /**
177
- * A context for a shape's fills or lines, drawn on its own, not batched.
178
- * A batch holds its vertices on the stage, so Pixi repacks and uploads
179
- * them all again whenever anything in the render group changes structure,
180
- * as a timeline does on most frames; and between batches and the large
181
- * shapes Pixi draws alone anyway it switches programs. Alone, a shape's
182
- * geometry is uploaded once and only its transform changes. A render
183
- * group that settles draws batched copies instead (settle).
184
- */
185
- export function shapeContext() {
186
- const context = new GraphicsContext();
187
- context.batchMode = "no-batch";
188
- return context;
189
- }
190
- /**
191
- * How to make again each context of a view's whose paths go once Pixi has
192
- * built it (remakeable), for what needs them after: its batched copy.
193
- */
194
- const makers = new WeakMap();
195
- /**
196
- * Have `context`'s paths go altogether once Pixi has built it, `make`
197
- * making it anew for a copy (copyContext): a view's fills and lines, which
198
- * that view's renderer alone builds, from layers their shape keeps anyway.
199
- * Pixi's collection of what went unused for a minute is kept off it, as
200
- * it would build the context again from its paths: its tessellation stays
201
- * while it lives, which the view destroys once idle. A glyph's fill, which
202
- * every view shares, keeps its paths for each renderer to build.
203
- */
204
- export function remakeable(context, make) {
205
- context.autoGarbageCollect = false;
206
- makers.set(context, make);
207
- return context;
208
- }
209
- /** A context to draw as `context` does: made anew if its paths may be gone, as remakeable's are, else a clone. */
210
- export function copyContext(context) {
211
- const make = makers.get(context);
212
- return make ? remakeable(make(), make) : context.clone();
213
- }
214
- /**
215
- * Let go of what a context's paths hold once Pixi has built it
216
- * (render/hooks.ts). A remakeable context's go whole, its bounds measured
217
- * and its vertices weighed first (render/color.ts), as nothing reads them
218
- * again: Pixi draws it from its tessellation, and a copy is made anew. In
219
- * a crowd of 200 characters (bench.ts --town 200), their flattened points
220
- * held some 8 MB. Any other's keep the shapes they were flattened to,
221
- * which is all Pixi reads of them again: to build the context again, as a
222
- * lost context or Pixi's collection of what went unused for a minute has
223
- * it, to measure its bounds, and to hit test it; their commands go, which
224
- * a crowded room's contexts kept some 120 MB of, an object and an array
225
- * for each segment. Every context of the player is made whole before it
226
- * is first built, and none is changed after.
227
- */
228
- export function forgetCommands(context) {
229
- if (makers.has(context)) {
230
- weigh(context);
231
- context.releasePaths();
232
- return;
233
- }
234
- for (const instruction of context.instructions) {
235
- if (instruction.action !== "texture") {
236
- instruction.data.path.releaseInstructions();
237
- instruction.data.hole?.releaseInstructions();
238
- }
239
- }
240
- }
241
- /**
242
- * A layer's fills, which are the same for every instance of the shape.
243
- * Each contour's region is inside or not by the fill's rule, by its depth
244
- * in the containment for even-odd, by the sum of orientations around it
245
- * for non-zero: a region inside where its parent is not is filled, with
246
- * the first regions below it that are not cut out as holes, and so on in.
247
- */
248
- export function fillContext(layer, painter) {
249
- const context = shapeContext();
250
- const held = [];
251
- holds.set(context, held);
252
- for (const { fill, contours, winding } of layer.fills) {
253
- // The region is a radial gradient's alone to need: flattening the contours is not free.
254
- const style = painter(fill, () => regionOf(contours), (release) => held.push(release));
255
- const inside = (depth, sum) => winding === "nonZero" ? sum !== 0 : depth % 2 === 0;
256
- // A region's holes are cut together, then the islands in them filled.
257
- // Pixi's cut() goes to the fill before the last too once the last has a
258
- // hole, so a second cut, or one after an island, would land a hole in
259
- // another region, which then fills across to it.
260
- const fillRegion = (region, depth, sum) => {
261
- context.beginPath();
262
- trace(context, region.path);
263
- context.closePath().fill(style);
264
- const cut = [];
265
- holes(region, depth, sum, cut);
266
- if (cut.length === 0) {
267
- return;
268
- }
269
- context.beginPath();
270
- for (const [hole] of cut) {
271
- trace(context, hole.path);
272
- context.closePath();
273
- }
274
- context.cut();
275
- for (const [hole, d, s] of cut) {
276
- islands(hole, d, s);
277
- }
278
- };
279
- const holes = (region, depth, sum, cut) => {
280
- for (const child of region.children) {
281
- const s = sum + orientation(child.points);
282
- if (inside(depth + 1, s)) {
283
- holes(child, depth + 1, s, cut);
284
- }
285
- else {
286
- cut.push([child, depth + 1, s]);
287
- }
288
- }
289
- };
290
- const islands = (region, depth, sum) => {
291
- for (const child of region.children) {
292
- const s = sum + orientation(child.points);
293
- if (inside(depth + 1, s)) {
294
- fillRegion(child, depth + 1, s);
295
- }
296
- else {
297
- islands(child, depth + 1, s);
298
- }
299
- }
300
- };
301
- for (const root of containment(contours)) {
302
- const s = orientation(root.points);
303
- if (inside(0, s)) {
304
- fillRegion(root, 0, s);
305
- }
306
- else {
307
- islands(root, 0, s);
308
- }
309
- }
310
- }
311
- return context;
312
- }
313
- /**
314
- * A shape's fills, or a morph's blend's, shared by every instance drawn
315
- * alike: a crowd in step, a pool's objects, and a timeline that places a
316
- * shape or a morph at a ratio again tessellate each once. Counted as nodes
317
- * take and give them back; one no one holds goes after IDLE_MS, or a
318
- * blend as its morph drops it, which is then never drawn from again. Kept
319
- * for as long as a shape lived, every shape a long session had shown held
320
- * its fills, their geometry and their coloured copies: hundreds of MB.
321
- */
322
- export class SharedFills {
323
- held = new Map();
324
- /** The shapes no one holds, in the order they went idle, with the time each did. */
325
- idle = new Map();
326
- /** The idle ones that are blends, which go as soon as their morph drops them. */
327
- idleBlends = new Set();
328
- /** The shape's fills if they are kept, not taken: for a view drawn once to borrow. */
329
- peek(shape) {
330
- return this.held.get(shape)?.fills ?? null;
331
- }
332
- /** The shape's fills, taken: found, or built of `layers` by `build`. */
333
- take(shape, layers, build) {
334
- let entry = this.held.get(shape);
335
- if (!entry) {
336
- entry = { fills: build(layers), uses: 0 };
337
- this.held.set(shape, entry);
338
- }
339
- entry.uses++;
340
- this.idle.delete(shape);
341
- this.idleBlends.delete(shape);
342
- return entry.fills;
343
- }
344
- give(shape) {
345
- const entry = this.held.get(shape);
346
- if (!entry) {
347
- return;
348
- }
349
- entry.uses--;
350
- if (entry.uses > 0) {
351
- return;
352
- }
353
- if (shape.layers.some((layer) => droppedLayers.has(layer))) {
354
- this.drop(shape);
355
- return;
356
- }
357
- this.idle.set(shape, performance.now());
358
- if (shape.layers.some((layer) => blendLayers.has(layer))) {
359
- this.idleBlends.add(shape);
360
- }
361
- }
362
- /** A frame prepared: the idle blends their morph dropped go, and those idle too long, oldest first. */
363
- tick() {
364
- for (const shape of this.idleBlends) {
365
- if (shape.layers.some((layer) => droppedLayers.has(layer))) {
366
- this.drop(shape);
367
- }
368
- }
369
- const now = performance.now();
370
- for (const [shape, since] of this.idle) {
371
- if (now - since < IDLE_MS) {
372
- break;
373
- }
374
- this.drop(shape);
375
- }
376
- }
377
- drop(shape) {
378
- this.idle.delete(shape);
379
- this.idleBlends.delete(shape);
380
- for (const context of this.held.get(shape)?.fills ?? []) {
381
- destroyContext(context);
382
- }
383
- this.held.delete(shape);
384
- }
385
- }
386
- //# sourceMappingURL=tessellate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tessellate.js","sourceRoot":"","sources":["../../src/render/tessellate.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import { Container as PixiContainer } from "pixi.js";
2
- import type { StaticTextObject, TextObject } from "../display/display.js";
3
- import { type SaffronView } from "./saffron.js";
4
- /**
5
- * Whether text laid out at (x, y), `width` by `height`, reaches outside its
6
- * field, which then clips it: where it lies, as a margin or an indent puts
7
- * it, not its size alone.
8
- */
9
- export declare function overruns(field: {
10
- left: number;
11
- top: number;
12
- width: number;
13
- height: number;
14
- }, x: number, y: number, width: number, height: number): boolean;
15
- /**
16
- * How a text's advanced glyphs are drawn (render/saffron.ts): by the view's
17
- * shared uniforms, at `scale` of Flash's pixels to a pixel of the text as
18
- * it is placed now, drawn `again` when the outlines' store starts again.
19
- */
20
- export interface Advanced {
21
- view: SaffronView;
22
- scale: number;
23
- again: () => void;
24
- }
25
- /**
26
- * A TextField drawn from its layout (text/layout.ts): its background and
27
- * border, then each line from the first scrolled to, a character of an
28
- * embedded font as its glyph's shape, a run of a device font as one Pixi
29
- * Text on the line's baseline, each in its own colour, clipped to the
30
- * field where the text runs over it. An advanced field's embedded glyphs
31
- * are drawn as Saffron draws them (render/saffron.ts), all in one mesh.
32
- */
33
- export declare function drawText(o: TextObject, art: PixiContainer, saffron: Advanced | null): void;
34
- /**
35
- * Static text: each glyph's shared fill, at its height and in its colour,
36
- * under the text's matrix; or, where its CSMTextSettings ask for advanced
37
- * anti-aliasing, as Saffron draws them.
38
- */
39
- export declare function drawStaticText(o: StaticTextObject, art: PixiContainer, saffron: Advanced | null): void;
40
- //# sourceMappingURL=text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/render/text.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,SAAS,IAAI,aAAa,EAE3B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAK1E,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhE;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACnE,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAUT;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAgED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAkJ1F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,gBAAgB,EACnB,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,QAAQ,GAAG,IAAI,GACvB,IAAI,CA4DN"}