@kurot/core 1.0.17 → 1.0.19

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 (69) hide show
  1. package/README.md +8 -0
  2. package/dist/kurot/display/DisplayObject.d.ts +2 -1
  3. package/dist/kurot/display/DisplayObject.d.ts.map +1 -1
  4. package/dist/kurot/display/DisplayObject.js.map +1 -1
  5. package/dist/kurot/events/TouchEvent.js +2 -1
  6. package/dist/kurot/events/TouchEvent.js.map +1 -1
  7. package/dist/kurot/player/KurotOptions.d.ts +7 -0
  8. package/dist/kurot/player/KurotOptions.d.ts.map +1 -1
  9. package/dist/kurot/player/Player.d.ts +5 -2
  10. package/dist/kurot/player/Player.d.ts.map +1 -1
  11. package/dist/kurot/player/Player.js +19 -8
  12. package/dist/kurot/player/Player.js.map +1 -1
  13. package/dist/kurot/player/RenderContext.d.ts +2 -0
  14. package/dist/kurot/player/RenderContext.d.ts.map +1 -1
  15. package/dist/kurot/player/ScreenAdapter.d.ts +11 -4
  16. package/dist/kurot/player/ScreenAdapter.d.ts.map +1 -1
  17. package/dist/kurot/player/ScreenAdapter.js +25 -9
  18. package/dist/kurot/player/ScreenAdapter.js.map +1 -1
  19. package/dist/kurot/player/canvas/CanvasRenderer.d.ts +2 -1
  20. package/dist/kurot/player/canvas/CanvasRenderer.d.ts.map +1 -1
  21. package/dist/kurot/player/canvas/CanvasRenderer.js +91 -40
  22. package/dist/kurot/player/canvas/CanvasRenderer.js.map +1 -1
  23. package/dist/kurot/player/canvas/DisplayList.d.ts +2 -1
  24. package/dist/kurot/player/canvas/DisplayList.d.ts.map +1 -1
  25. package/dist/kurot/player/canvas/DisplayList.js +18 -4
  26. package/dist/kurot/player/canvas/DisplayList.js.map +1 -1
  27. package/dist/kurot/player/createPlayer.d.ts.map +1 -1
  28. package/dist/kurot/player/createPlayer.js +2 -2
  29. package/dist/kurot/player/createPlayer.js.map +1 -1
  30. package/dist/kurot/player/pipes/FilterPipe.d.ts.map +1 -1
  31. package/dist/kurot/player/pipes/FilterPipe.js +4 -1
  32. package/dist/kurot/player/pipes/FilterPipe.js.map +1 -1
  33. package/dist/kurot/player/pipes/MaskPipe.d.ts.map +1 -1
  34. package/dist/kurot/player/pipes/MaskPipe.js +8 -3
  35. package/dist/kurot/player/pipes/MaskPipe.js.map +1 -1
  36. package/dist/kurot/player/pipes/TextPipe.d.ts +1 -1
  37. package/dist/kurot/player/pipes/TextPipe.d.ts.map +1 -1
  38. package/dist/kurot/player/pipes/TextPipe.js +4 -7
  39. package/dist/kurot/player/pipes/TextPipe.js.map +1 -1
  40. package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts +4 -0
  41. package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts.map +1 -1
  42. package/dist/kurot/player/webgl/WebGLRenderBuffer.js +5 -0
  43. package/dist/kurot/player/webgl/WebGLRenderBuffer.js.map +1 -1
  44. package/dist/kurot/player/webgl/WebGLRenderContext.d.ts +2 -0
  45. package/dist/kurot/player/webgl/WebGLRenderContext.d.ts.map +1 -1
  46. package/dist/kurot/player/webgl/WebGLRenderContext.js +17 -11
  47. package/dist/kurot/player/webgl/WebGLRenderContext.js.map +1 -1
  48. package/dist/kurot/player/webgl/WebGLRenderer.d.ts +1 -0
  49. package/dist/kurot/player/webgl/WebGLRenderer.d.ts.map +1 -1
  50. package/dist/kurot/player/webgl/WebGLRenderer.js +27 -15
  51. package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
  52. package/dist/kurot/player/webgl/WebGLUtils.d.ts +4 -0
  53. package/dist/kurot/player/webgl/WebGLUtils.d.ts.map +1 -1
  54. package/dist/kurot/player/webgl/WebGLUtils.js +7 -0
  55. package/dist/kurot/player/webgl/WebGLUtils.js.map +1 -1
  56. package/dist/kurot/system/Capabilities.js +1 -1
  57. package/dist/kurot/text/InputController.d.ts +11 -2
  58. package/dist/kurot/text/InputController.d.ts.map +1 -1
  59. package/dist/kurot/text/InputController.js +86 -20
  60. package/dist/kurot/text/InputController.js.map +1 -1
  61. package/dist/kurot/text/StageText.d.ts +13 -0
  62. package/dist/kurot/text/StageText.d.ts.map +1 -1
  63. package/dist/kurot/text/StageText.js +126 -28
  64. package/dist/kurot/text/StageText.js.map +1 -1
  65. package/dist/kurot/text/TextField.d.ts +26 -0
  66. package/dist/kurot/text/TextField.d.ts.map +1 -1
  67. package/dist/kurot/text/TextField.js +252 -11
  68. package/dist/kurot/text/TextField.js.map +1 -1
  69. package/package.json +1 -1
@@ -8,6 +8,8 @@ export class StageText extends EventDispatcher {
8
8
  _inputDiv;
9
9
  _text = '';
10
10
  _compositionLock = false;
11
+ _compositionStart = -1;
12
+ _compositionEnd = -1;
11
13
  _clearing = false;
12
14
  _isShowing = false;
13
15
  setTextField(textField) {
@@ -16,11 +18,45 @@ export class StageText extends EventDispatcher {
16
18
  getText() {
17
19
  return this._text;
18
20
  }
21
+ get isComposing() {
22
+ return this._compositionLock;
23
+ }
24
+ getCompositionRange() {
25
+ if (!this._compositionLock || this._compositionStart < 0)
26
+ return undefined;
27
+ return [this._compositionStart, this._compositionEnd];
28
+ }
19
29
  setText(value) {
20
30
  this._text = value;
21
31
  if (this._inputElement)
22
32
  this._inputElement.value = value;
23
33
  }
34
+ setSelection(beginIndex, endIndex) {
35
+ const element = this._inputElement;
36
+ if (!element)
37
+ return;
38
+ const begin = clampIndex(beginIndex, element.value.length);
39
+ const end = clampIndex(endIndex, element.value.length);
40
+ element.setSelectionRange(begin, end);
41
+ }
42
+ getSelection() {
43
+ const element = this._inputElement;
44
+ if (!element)
45
+ return [0, 0];
46
+ const begin = element.selectionStart ?? 0;
47
+ const end = element.selectionEnd ?? begin;
48
+ return [begin, end];
49
+ }
50
+ getScrollTop() {
51
+ return this._inputElement instanceof HTMLTextAreaElement
52
+ ? this._inputElement.scrollTop
53
+ : 0;
54
+ }
55
+ setScrollTop(value) {
56
+ if (this._inputElement instanceof HTMLTextAreaElement) {
57
+ this._inputElement.scrollTop = Math.max(0, value);
58
+ }
59
+ }
24
60
  setColor(value) {
25
61
  if (this._inputElement) {
26
62
  this._inputElement.style.color = colorString(value);
@@ -56,6 +92,7 @@ export class StageText extends EventDispatcher {
56
92
  onBlur() {
57
93
  }
58
94
  resetStageText() {
95
+ this.ensureElements();
59
96
  if (!this._textField || !this._inputElement || !this._inputDiv)
60
97
  return;
61
98
  const tf = this._textField;
@@ -68,18 +105,24 @@ export class StageText extends EventDispatcher {
68
105
  el.style.color = colorString(tf.textColor);
69
106
  if (el instanceof HTMLInputElement) {
70
107
  el.type = tf.inputType;
71
- if (tf.maxChars > 0) {
72
- el.setAttribute('maxlength', String(tf.maxChars));
73
- }
74
- else {
75
- el.removeAttribute('maxlength');
76
- }
108
+ }
109
+ if (tf.maxChars > 0) {
110
+ el.setAttribute('maxlength', String(tf.maxChars));
111
+ }
112
+ else {
113
+ el.removeAttribute('maxlength');
77
114
  }
78
115
  el.style.width = tf.width + 'px';
79
116
  el.style.left = '0px';
80
117
  el.style.transform = '';
81
118
  if (tf.multiline) {
82
119
  this.setAreaHeight(tf, el);
120
+ el.style.overflowX = 'hidden';
121
+ el.style.overflowY = 'auto';
122
+ el.style.whiteSpace = 'pre-wrap';
123
+ el.style.wordBreak = tf.wordWrap ? 'normal' : 'break-all';
124
+ el.style.overflowWrap = 'break-word';
125
+ el.scrollTop = tf.$inputScrollY;
83
126
  }
84
127
  else {
85
128
  const remaining = Math.max(0, tf.height - tf.size);
@@ -88,17 +131,25 @@ export class StageText extends EventDispatcher {
88
131
  el.style.top = top + 'px';
89
132
  el.style.height = Math.min(tf.size, tf.height) + 'px';
90
133
  el.style.padding = '0px';
134
+ el.style.overflow = 'hidden';
91
135
  }
92
136
  this._inputDiv.style.overflow = 'hidden';
93
137
  this._inputDiv.style.width = tf.width + 'px';
94
138
  this._inputDiv.style.height = tf.height + 'px';
139
+ if (this._isShowing && document.activeElement !== el) {
140
+ this.executeShow();
141
+ }
95
142
  }
96
143
  // ── Element lifecycle ────────────────────────────────────────────────────
97
144
  ensureElements() {
98
- if (this._inputDiv && this._inputElement)
99
- return;
100
145
  if (!this._textField)
101
146
  return;
147
+ if (this._inputElement && this._textField.multiline !== (this._inputElement instanceof HTMLTextAreaElement)) {
148
+ this._inputElement.remove();
149
+ this._inputElement = undefined;
150
+ }
151
+ if (this._inputDiv && this._inputElement)
152
+ return;
102
153
  if (!this._inputDiv) {
103
154
  const div = document.createElement('div');
104
155
  div.style.position = 'fixed';
@@ -122,6 +173,7 @@ export class StageText extends EventDispatcher {
122
173
  const el = tf.multiline ? document.createElement('textarea') : document.createElement('input');
123
174
  if (el instanceof HTMLTextAreaElement) {
124
175
  el.style.resize = 'none';
176
+ el.wrap = 'soft';
125
177
  }
126
178
  el.style.position = 'absolute';
127
179
  el.style.boxSizing = 'border-box';
@@ -133,22 +185,28 @@ export class StageText extends EventDispatcher {
133
185
  el.style.outline = 'none';
134
186
  el.style.background = 'none transparent';
135
187
  el.style.overflow = 'hidden';
136
- el.style.wordBreak = 'break-all';
137
188
  el.style.opacity = '0';
138
189
  el.style.pointerEvents = 'auto';
139
190
  el.value = this._text;
140
- el.addEventListener('input', () => {
141
- if (!this._compositionLock) {
142
- this.onTextInput();
143
- }
144
- });
191
+ el.addEventListener('input', this.onTextInput);
145
192
  el.addEventListener('compositionstart', () => {
146
193
  this._compositionLock = true;
194
+ const [begin, end] = this.getSelection();
195
+ this._compositionStart = Math.min(begin, end);
196
+ this._compositionEnd = Math.max(begin, end);
197
+ this.dispatchCompositionChange();
147
198
  });
148
199
  el.addEventListener('compositionend', () => {
149
200
  this._compositionLock = false;
150
201
  this.onTextInput();
202
+ this._compositionStart = -1;
203
+ this._compositionEnd = -1;
204
+ this.dispatchCompositionChange();
151
205
  });
206
+ el.addEventListener('select', this.onSelectionChange);
207
+ el.addEventListener('keyup', this.onSelectionChange);
208
+ el.addEventListener('click', this.onSelectionChange);
209
+ el.addEventListener('scroll', this.onScroll);
152
210
  el.addEventListener('focus', () => {
153
211
  this.dispatchEventWith('focus');
154
212
  });
@@ -174,8 +232,11 @@ export class StageText extends EventDispatcher {
174
232
  const rect = canvas.getBoundingClientRect();
175
233
  const borderLeft = canvas.clientLeft;
176
234
  const borderTop = canvas.clientTop;
177
- scaleX = (canvas.clientWidth || 1) / (canvas.width || 1);
178
- scaleY = (canvas.clientHeight || 1) / (canvas.height || 1);
235
+ const stage = tf.stage;
236
+ const logicalWidth = stage?.stageWidth || canvas.width;
237
+ const logicalHeight = stage?.stageHeight || canvas.height;
238
+ scaleX = (canvas.clientWidth || 1) / (logicalWidth || 1);
239
+ scaleY = (canvas.clientHeight || 1) / (logicalHeight || 1);
179
240
  left = rect.left + borderLeft;
180
241
  top = rect.top + borderTop;
181
242
  }
@@ -197,21 +258,26 @@ export class StageText extends EventDispatcher {
197
258
  if (el.value !== this._text) {
198
259
  el.value = this._text;
199
260
  }
200
- el.style.opacity = '1';
261
+ el.style.opacity = '0';
201
262
  this._isShowing = true;
202
- setTimeout(() => {
203
- if (!this._isShowing || !this._inputElement)
204
- return;
205
- el.selectionStart = el.value.length;
206
- el.selectionEnd = el.value.length;
207
- el.focus();
208
- }, 0);
263
+ const begin = this._textField?.selectionBeginIndex ?? el.value.length;
264
+ const end = this._textField?.selectionEndIndex ?? begin;
265
+ this.setSelection(begin, end);
266
+ if (el instanceof HTMLTextAreaElement) {
267
+ el.scrollTop = this._textField?.$inputScrollY ?? 0;
268
+ }
269
+ el.focus();
270
+ this.dispatchSelectionChange();
209
271
  }
210
272
  clearInputElement() {
211
273
  if (this._clearing)
212
274
  return;
213
275
  this._clearing = true;
214
276
  this._isShowing = false;
277
+ this._compositionLock = false;
278
+ this._compositionStart = -1;
279
+ this._compositionEnd = -1;
280
+ this.dispatchCompositionChange();
215
281
  const el = this._inputElement;
216
282
  const div = this._inputDiv;
217
283
  if (el) {
@@ -245,20 +311,47 @@ export class StageText extends EventDispatcher {
245
311
  }
246
312
  else {
247
313
  el.style.height = tf.height + 'px';
248
- const rap = tf.height - tf.size - tf.lineSpacing;
314
+ const rap = Math.max(0, tf.height - tf.textHeight);
249
315
  const valign = getValign(tf);
250
- const top = Math.max(0, rap * valign);
251
- const bottom = Math.max(0, rap - top);
316
+ const top = rap * valign;
317
+ const bottom = rap - top;
252
318
  el.style.padding = `${top}px 0px ${bottom}px 0px`;
253
319
  el.style.lineHeight = cssLineH + 'px';
254
320
  }
255
321
  }
256
- onTextInput() {
322
+ onTextInput = () => {
257
323
  if (this._inputElement) {
258
324
  this._text = this._inputElement.value;
325
+ if (this._compositionLock) {
326
+ const [, end] = this.getSelection();
327
+ this._compositionEnd = Math.max(this._compositionStart, end);
328
+ }
329
+ this.dispatchScrollChange();
259
330
  this.dispatchEventWith('updateText');
331
+ this.dispatchSelectionChange();
332
+ if (this._compositionLock) {
333
+ this.dispatchCompositionChange();
334
+ }
335
+ }
336
+ };
337
+ onSelectionChange = () => {
338
+ this.dispatchScrollChange();
339
+ this.dispatchSelectionChange();
340
+ };
341
+ onScroll = () => {
342
+ this.dispatchScrollChange();
343
+ };
344
+ dispatchScrollChange() {
345
+ if (this._inputElement instanceof HTMLTextAreaElement) {
346
+ this.dispatchEventWith('updateScroll');
260
347
  }
261
348
  }
349
+ dispatchSelectionChange() {
350
+ this.dispatchEventWith('updateSelection');
351
+ }
352
+ dispatchCompositionChange() {
353
+ this.dispatchEventWith('updateComposition');
354
+ }
262
355
  getCanvas() {
263
356
  return document.querySelector('canvas') ?? undefined;
264
357
  }
@@ -277,4 +370,9 @@ function colorString(color) {
277
370
  const b = color & 0xff;
278
371
  return `rgb(${r},${g},${b})`;
279
372
  }
373
+ function clampIndex(value, length) {
374
+ if (!Number.isFinite(value))
375
+ return 0;
376
+ return Math.max(0, Math.min(Math.trunc(value), length));
377
+ }
280
378
  //# sourceMappingURL=StageText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StageText.js","sourceRoot":"","sources":["../../../src/kurot/text/StageText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StageText.js","sourceRoot":"","sources":["../../../src/kurot/text/StageText.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare class TextField extends DisplayObject {
23
23
  private _textColor;
24
24
  private _strokeColor;
25
25
  private _stroke;
26
+ private _resolution?;
26
27
  private _lineSpacing;
27
28
  private _wordWrap;
28
29
  private _multiline;
@@ -49,6 +50,11 @@ export declare class TextField extends DisplayObject {
49
50
  private _selectionAnchor;
50
51
  private _selectionActive;
51
52
  private _isTyping;
53
+ private _inputScrollX;
54
+ private _inputScrollY;
55
+ private _caretVisible;
56
+ private _compositionStart;
57
+ private _compositionEnd;
52
58
  private _inputController?;
53
59
  constructor();
54
60
  get width(): number;
@@ -73,6 +79,12 @@ export declare class TextField extends DisplayObject {
73
79
  set strokeColor(value: number);
74
80
  get stroke(): number;
75
81
  set stroke(value: number);
82
+ /**
83
+ * Raster resolution used by WebGL text caching.
84
+ * Undefined follows the renderer's logical-to-physical resolution.
85
+ */
86
+ get resolution(): number | undefined;
87
+ set resolution(value: number | undefined);
76
88
  get lineSpacing(): number;
77
89
  set lineSpacing(value: number);
78
90
  get wordWrap(): boolean;
@@ -114,6 +126,11 @@ export declare class TextField extends DisplayObject {
114
126
  get selectionEndIndex(): number;
115
127
  get caretIndex(): number;
116
128
  get isTyping(): boolean;
129
+ get $inputScrollX(): number;
130
+ get $inputScrollY(): number;
131
+ get $caretVisible(): boolean;
132
+ get $compositionStart(): number;
133
+ get $compositionEnd(): number;
117
134
  getLinesArr(): ILineElement[];
118
135
  getScrollYOffset(): number;
119
136
  appendText(text: string): void;
@@ -122,10 +139,19 @@ export declare class TextField extends DisplayObject {
122
139
  setSelection(beginIndex: number, endIndex: number): void;
123
140
  setIsTyping(value: boolean): void;
124
141
  getLineHeight(): number;
142
+ $setTextFromInput(value: string): boolean;
143
+ $setSelectionFromInput(beginIndex: number, endIndex: number): void;
144
+ $setCaretVisible(value: boolean): void;
145
+ $setInputScrollY(value: number): void;
146
+ $setCompositionRange(beginIndex?: number, endIndex?: number): void;
147
+ $getInputIndexAt(localX: number, localY?: number): number;
125
148
  $onAddToStage(stage: Stage, $nestLevel: number): void;
126
149
  $onRemoveFromStage(): void;
127
150
  $measureContentBounds(bounds: Rectangle): void;
128
151
  private invalidateText;
152
+ private updateInputScroll;
153
+ private getMultilineInputIndexAt;
154
+ private getMaxInputScrollY;
129
155
  private invalidateFontString;
130
156
  private ensureLines;
131
157
  private getScrollNum;
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextField.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextField.ts"],"names":[],"mappings":"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"}