@blakron/core 0.5.10 → 0.5.12
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.
- package/dist/blakron/player/webgl/shaders/ShaderLib2.d.ts +1 -1
- package/dist/blakron/player/webgl/shaders/ShaderLib2.d.ts.map +1 -1
- package/dist/blakron/player/webgl/shaders/ShaderLib2.js +14 -2
- package/dist/blakron/player/webgl/shaders/ShaderLib2.js.map +1 -1
- package/dist/blakron/text/TextField.d.ts.map +1 -1
- package/dist/blakron/text/TextField.js +10 -19
- package/dist/blakron/text/TextField.js.map +1 -1
- package/dist/blakron/text/WordWrap.d.ts +26 -12
- package/dist/blakron/text/WordWrap.d.ts.map +1 -1
- package/dist/blakron/text/WordWrap.js +101 -41
- package/dist/blakron/text/WordWrap.js.map +1 -1
- package/dist/blakron/text/index.d.ts +1 -1
- package/dist/blakron/text/index.d.ts.map +1 -1
- package/dist/blakron/text/index.js +1 -1
- package/dist/blakron/text/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ export declare const ShaderLib2: {
|
|
|
6
6
|
readonly default_vert: "#version 300 es\nin vec2 aVertexPosition;\nin vec2 aTextureCoord;\nin vec4 aColor;\nuniform vec2 projectionVector;\nout vec2 vTextureCoord;\nout vec4 vColor;\nconst vec2 center = vec2(-1.0, 1.0);\nvoid main(void) {\n gl_Position = vec4((aVertexPosition / projectionVector) + center, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n vColor = aColor;\n}";
|
|
7
7
|
readonly fullscreen_vert: "#version 300 es\nin vec2 aVertexPosition;\nin vec2 aTextureCoord;\nin vec4 aColor;\nuniform vec2 projectionVector;\nout vec2 vTextureCoord;\nout vec4 vColor;\nconst vec2 center = vec2(-1.0, 1.0);\nvoid main(void) {\n gl_Position = vec4((aVertexPosition / projectionVector) + center, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n vColor = aColor;\n}";
|
|
8
8
|
readonly multi_vert: "#version 300 es\nin vec2 aVertexPosition;\nin vec2 aTextureCoord;\nin vec4 aColor;\nin float aTextureId;\nuniform vec2 projectionVector;\nout vec2 vTextureCoord;\nout vec4 vColor;\nout float vTextureId;\nconst vec2 center = vec2(-1.0, 1.0);\nvoid main(void) {\n gl_Position = vec4((aVertexPosition / projectionVector) + center, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n vColor = aColor;\n vTextureId = aTextureId;\n}";
|
|
9
|
-
readonly multi_frag: "#version 300 es\nprecision lowp float;\nin vec2 vTextureCoord;\nin vec4 vColor;\nin float vTextureId;\nuniform sampler2D uSamplers[8];\nout vec4 fragColor;\nvoid main(void) {\n
|
|
9
|
+
readonly multi_frag: "#version 300 es\nprecision lowp float;\nin vec2 vTextureCoord;\nin vec4 vColor;\nin float vTextureId;\nuniform sampler2D uSamplers[8];\nout vec4 fragColor;\nvoid main(void) {\n vec4 color;\n int id = int(vTextureId + 0.5);\n if (id == 0) color = texture(uSamplers[0], vTextureCoord);\n else if (id == 1) color = texture(uSamplers[1], vTextureCoord);\n else if (id == 2) color = texture(uSamplers[2], vTextureCoord);\n else if (id == 3) color = texture(uSamplers[3], vTextureCoord);\n else if (id == 4) color = texture(uSamplers[4], vTextureCoord);\n else if (id == 5) color = texture(uSamplers[5], vTextureCoord);\n else if (id == 6) color = texture(uSamplers[6], vTextureCoord);\n else color = texture(uSamplers[7], vTextureCoord);\n fragColor = color * vColor;\n}";
|
|
10
10
|
readonly texture_frag: "#version 300 es\nprecision lowp float;\nin vec2 vTextureCoord;\nin vec4 vColor;\nuniform sampler2D uSampler;\nout vec4 fragColor;\nvoid main(void) {\n fragColor = texture(uSampler, vTextureCoord) * vColor;\n}";
|
|
11
11
|
readonly primitive_frag: "#version 300 es\nprecision lowp float;\nin vec2 vTextureCoord;\nin vec4 vColor;\nout vec4 fragColor;\nvoid main(void) {\n fragColor = vColor;\n}";
|
|
12
12
|
readonly blur_frag: "#version 300 es\nprecision mediump float;\nuniform vec2 blur;\nuniform sampler2D uSampler;\nin vec2 vTextureCoord;\nuniform vec2 uTextureSize;\nout vec4 fragColor;\nvoid main() {\n const int sampleRadius = 5;\n const int samples = sampleRadius * 2 + 1;\n vec2 blurUv = blur / uTextureSize;\n vec4 color = vec4(0.0, 0.0, 0.0, 0.0);\n vec2 uv = vec2(0.0, 0.0);\n blurUv /= float(sampleRadius);\n for (int i = -sampleRadius; i <= sampleRadius; i++) {\n uv.x = vTextureCoord.x + float(i) * blurUv.x;\n uv.y = vTextureCoord.y + float(i) * blurUv.y;\n color += texture(uSampler, uv);\n }\n color /= float(samples);\n fragColor = color;\n}";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShaderLib2.d.ts","sourceRoot":"","sources":["../../../../../src/blakron/player/webgl/shaders/ShaderLib2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ShaderLib2.d.ts","sourceRoot":"","sources":["../../../../../src/blakron/player/webgl/shaders/ShaderLib2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;CAyOb,CAAC;AAIX,eAAO,MAAM,WAAW,yBAA0B,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAKtD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAoBtD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAoBtD"}
|
|
@@ -51,7 +51,9 @@ void main(void) {
|
|
|
51
51
|
vTextureId = aTextureId;
|
|
52
52
|
}`,
|
|
53
53
|
// Multi-texture fragment shader.
|
|
54
|
-
//
|
|
54
|
+
// Each branch uses a constant integer to index the sampler array, which
|
|
55
|
+
// satisfies GLSL ES 3.00's requirement that sampler indices be constant or
|
|
56
|
+
// dynamically uniform. (Direct variable indexing is NOT allowed.)
|
|
55
57
|
multi_frag: /* glsl */ `#version 300 es
|
|
56
58
|
precision lowp float;
|
|
57
59
|
in vec2 vTextureCoord;
|
|
@@ -60,7 +62,17 @@ in float vTextureId;
|
|
|
60
62
|
uniform sampler2D uSamplers[8];
|
|
61
63
|
out vec4 fragColor;
|
|
62
64
|
void main(void) {
|
|
63
|
-
|
|
65
|
+
vec4 color;
|
|
66
|
+
int id = int(vTextureId + 0.5);
|
|
67
|
+
if (id == 0) color = texture(uSamplers[0], vTextureCoord);
|
|
68
|
+
else if (id == 1) color = texture(uSamplers[1], vTextureCoord);
|
|
69
|
+
else if (id == 2) color = texture(uSamplers[2], vTextureCoord);
|
|
70
|
+
else if (id == 3) color = texture(uSamplers[3], vTextureCoord);
|
|
71
|
+
else if (id == 4) color = texture(uSamplers[4], vTextureCoord);
|
|
72
|
+
else if (id == 5) color = texture(uSamplers[5], vTextureCoord);
|
|
73
|
+
else if (id == 6) color = texture(uSamplers[6], vTextureCoord);
|
|
74
|
+
else color = texture(uSamplers[7], vTextureCoord);
|
|
75
|
+
fragColor = color * vColor;
|
|
64
76
|
}`,
|
|
65
77
|
texture_frag: /* glsl */ `#version 300 es
|
|
66
78
|
precision lowp float;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShaderLib2.js","sourceRoot":"","sources":["../../../../../src/blakron/player/webgl/shaders/ShaderLib2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,YAAY,EAAE,UAAU,CAAC;;;;;;;;;;;;EAYxB;IAED,6EAA6E;IAC7E,sEAAsE;IACtE,oEAAoE;IACpE,qCAAqC;IACrC,eAAe,EAAE,UAAU,CAAC;;;;;;;;;;;;EAY3B;IAED,uEAAuE;IACvE,UAAU,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;EAetB;IAED,iCAAiC;IACjC,
|
|
1
|
+
{"version":3,"file":"ShaderLib2.js","sourceRoot":"","sources":["../../../../../src/blakron/player/webgl/shaders/ShaderLib2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,YAAY,EAAE,UAAU,CAAC;;;;;;;;;;;;EAYxB;IAED,6EAA6E;IAC7E,sEAAsE;IACtE,oEAAoE;IACpE,qCAAqC;IACrC,eAAe,EAAE,UAAU,CAAC;;;;;;;;;;;;EAY3B;IAED,uEAAuE;IACvE,UAAU,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;EAetB;IAED,iCAAiC;IACjC,wEAAwE;IACxE,2EAA2E;IAC3E,kEAAkE;IAClE,UAAU,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;EAmBtB;IAED,YAAY,EAAE,UAAU,CAAC;;;;;;;;EAQxB;IAED,cAAc,EAAE,UAAU,CAAC;;;;;;;EAO1B;IAED,SAAS,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;EAqBrB;IAED,6DAA6D;IAC7D,WAAW,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;EAkBvB;IAED,2DAA2D;IAC3D,WAAW,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;EAkBvB;IAED,SAAS,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDrB;IAED,mBAAmB,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;EAe/B;CACQ,CAAC;AAEX,iFAAiF;AAEjF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAGnD,MAAM,UAAU,YAAY,CAAC,MAAc;IAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAe;IAC7C,OAAO,UAAU,CAAC;;;;;;;;;;;oBAWC,IAAI,UAAU,IAAI;;;;;;;EAOpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAe;IAC7C,OAAO,UAAU,CAAC;;;;;;;;;;;oBAWC,IAAI,UAAU,IAAI;;;;;;;EAOpC,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/blakron/text/TextField.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/blakron/text/TextField.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { VerticalAlign } from './enums/VerticalAlign.js';
|
|
|
7
7
|
import { TextFieldType } from './enums/TextFieldType.js';
|
|
8
8
|
import { TextFieldInputType } from './enums/TextFieldInputType.js';
|
|
9
9
|
import { InputController } from './InputController.js';
|
|
10
|
-
import {
|
|
10
|
+
import { tokenize, splitGraphemes } from './WordWrap.js';
|
|
11
11
|
/**
|
|
12
12
|
* TextField displays text content. Supports single-line, multi-line, word wrap,
|
|
13
13
|
* rich text (textFlow), input mode, and basic styling.
|
|
@@ -578,28 +578,19 @@ export class TextField extends DisplayObject {
|
|
|
578
578
|
flushLine(true);
|
|
579
579
|
}
|
|
580
580
|
else {
|
|
581
|
-
// Need to break —
|
|
582
|
-
|
|
583
|
-
if (this._wordWrap) {
|
|
584
|
-
words = seg.split(getWordWrapRegex());
|
|
585
|
-
}
|
|
586
|
-
else {
|
|
587
|
-
words = seg.match(/[\s\S]/gu) ?? seg.split('');
|
|
588
|
-
}
|
|
581
|
+
// Need to break — tokenize into words/spaces, then wrap by width
|
|
582
|
+
const tokenTexts = this._wordWrap ? tokenize(seg) : (seg.match(/[\s\S]/gu) ?? seg.split(''));
|
|
589
583
|
let ww = 0;
|
|
590
584
|
let charNum = 0;
|
|
591
|
-
for (
|
|
592
|
-
const
|
|
593
|
-
if (!word)
|
|
594
|
-
continue;
|
|
595
|
-
const w = measureText(word, fontFamily, fontSize, bold, italic);
|
|
585
|
+
for (const token of tokenTexts) {
|
|
586
|
+
const w = measureText(token, fontFamily, fontSize, bold, italic);
|
|
596
587
|
if (lineWidth !== 0 && lineWidth + w > maxWidth) {
|
|
597
588
|
// Flush current line and start new one
|
|
598
589
|
flushLine(false);
|
|
599
590
|
}
|
|
600
591
|
if (w > maxWidth) {
|
|
601
|
-
// Single
|
|
602
|
-
const chars =
|
|
592
|
+
// Single token wider than field — break char by char
|
|
593
|
+
const chars = splitGraphemes(token);
|
|
603
594
|
for (const ch of chars) {
|
|
604
595
|
const cw = measureText(ch, fontFamily, fontSize, bold, italic);
|
|
605
596
|
if (lineWidth !== 0 && lineWidth + cw > maxWidth) {
|
|
@@ -614,12 +605,12 @@ export class TextField extends DisplayObject {
|
|
|
614
605
|
}
|
|
615
606
|
}
|
|
616
607
|
else {
|
|
617
|
-
currentLine.push({ text:
|
|
608
|
+
currentLine.push({ text: token, width: w, style: element.style });
|
|
618
609
|
lineWidth += w;
|
|
619
610
|
if (!isInput)
|
|
620
611
|
lineHeight = Math.max(lineHeight, fontSize);
|
|
621
|
-
lineCharNum +=
|
|
622
|
-
charNum +=
|
|
612
|
+
lineCharNum += token.length;
|
|
613
|
+
charNum += token.length;
|
|
623
614
|
ww += w;
|
|
624
615
|
}
|
|
625
616
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../src/blakron/text/TextField.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../src/blakron/text/TextField.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Multilingual text tokenization for word-wrapping.
|
|
3
|
+
*
|
|
4
|
+
* Uses `Intl.Segmenter` (supported in all browsers since 2024) for locale-aware
|
|
5
|
+
* word segmentation. Correctly handles Latin (space-separated), CJK (each
|
|
6
|
+
* character is a segment), Thai/Khmer/Lao (dictionary-based word boundaries),
|
|
7
|
+
* and mixed-script text.
|
|
8
|
+
*
|
|
9
|
+
* Falls back to character-by-character splitting when `Intl.Segmenter` is
|
|
10
|
+
* unavailable.
|
|
5
11
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Split text into word / space segments suitable for line-wrapping.
|
|
14
|
+
*
|
|
15
|
+
* Returns plain strings — each string is either a word or a space.
|
|
16
|
+
* Newlines are NOT included (the caller should split by newlines first).
|
|
17
|
+
*
|
|
18
|
+
* - Latin: "hello world" → ["hello", " ", "world"]
|
|
19
|
+
* - CJK: "你好世界" → ["你", "好", "世", "界"]
|
|
20
|
+
* - Thai: "สวัสดีครับ" → ["สวัสดี", "ครับ"]
|
|
21
|
+
*/
|
|
22
|
+
export declare function tokenize(text: string): string[];
|
|
23
|
+
/**
|
|
24
|
+
* Split a string into grapheme clusters (user-perceived characters).
|
|
25
|
+
* Used when a single token is wider than the field and must be broken
|
|
26
|
+
* character-by-character.
|
|
27
|
+
*/
|
|
28
|
+
export declare function splitGraphemes(text: string): string[];
|
|
15
29
|
//# sourceMappingURL=WordWrap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WordWrap.d.ts","sourceRoot":"","sources":["../../../src/blakron/text/WordWrap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WordWrap.d.ts","sourceRoot":"","sources":["../../../src/blakron/text/WordWrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAsCH;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAwC/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAUrD"}
|
|
@@ -1,50 +1,110 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Multilingual text tokenization for word-wrapping.
|
|
3
|
+
*
|
|
4
|
+
* Uses `Intl.Segmenter` (supported in all browsers since 2024) for locale-aware
|
|
5
|
+
* word segmentation. Correctly handles Latin (space-separated), CJK (each
|
|
6
|
+
* character is a segment), Thai/Khmer/Lao (dictionary-based word boundaries),
|
|
7
|
+
* and mixed-script text.
|
|
8
|
+
*
|
|
9
|
+
* Falls back to character-by-character splitting when `Intl.Segmenter` is
|
|
10
|
+
* unavailable.
|
|
11
|
+
*/
|
|
12
|
+
// ── Segmenter (lazy, cached) ────────────────────────────────────────────────
|
|
13
|
+
let _segmenter;
|
|
14
|
+
const hasSegmenter = typeof Intl !== 'undefined' && typeof Intl.Segmenter === 'function';
|
|
15
|
+
function getSegmenter() {
|
|
16
|
+
if (!_segmenter) {
|
|
17
|
+
_segmenter = new Intl.Segmenter(undefined, { granularity: 'word' });
|
|
13
18
|
}
|
|
14
|
-
|
|
19
|
+
return _segmenter;
|
|
15
20
|
}
|
|
16
|
-
|
|
21
|
+
// ── Breaking space / newline tables ─────────────────────────────────────────
|
|
22
|
+
const BREAKING_SPACES = new Set([
|
|
23
|
+
0x0009, // tab
|
|
24
|
+
0x0020, // space
|
|
25
|
+
0x2000, // en quad
|
|
26
|
+
0x2001, // em quad
|
|
27
|
+
0x2002, // en space
|
|
28
|
+
0x2003, // em space
|
|
29
|
+
0x2004, // three-per-em space
|
|
30
|
+
0x2005, // four-per-em space
|
|
31
|
+
0x2006, // six-per-em space
|
|
32
|
+
0x2008, // punctuation space
|
|
33
|
+
0x2009, // thin space
|
|
34
|
+
0x200a, // hair space
|
|
35
|
+
0x205f, // medium mathematical space
|
|
36
|
+
0x3000, // ideographic space
|
|
37
|
+
]);
|
|
38
|
+
const NEWLINES = new Set([0x000a, 0x000d]);
|
|
39
|
+
// ── Public API ───────────────────────────────────────────────────────────────
|
|
17
40
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
41
|
+
* Split text into word / space segments suitable for line-wrapping.
|
|
42
|
+
*
|
|
43
|
+
* Returns plain strings — each string is either a word or a space.
|
|
44
|
+
* Newlines are NOT included (the caller should split by newlines first).
|
|
45
|
+
*
|
|
46
|
+
* - Latin: "hello world" → ["hello", " ", "world"]
|
|
47
|
+
* - CJK: "你好世界" → ["你", "好", "世", "界"]
|
|
48
|
+
* - Thai: "สวัสดีครับ" → ["สวัสดี", "ครับ"]
|
|
21
49
|
*/
|
|
22
|
-
export function
|
|
23
|
-
if (
|
|
24
|
-
|
|
50
|
+
export function tokenize(text) {
|
|
51
|
+
if (!text)
|
|
52
|
+
return [];
|
|
53
|
+
if (hasSegmenter) {
|
|
54
|
+
const result = [];
|
|
55
|
+
for (const seg of getSegmenter().segment(text)) {
|
|
56
|
+
const s = seg.segment;
|
|
57
|
+
if (!s)
|
|
58
|
+
continue;
|
|
59
|
+
// Skip newlines — caller handles them
|
|
60
|
+
const code = s.charCodeAt(0);
|
|
61
|
+
if (NEWLINES.has(code))
|
|
62
|
+
continue;
|
|
63
|
+
result.push(s);
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
25
66
|
}
|
|
26
|
-
|
|
27
|
-
|
|
67
|
+
// Fallback: split into individual characters
|
|
68
|
+
const result = [];
|
|
69
|
+
let buf = '';
|
|
70
|
+
for (let i = 0; i < text.length; i++) {
|
|
71
|
+
const code = text.charCodeAt(i);
|
|
72
|
+
if (NEWLINES.has(code)) {
|
|
73
|
+
if (buf) {
|
|
74
|
+
result.push(buf);
|
|
75
|
+
buf = '';
|
|
76
|
+
}
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (BREAKING_SPACES.has(code)) {
|
|
80
|
+
if (buf) {
|
|
81
|
+
result.push(buf);
|
|
82
|
+
buf = '';
|
|
83
|
+
}
|
|
84
|
+
result.push(text[i]);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
buf += text[i];
|
|
88
|
+
}
|
|
28
89
|
}
|
|
29
|
-
|
|
90
|
+
if (buf)
|
|
91
|
+
result.push(buf);
|
|
92
|
+
return result;
|
|
30
93
|
}
|
|
31
|
-
/**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
export function
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
/** Returns the current compiled word wrap split regex. */
|
|
47
|
-
export function getWordWrapRegex() {
|
|
48
|
-
return splitRegex;
|
|
94
|
+
/**
|
|
95
|
+
* Split a string into grapheme clusters (user-perceived characters).
|
|
96
|
+
* Used when a single token is wider than the field and must be broken
|
|
97
|
+
* character-by-character.
|
|
98
|
+
*/
|
|
99
|
+
export function splitGraphemes(text) {
|
|
100
|
+
if (hasSegmenter) {
|
|
101
|
+
const seg = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
|
|
102
|
+
const result = [];
|
|
103
|
+
for (const s of seg.segment(text)) {
|
|
104
|
+
result.push(s.segment);
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
return [...text];
|
|
49
109
|
}
|
|
50
110
|
//# sourceMappingURL=WordWrap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WordWrap.js","sourceRoot":"","sources":["../../../src/blakron/text/WordWrap.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"WordWrap.js","sourceRoot":"","sources":["../../../src/blakron/text/WordWrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,5 @@ export { measureText, getFontString, measureVerticalCorrection } from './TextMea
|
|
|
10
10
|
export { TextField } from './TextField.js';
|
|
11
11
|
export { StageText } from './StageText.js';
|
|
12
12
|
export { InputController } from './InputController.js';
|
|
13
|
-
export {
|
|
13
|
+
export { tokenize, splitGraphemes } from './WordWrap.js';
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blakron/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blakron/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -9,5 +9,5 @@ export { measureText, getFontString, measureVerticalCorrection } from './TextMea
|
|
|
9
9
|
export { TextField } from './TextField.js';
|
|
10
10
|
export { StageText } from './StageText.js';
|
|
11
11
|
export { InputController } from './InputController.js';
|
|
12
|
-
export {
|
|
12
|
+
export { tokenize, splitGraphemes } from './WordWrap.js';
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blakron/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blakron/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blakron/core",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.12",
|
|
4
4
|
"description": "Modern rewrite of the Egret game engine — WebGL multi-texture batching, instruction-driven render pipeline, strict TypeScript, Egret-compatible API",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|