@blakron/core 0.5.0 → 0.5.2

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 (89) hide show
  1. package/dist/blakron/display/DisplayObject.d.ts +1 -1
  2. package/dist/blakron/display/DisplayObject.d.ts.map +1 -1
  3. package/dist/blakron/display/DisplayObject.js +1 -1
  4. package/dist/blakron/display/DisplayObject.js.map +1 -1
  5. package/dist/blakron/display/Graphics.d.ts.map +1 -1
  6. package/dist/blakron/display/Graphics.js +2 -1
  7. package/dist/blakron/display/Graphics.js.map +1 -1
  8. package/dist/blakron/player/Player.d.ts.map +1 -1
  9. package/dist/blakron/player/Player.js +1 -2
  10. package/dist/blakron/player/Player.js.map +1 -1
  11. package/dist/blakron/player/RenderPipe.d.ts +1 -1
  12. package/dist/blakron/player/RenderPipe.d.ts.map +1 -1
  13. package/dist/blakron/player/createPlayer.d.ts.map +1 -1
  14. package/dist/blakron/player/createPlayer.js +1 -2
  15. package/dist/blakron/player/createPlayer.js.map +1 -1
  16. package/dist/blakron/player/index.d.ts +2 -4
  17. package/dist/blakron/player/index.d.ts.map +1 -1
  18. package/dist/blakron/player/index.js +2 -4
  19. package/dist/blakron/player/index.js.map +1 -1
  20. package/dist/blakron/player/webgl/WebGLProgram.d.ts +3 -2
  21. package/dist/blakron/player/webgl/WebGLProgram.d.ts.map +1 -1
  22. package/dist/blakron/player/webgl/WebGLProgram.js.map +1 -1
  23. package/dist/blakron/player/webgl/WebGLRenderContext.d.ts +9 -1
  24. package/dist/blakron/player/webgl/WebGLRenderContext.d.ts.map +1 -1
  25. package/dist/blakron/player/webgl/WebGLRenderContext.js +41 -14
  26. package/dist/blakron/player/webgl/WebGLRenderContext.js.map +1 -1
  27. package/dist/blakron/player/webgl/WebGLRenderTarget.d.ts +2 -1
  28. package/dist/blakron/player/webgl/WebGLRenderTarget.d.ts.map +1 -1
  29. package/dist/blakron/player/webgl/WebGLRenderTarget.js.map +1 -1
  30. package/dist/blakron/player/webgl/WebGLRenderer.d.ts.map +1 -1
  31. package/dist/blakron/player/webgl/WebGLRenderer.js +3 -8
  32. package/dist/blakron/player/webgl/WebGLRenderer.js.map +1 -1
  33. package/dist/blakron/player/webgl/WebGLUtils.d.ts +9 -3
  34. package/dist/blakron/player/webgl/WebGLUtils.d.ts.map +1 -1
  35. package/dist/blakron/player/webgl/WebGLUtils.js +2 -2
  36. package/dist/blakron/player/webgl/WebGLUtils.js.map +1 -1
  37. package/dist/blakron/player/webgl/index.d.ts +1 -1
  38. package/dist/blakron/player/webgl/index.d.ts.map +1 -1
  39. package/dist/blakron/player/webgl/index.js +1 -1
  40. package/dist/blakron/player/webgl/index.js.map +1 -1
  41. package/dist/blakron/player/webgl/pipes/GraphicsPipe.d.ts +2 -0
  42. package/dist/blakron/player/webgl/pipes/GraphicsPipe.d.ts.map +1 -1
  43. package/dist/blakron/player/webgl/pipes/GraphicsPipe.js +39 -2
  44. package/dist/blakron/player/webgl/pipes/GraphicsPipe.js.map +1 -1
  45. package/package.json +1 -1
  46. package/dist/blakron/player/CanvasRenderer.d.ts +0 -49
  47. package/dist/blakron/player/CanvasRenderer.d.ts.map +0 -1
  48. package/dist/blakron/player/CanvasRenderer.js +0 -792
  49. package/dist/blakron/player/CanvasRenderer.js.map +0 -1
  50. package/dist/blakron/player/DisplayList.d.ts +0 -32
  51. package/dist/blakron/player/DisplayList.d.ts.map +0 -1
  52. package/dist/blakron/player/DisplayList.js +0 -78
  53. package/dist/blakron/player/DisplayList.js.map +0 -1
  54. package/dist/blakron/player/InstructionSet.d.ts +0 -49
  55. package/dist/blakron/player/InstructionSet.d.ts.map +0 -1
  56. package/dist/blakron/player/InstructionSet.js +0 -45
  57. package/dist/blakron/player/InstructionSet.js.map +0 -1
  58. package/dist/blakron/player/RenderBuffer.d.ts +0 -35
  59. package/dist/blakron/player/RenderBuffer.d.ts.map +0 -1
  60. package/dist/blakron/player/RenderBuffer.js +0 -83
  61. package/dist/blakron/player/RenderBuffer.js.map +0 -1
  62. package/dist/blakron/player/pipes/BitmapPipe.d.ts +0 -35
  63. package/dist/blakron/player/pipes/BitmapPipe.d.ts.map +0 -1
  64. package/dist/blakron/player/pipes/BitmapPipe.js +0 -130
  65. package/dist/blakron/player/pipes/BitmapPipe.js.map +0 -1
  66. package/dist/blakron/player/pipes/FilterPipe.d.ts +0 -68
  67. package/dist/blakron/player/pipes/FilterPipe.d.ts.map +0 -1
  68. package/dist/blakron/player/pipes/FilterPipe.js +0 -169
  69. package/dist/blakron/player/pipes/FilterPipe.js.map +0 -1
  70. package/dist/blakron/player/pipes/GraphicsPipe.d.ts +0 -36
  71. package/dist/blakron/player/pipes/GraphicsPipe.d.ts.map +0 -1
  72. package/dist/blakron/player/pipes/GraphicsPipe.js +0 -126
  73. package/dist/blakron/player/pipes/GraphicsPipe.js.map +0 -1
  74. package/dist/blakron/player/pipes/MaskPipe.d.ts +0 -58
  75. package/dist/blakron/player/pipes/MaskPipe.d.ts.map +0 -1
  76. package/dist/blakron/player/pipes/MaskPipe.js +0 -190
  77. package/dist/blakron/player/pipes/MaskPipe.js.map +0 -1
  78. package/dist/blakron/player/pipes/MeshPipe.d.ts +0 -22
  79. package/dist/blakron/player/pipes/MeshPipe.d.ts.map +0 -1
  80. package/dist/blakron/player/pipes/MeshPipe.js +0 -50
  81. package/dist/blakron/player/pipes/MeshPipe.js.map +0 -1
  82. package/dist/blakron/player/pipes/TextPipe.d.ts +0 -52
  83. package/dist/blakron/player/pipes/TextPipe.d.ts.map +0 -1
  84. package/dist/blakron/player/pipes/TextPipe.js +0 -163
  85. package/dist/blakron/player/pipes/TextPipe.js.map +0 -1
  86. package/dist/blakron/player/webgl/ShaderLib.d.ts +0 -34
  87. package/dist/blakron/player/webgl/ShaderLib.d.ts.map +0 -1
  88. package/dist/blakron/player/webgl/ShaderLib.js +0 -268
  89. package/dist/blakron/player/webgl/ShaderLib.js.map +0 -1
@@ -1,268 +0,0 @@
1
- export const ShaderLib = {
2
- default_vert: /* glsl */ `
3
- attribute vec2 aVertexPosition;
4
- attribute vec2 aTextureCoord;
5
- attribute vec4 aColor;
6
- uniform vec2 projectionVector;
7
- varying vec2 vTextureCoord;
8
- varying vec4 vColor;
9
- const vec2 center = vec2(-1.0, 1.0);
10
- void main(void) {
11
- gl_Position = vec4((aVertexPosition / projectionVector) + center, 0.0, 1.0);
12
- vTextureCoord = aTextureCoord;
13
- vColor = aColor;
14
- }`,
15
- // Multi-texture vertex shader: carries textureId as a float attribute.
16
- multi_vert: /* glsl */ `
17
- attribute vec2 aVertexPosition;
18
- attribute vec2 aTextureCoord;
19
- attribute vec4 aColor;
20
- attribute float aTextureId;
21
- uniform vec2 projectionVector;
22
- varying vec2 vTextureCoord;
23
- varying vec4 vColor;
24
- varying float vTextureId;
25
- const vec2 center = vec2(-1.0, 1.0);
26
- void main(void) {
27
- gl_Position = vec4((aVertexPosition / projectionVector) + center, 0.0, 1.0);
28
- vTextureCoord = aTextureCoord;
29
- vColor = aColor;
30
- vTextureId = aTextureId;
31
- }`,
32
- // Multi-texture fragment shader: samples from one of up to 8 texture units.
33
- // WebGL 1 does not support dynamic indexing into sampler arrays, so we use
34
- // an if/else chain — the same technique used by Pixi.js for WebGL1.
35
- multi_frag: /* glsl */ `
36
- precision lowp float;
37
- varying vec2 vTextureCoord;
38
- varying vec4 vColor;
39
- varying float vTextureId;
40
- uniform sampler2D uSamplers[8];
41
- void main(void) {
42
- vec4 color;
43
- int id = int(vTextureId + 0.5);
44
- if (id == 0) color = texture2D(uSamplers[0], vTextureCoord);
45
- else if (id == 1) color = texture2D(uSamplers[1], vTextureCoord);
46
- else if (id == 2) color = texture2D(uSamplers[2], vTextureCoord);
47
- else if (id == 3) color = texture2D(uSamplers[3], vTextureCoord);
48
- else if (id == 4) color = texture2D(uSamplers[4], vTextureCoord);
49
- else if (id == 5) color = texture2D(uSamplers[5], vTextureCoord);
50
- else if (id == 6) color = texture2D(uSamplers[6], vTextureCoord);
51
- else color = texture2D(uSamplers[7], vTextureCoord);
52
- gl_FragColor = color * vColor;
53
- }`,
54
- texture_frag: /* glsl */ `
55
- precision lowp float;
56
- varying vec2 vTextureCoord;
57
- varying vec4 vColor;
58
- uniform sampler2D uSampler;
59
- void main(void) {
60
- gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;
61
- }`,
62
- primitive_frag: /* glsl */ `
63
- precision lowp float;
64
- varying vec2 vTextureCoord;
65
- varying vec4 vColor;
66
- void main(void) {
67
- gl_FragColor = vColor;
68
- }`,
69
- blur_frag: /* glsl */ `
70
- precision mediump float;
71
- uniform vec2 blur;
72
- uniform sampler2D uSampler;
73
- varying vec2 vTextureCoord;
74
- uniform vec2 uTextureSize;
75
- void main() {
76
- const int sampleRadius = 5;
77
- const int samples = sampleRadius * 2 + 1;
78
- vec2 blurUv = blur / uTextureSize;
79
- vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
80
- vec2 uv = vec2(0.0, 0.0);
81
- blurUv /= float(sampleRadius);
82
- for (int i = -sampleRadius; i <= sampleRadius; i++) {
83
- uv.x = vTextureCoord.x + float(i) * blurUv.x;
84
- uv.y = vTextureCoord.y + float(i) * blurUv.y;
85
- color += texture2D(uSampler, uv);
86
- }
87
- color /= float(samples);
88
- gl_FragColor = color;
89
- }`,
90
- // Horizontal blur pass for ping-pong two-pass Gaussian blur.
91
- // Samples along the X axis only; blurX is the radius in pixels.
92
- // Radius is hardcoded to 8 (legacy fallback, kept for reference).
93
- blur_h_frag: /* glsl */ `
94
- precision mediump float;
95
- uniform float blurX;
96
- uniform sampler2D uSampler;
97
- varying vec2 vTextureCoord;
98
- uniform vec2 uTextureSize;
99
- void main() {
100
- float step = 1.0 / uTextureSize.x;
101
- vec4 color = vec4(0.0);
102
- float total = 0.0;
103
- for (int i = -8; i <= 8; i++) {
104
- if (abs(float(i)) > blurX) continue;
105
- float weight = 1.0 - abs(float(i)) / (blurX + 1.0);
106
- color += texture2D(uSampler, vTextureCoord + vec2(float(i) * step, 0.0)) * weight;
107
- total += weight;
108
- }
109
- gl_FragColor = color / total;
110
- }`,
111
- // Vertical blur pass for ping-pong two-pass Gaussian blur.
112
- // Samples along the Y axis only; blurY is the radius in pixels.
113
- // Radius is hardcoded to 8 (legacy fallback, kept for reference).
114
- blur_v_frag: /* glsl */ `
115
- precision mediump float;
116
- uniform float blurY;
117
- uniform sampler2D uSampler;
118
- varying vec2 vTextureCoord;
119
- uniform vec2 uTextureSize;
120
- void main() {
121
- float step = 1.0 / uTextureSize.y;
122
- vec4 color = vec4(0.0);
123
- float total = 0.0;
124
- for (int i = -8; i <= 8; i++) {
125
- if (abs(float(i)) > blurY) continue;
126
- float weight = 1.0 - abs(float(i)) / (blurY + 1.0);
127
- color += texture2D(uSampler, vTextureCoord + vec2(0.0, float(i) * step)) * weight;
128
- total += weight;
129
- }
130
- gl_FragColor = color / total;
131
- }`,
132
- glow_frag: /* glsl */ `
133
- precision highp float;
134
- varying vec2 vTextureCoord;
135
- uniform sampler2D uSampler;
136
- uniform float dist;
137
- uniform float angle;
138
- uniform vec4 color;
139
- uniform float alpha;
140
- uniform float blurX;
141
- uniform float blurY;
142
- uniform float strength;
143
- uniform float inner;
144
- uniform float knockout;
145
- uniform float hideObject;
146
- uniform vec2 uTextureSize;
147
- float random(vec2 scale) {
148
- return fract(sin(dot(gl_FragCoord.xy, scale)) * 43758.5453);
149
- }
150
- void main(void) {
151
- vec2 px = vec2(1.0 / uTextureSize.x, 1.0 / uTextureSize.y);
152
- const float linearSamplingTimes = 7.0;
153
- const float circleSamplingTimes = 12.0;
154
- vec4 ownColor = texture2D(uSampler, vTextureCoord);
155
- vec4 curColor;
156
- float totalAlpha = 0.0;
157
- float maxTotalAlpha = 0.0;
158
- float offsetX = dist * cos(angle) * px.x;
159
- float offsetY = dist * sin(angle) * px.y;
160
- const float PI = 3.14159265358979323846264;
161
- float offset = PI * 2.0 / circleSamplingTimes * random(vec2(12.9898, 78.233));
162
- float stepX = blurX * px.x / linearSamplingTimes;
163
- float stepY = blurY * px.y / linearSamplingTimes;
164
- for (float a = 0.0; a <= PI * 2.0; a += PI * 2.0 / circleSamplingTimes) {
165
- float cosAngle = cos(a + offset);
166
- float sinAngle = sin(a + offset);
167
- for (float i = 1.0; i <= linearSamplingTimes; i++) {
168
- float curDistanceX = i * stepX * cosAngle;
169
- float curDistanceY = i * stepY * sinAngle;
170
- if (vTextureCoord.x + curDistanceX - offsetX >= 0.0 && vTextureCoord.y + curDistanceY + offsetY <= 1.0) {
171
- curColor = texture2D(uSampler, vec2(vTextureCoord.x + curDistanceX - offsetX, vTextureCoord.y + curDistanceY + offsetY));
172
- totalAlpha += (linearSamplingTimes - i) * curColor.a;
173
- }
174
- maxTotalAlpha += (linearSamplingTimes - i);
175
- }
176
- }
177
- ownColor.a = max(ownColor.a, 0.0001);
178
- ownColor.rgb = ownColor.rgb / ownColor.a;
179
- float outerGlowAlpha = (totalAlpha / maxTotalAlpha) * strength * alpha * (1.0 - inner) * max(min(hideObject, knockout), 1.0 - ownColor.a);
180
- float innerGlowAlpha = ((maxTotalAlpha - totalAlpha) / maxTotalAlpha) * strength * alpha * inner * ownColor.a;
181
- ownColor.a = max(ownColor.a * knockout * (1.0 - hideObject), 0.0001);
182
- vec3 mix1 = mix(ownColor.rgb, color.rgb, innerGlowAlpha / (innerGlowAlpha + ownColor.a));
183
- vec3 mix2 = mix(mix1, color.rgb, outerGlowAlpha / (innerGlowAlpha + ownColor.a + outerGlowAlpha));
184
- float resultAlpha = min(ownColor.a + outerGlowAlpha + innerGlowAlpha, 1.0);
185
- gl_FragColor = vec4(mix2 * resultAlpha, resultAlpha);
186
- }`,
187
- colorTransform_frag: /* glsl */ `
188
- precision mediump float;
189
- varying vec2 vTextureCoord;
190
- varying vec4 vColor;
191
- uniform mat4 matrix;
192
- uniform vec4 colorAdd;
193
- uniform sampler2D uSampler;
194
- void main(void) {
195
- vec4 texColor = texture2D(uSampler, vTextureCoord);
196
- if (texColor.a > 0.0) {
197
- texColor = vec4(texColor.rgb / texColor.a, texColor.a);
198
- }
199
- vec4 locColor = clamp(texColor * matrix + colorAdd, 0.0, 1.0);
200
- gl_FragColor = vColor * vec4(locColor.rgb * locColor.a, locColor.a);
201
- }`,
202
- };
203
- // ── Dynamic blur shader generation ───────────────────────────────────────────
204
- /**
205
- * Blur radius tiers. Each tier generates a dedicated shader variant with a
206
- * loop bound matching the tier value, avoiding the WebGL1 limitation where
207
- * loop bounds must be compile-time constants.
208
- *
209
- * Tier selection: pick the smallest tier >= ceil(blurValue).
210
- * e.g. blurX=5 → tier 8, blurX=12 → tier 16, blurX=25 → tier 32.
211
- */
212
- export const BLUR_TIERS = [4, 8, 16, 32];
213
- /** Returns the smallest tier that can accommodate the given blur radius. */
214
- export function getBlurTier(radius) {
215
- for (const tier of BLUR_TIERS) {
216
- if (radius <= tier)
217
- return tier;
218
- }
219
- return 32;
220
- }
221
- /**
222
- * Generates a horizontal blur fragment shader for the given radius tier.
223
- * The loop bound is a compile-time constant so it is valid in WebGL1 GLSL.
224
- */
225
- export function makeBlurHFrag(tier) {
226
- return /* glsl */ `
227
- precision mediump float;
228
- uniform float blurX;
229
- uniform sampler2D uSampler;
230
- varying vec2 vTextureCoord;
231
- uniform vec2 uTextureSize;
232
- void main() {
233
- float step = 1.0 / uTextureSize.x;
234
- vec4 color = vec4(0.0);
235
- float total = 0.0;
236
- for (int i = -${tier}; i <= ${tier}; i++) {
237
- if (abs(float(i)) > blurX) continue;
238
- float weight = 1.0 - abs(float(i)) / (blurX + 1.0);
239
- color += texture2D(uSampler, vTextureCoord + vec2(float(i) * step, 0.0)) * weight;
240
- total += weight;
241
- }
242
- gl_FragColor = color / total;
243
- }`;
244
- }
245
- /**
246
- * Generates a vertical blur fragment shader for the given radius tier.
247
- */
248
- export function makeBlurVFrag(tier) {
249
- return /* glsl */ `
250
- precision mediump float;
251
- uniform float blurY;
252
- uniform sampler2D uSampler;
253
- varying vec2 vTextureCoord;
254
- uniform vec2 uTextureSize;
255
- void main() {
256
- float step = 1.0 / uTextureSize.y;
257
- vec4 color = vec4(0.0);
258
- float total = 0.0;
259
- for (int i = -${tier}; i <= ${tier}; i++) {
260
- if (abs(float(i)) > blurY) continue;
261
- float weight = 1.0 - abs(float(i)) / (blurY + 1.0);
262
- color += texture2D(uSampler, vTextureCoord + vec2(0.0, float(i) * step)) * weight;
263
- total += weight;
264
- }
265
- gl_FragColor = color / total;
266
- }`;
267
- }
268
- //# sourceMappingURL=ShaderLib.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShaderLib.js","sourceRoot":"","sources":["../../../../src/blakron/player/webgl/ShaderLib.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,YAAY,EAAE,UAAU,CAAC;;;;;;;;;;;;EAYxB;IAED,uEAAuE;IACvE,UAAU,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;EAetB;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,oEAAoE;IACpE,UAAU,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;EAkBtB;IAED,YAAY,EAAE,UAAU,CAAC;;;;;;;EAOxB;IAED,cAAc,EAAE,UAAU,CAAC;;;;;;EAM1B;IAED,SAAS,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;EAoBrB;IAED,6DAA6D;IAC7D,gEAAgE;IAChE,kEAAkE;IAClE,WAAW,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;EAiBvB;IAED,2DAA2D;IAC3D,gEAAgE;IAChE,kEAAkE;IAClE,WAAW,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;EAiBvB;IAED,SAAS,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDrB;IAED,mBAAmB,EAAE,UAAU,CAAC;;;;;;;;;;;;;;EAc/B;CACQ,CAAC;AAEX,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAGlD,4EAA4E;AAC5E,MAAM,UAAU,WAAW,CAAC,MAAc;IACzC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc;IAC3C,OAAO,UAAU,CAAC;;;;;;;;;;oBAUC,IAAI,UAAU,IAAI;;;;;;;EAOpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc;IAC3C,OAAO,UAAU,CAAC;;;;;;;;;;oBAUC,IAAI,UAAU,IAAI;;;;;;;EAOpC,CAAC;AACH,CAAC"}