@kurot/core 2.1.1 → 2.2.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 (71) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +50 -2
  3. package/dist/kurot/display/DisplayObject.d.ts +2 -1
  4. package/dist/kurot/display/DisplayObject.d.ts.map +1 -1
  5. package/dist/kurot/display/DisplayObject.js.map +1 -1
  6. package/dist/kurot/player/canvas/CanvasRenderer.d.ts +2 -0
  7. package/dist/kurot/player/canvas/CanvasRenderer.d.ts.map +1 -1
  8. package/dist/kurot/player/canvas/CanvasRenderer.js +37 -1
  9. package/dist/kurot/player/canvas/CanvasRenderer.js.map +1 -1
  10. package/dist/kurot/player/pipes/BitmapTextPipe.d.ts +20 -0
  11. package/dist/kurot/player/pipes/BitmapTextPipe.d.ts.map +1 -0
  12. package/dist/kurot/player/pipes/BitmapTextPipe.js +27 -0
  13. package/dist/kurot/player/pipes/BitmapTextPipe.js.map +1 -0
  14. package/dist/kurot/player/pipes/index.d.ts +2 -0
  15. package/dist/kurot/player/pipes/index.d.ts.map +1 -1
  16. package/dist/kurot/player/pipes/index.js +1 -0
  17. package/dist/kurot/player/pipes/index.js.map +1 -1
  18. package/dist/kurot/player/webgl/WebGLRenderer.d.ts +1 -0
  19. package/dist/kurot/player/webgl/WebGLRenderer.d.ts.map +1 -1
  20. package/dist/kurot/player/webgl/WebGLRenderer.js +8 -0
  21. package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
  22. package/dist/kurot/resource/Resource.d.ts.map +1 -1
  23. package/dist/kurot/resource/Resource.js +4 -0
  24. package/dist/kurot/resource/Resource.js.map +1 -1
  25. package/dist/kurot/resource/ResourceItem.d.ts +1 -0
  26. package/dist/kurot/resource/ResourceItem.d.ts.map +1 -1
  27. package/dist/kurot/resource/ResourceItem.js +1 -0
  28. package/dist/kurot/resource/ResourceItem.js.map +1 -1
  29. package/dist/kurot/resource/analyzers/FontAnalyzer.d.ts +16 -0
  30. package/dist/kurot/resource/analyzers/FontAnalyzer.d.ts.map +1 -0
  31. package/dist/kurot/resource/analyzers/FontAnalyzer.js +75 -0
  32. package/dist/kurot/resource/analyzers/FontAnalyzer.js.map +1 -0
  33. package/dist/kurot/resource/analyzers/index.d.ts +1 -0
  34. package/dist/kurot/resource/analyzers/index.d.ts.map +1 -1
  35. package/dist/kurot/resource/analyzers/index.js +1 -0
  36. package/dist/kurot/resource/analyzers/index.js.map +1 -1
  37. package/dist/kurot/resource/index.d.ts +1 -0
  38. package/dist/kurot/resource/index.d.ts.map +1 -1
  39. package/dist/kurot/resource/index.js +1 -0
  40. package/dist/kurot/resource/index.js.map +1 -1
  41. package/dist/kurot/text/BitmapFont.d.ts +15 -21
  42. package/dist/kurot/text/BitmapFont.d.ts.map +1 -1
  43. package/dist/kurot/text/BitmapFont.js +59 -66
  44. package/dist/kurot/text/BitmapFont.js.map +1 -1
  45. package/dist/kurot/text/BitmapText.d.ts +29 -19
  46. package/dist/kurot/text/BitmapText.d.ts.map +1 -1
  47. package/dist/kurot/text/BitmapText.js +93 -141
  48. package/dist/kurot/text/BitmapText.js.map +1 -1
  49. package/dist/kurot/text/LineBreaks.d.ts +2 -1
  50. package/dist/kurot/text/LineBreaks.d.ts.map +1 -1
  51. package/dist/kurot/text/LineBreaks.js +13 -9
  52. package/dist/kurot/text/LineBreaks.js.map +1 -1
  53. package/dist/kurot/text/TextLineLayout.d.ts.map +1 -1
  54. package/dist/kurot/text/TextLineLayout.js +5 -12
  55. package/dist/kurot/text/TextLineLayout.js.map +1 -1
  56. package/dist/kurot/text/TextSegmentation.d.ts +7 -0
  57. package/dist/kurot/text/TextSegmentation.d.ts.map +1 -0
  58. package/dist/kurot/text/TextSegmentation.js +17 -0
  59. package/dist/kurot/text/TextSegmentation.js.map +1 -0
  60. package/dist/kurot/text/WordWrap.d.ts.map +1 -1
  61. package/dist/kurot/text/WordWrap.js +3 -11
  62. package/dist/kurot/text/WordWrap.js.map +1 -1
  63. package/dist/kurot/text/index.d.ts +1 -0
  64. package/dist/kurot/text/index.d.ts.map +1 -1
  65. package/dist/kurot/text/index.js.map +1 -1
  66. package/docs/ai-context.md +33 -9
  67. package/docs/architecture.md +332 -279
  68. package/docs/bitmap-fonts.md +85 -0
  69. package/docs/resource.md +185 -156
  70. package/docs/text-layout.md +71 -8
  71. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Resource.js","sourceRoot":"","sources":["../../../src/kurot/resource/Resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Resource.js","sourceRoot":"","sources":["../../../src/kurot/resource/Resource.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare const ResourceType: {
7
7
  readonly Text: "text";
8
8
  readonly Sound: "sound";
9
9
  readonly Sheet: "sheet";
10
+ readonly Font: "font";
10
11
  };
11
12
  export type ResourceType = (typeof ResourceType)[keyof typeof ResourceType];
12
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceItem.d.ts","sourceRoot":"","sources":["../../../src/kurot/resource/ResourceItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E;;GAEG;AACH,qBAAa,YAAY;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,SAAM;IACf,MAAM,UAAS;gBAEH,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAMnD,QAAQ,IAAI,MAAM;CAGzB"}
1
+ {"version":3,"file":"ResourceItem.d.ts","sourceRoot":"","sources":["../../../src/kurot/resource/ResourceItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E;;GAEG;AACH,qBAAa,YAAY;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,SAAM;IACf,MAAM,UAAS;gBAEH,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAMnD,QAAQ,IAAI,MAAM;CAGzB"}
@@ -7,6 +7,7 @@ export const ResourceType = {
7
7
  Text: 'text',
8
8
  Sound: 'sound',
9
9
  Sheet: 'sheet',
10
+ Font: 'font',
10
11
  };
11
12
  /**
12
13
  * Represents a single resource entry.
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceItem.js","sourceRoot":"","sources":["../../../src/kurot/resource/ResourceItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACL,CAAC;AAIX;;GAEG;AACH,MAAM,OAAO,YAAY;IACjB,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,IAAI,CAAS;IACb,SAAS,GAAG,EAAE,CAAC;IACf,MAAM,GAAG,KAAK,CAAC;IAEtB,YAAmB,IAAY,EAAE,GAAW,EAAE,IAAY;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAEM,QAAQ;QACd,OAAO,uBAAuB,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC;IACnF,CAAC;CACD"}
1
+ {"version":3,"file":"ResourceItem.js","sourceRoot":"","sources":["../../../src/kurot/resource/ResourceItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACH,CAAC;AAIX;;GAEG;AACH,MAAM,OAAO,YAAY;IACjB,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,IAAI,CAAS;IACb,SAAS,GAAG,EAAE,CAAC;IACf,MAAM,GAAG,KAAK,CAAC;IAEtB,YAAmB,IAAY,EAAE,GAAW,EAAE,IAAY;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAEM,QAAQ;QACd,OAAO,uBAAuB,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC;IACnF,CAAC;CACD"}
@@ -0,0 +1,16 @@
1
+ import { ResourceItem } from '../ResourceItem.js';
2
+ import { AnalyzerBase } from './AnalyzerBase.js';
3
+ /**
4
+ * Loads a font descriptor and its referenced page. Each font owns a separate
5
+ * image cache, independent of standalone image entries in the resource manifest.
6
+ */
7
+ export declare class FontAnalyzer extends AnalyzerBase {
8
+ private readonly _text;
9
+ private readonly _images;
10
+ private readonly _pending;
11
+ loadFile(item: ResourceItem): Promise<ResourceItem>;
12
+ destroyRes(name: string): boolean;
13
+ protected onResourceDestroy(value: unknown): void;
14
+ private _load;
15
+ }
16
+ //# sourceMappingURL=FontAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FontAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/FontAnalyzer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;GAGG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAE7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAG1C,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAkBzD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;cAU9B,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;YAO5C,KAAK;CAoBnB"}
@@ -0,0 +1,75 @@
1
+ import { parseBitmapFont } from '@kurot/bitmap-font';
2
+ import { BitmapFont } from '../../text/BitmapFont.js';
3
+ import { ResourceItem, ResourceType } from '../ResourceItem.js';
4
+ import { AnalyzerBase } from './AnalyzerBase.js';
5
+ import { TextAnalyzer } from './TextAnalyzer.js';
6
+ import { ImageAnalyzer } from './ImageAnalyzer.js';
7
+ /**
8
+ * Loads a font descriptor and its referenced page. Each font owns a separate
9
+ * image cache, independent of standalone image entries in the resource manifest.
10
+ */
11
+ export class FontAnalyzer extends AnalyzerBase {
12
+ // ── Instance fields ──────────────────────────────────────────────────────
13
+ _text = new TextAnalyzer();
14
+ _images = new ImageAnalyzer();
15
+ _pending = new Map();
16
+ // ── Override methods ─────────────────────────────────────────────────────
17
+ async loadFile(item) {
18
+ if (this.hasRes(item.name)) {
19
+ item.loaded = true;
20
+ return item;
21
+ }
22
+ let pending = this._pending.get(item.name);
23
+ if (!pending) {
24
+ pending = this._load(item);
25
+ this._pending.set(item.name, pending);
26
+ }
27
+ try {
28
+ item.loaded = await pending;
29
+ }
30
+ finally {
31
+ this._pending.delete(item.name);
32
+ }
33
+ return item;
34
+ }
35
+ destroyRes(name) {
36
+ const removed = super.destroyRes(name);
37
+ if (removed) {
38
+ this._text.destroyRes(name);
39
+ this._images.destroyRes(name);
40
+ }
41
+ return removed;
42
+ }
43
+ // ── Protected methods ───────────────────────────────────────────────────
44
+ onResourceDestroy(value) {
45
+ if (value instanceof BitmapFont) {
46
+ value.dispose();
47
+ }
48
+ }
49
+ // ── Private methods ─────────────────────────────────────────────────────
50
+ async _load(item) {
51
+ try {
52
+ const descriptor = new ResourceItem(item.name, item.url, ResourceType.Text);
53
+ await this._text.loadFile(descriptor);
54
+ if (!descriptor.loaded)
55
+ return false;
56
+ const data = parseBitmapFont(this._text.getRes(item.name));
57
+ if (!data.file)
58
+ throw new TypeError('A font resource descriptor must reference its image file.');
59
+ const imageUrl = new URL(data.file, new URL(item.url, document.baseURI)).href;
60
+ const image = new ResourceItem(item.name, imageUrl, ResourceType.Image);
61
+ await this._images.loadFile(image);
62
+ const texture = this._images.getRes(item.name);
63
+ if (!image.loaded || !texture)
64
+ throw new Error('Unable to load bitmap font page.');
65
+ this.fileDic.set(item.name, new BitmapFont(texture, data, { ownsTexture: false }));
66
+ return true;
67
+ }
68
+ catch {
69
+ this._text.destroyRes(item.name);
70
+ this._images.destroyRes(item.name);
71
+ return false;
72
+ }
73
+ }
74
+ }
75
+ //# sourceMappingURL=FontAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FontAnalyzer.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/FontAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ export { JsonAnalyzer } from './JsonAnalyzer.js';
4
4
  export { TextAnalyzer } from './TextAnalyzer.js';
5
5
  export { SoundAnalyzer } from './SoundAnalyzer.js';
6
6
  export { SheetAnalyzer } from './SheetAnalyzer.js';
7
+ export { FontAnalyzer } from './FontAnalyzer.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -4,4 +4,5 @@ export { JsonAnalyzer } from './JsonAnalyzer.js';
4
4
  export { TextAnalyzer } from './TextAnalyzer.js';
5
5
  export { SoundAnalyzer } from './SoundAnalyzer.js';
6
6
  export { SheetAnalyzer } from './SheetAnalyzer.js';
7
+ export { FontAnalyzer } from './FontAnalyzer.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -12,4 +12,5 @@ export { JsonAnalyzer } from './analyzers/JsonAnalyzer.js';
12
12
  export { TextAnalyzer } from './analyzers/TextAnalyzer.js';
13
13
  export { SoundAnalyzer } from './analyzers/SoundAnalyzer.js';
14
14
  export { SheetAnalyzer } from './analyzers/SheetAnalyzer.js';
15
+ export { FontAnalyzer } from './analyzers/FontAnalyzer.js';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/resource/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/resource/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC"}
@@ -9,4 +9,5 @@ export { JsonAnalyzer } from './analyzers/JsonAnalyzer.js';
9
9
  export { TextAnalyzer } from './analyzers/TextAnalyzer.js';
10
10
  export { SoundAnalyzer } from './analyzers/SoundAnalyzer.js';
11
11
  export { SheetAnalyzer } from './analyzers/SheetAnalyzer.js';
12
+ export { FontAnalyzer } from './analyzers/FontAnalyzer.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/resource/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/resource/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,30 +1,24 @@
1
+ import type { BitmapFontData } from '@kurot/bitmap-font';
1
2
  import { SpriteSheet } from '../display/texture/SpriteSheet.js';
2
3
  import type { Texture } from '../display/texture/Texture.js';
3
- interface CharConfig {
4
- x: number;
5
- y: number;
6
- w: number;
7
- h: number;
8
- offX: number;
9
- offY: number;
10
- sourceW?: number;
11
- sourceH?: number;
12
- xadvance?: number;
4
+ export interface BitmapFontOptions {
5
+ /**
6
+ * Defaults to true. Set false when the page texture is owned elsewhere.
7
+ */
8
+ readonly ownsTexture?: boolean;
13
9
  }
14
10
  /**
15
- * Bitmap font — a texture atlas for a font, used as the value of BitmapText.font.
11
+ * Texture-backed, single-page font. Font data is an immutable snapshot;
12
+ * destroying a font invalidates its glyph views. Do not destroy fonts in use.
16
13
  */
17
14
  export declare class BitmapFont extends SpriteSheet {
18
- private _charList;
19
- private _firstCharHeight;
20
- constructor(texture: Texture, config: string | {
21
- frames: Record<string, CharConfig>;
22
- });
23
- getTexture(name: string): Texture | undefined;
24
- getConfig(name: string, key: keyof CharConfig): number;
15
+ readonly data: BitmapFontData;
16
+ private readonly _ownsTexture;
17
+ private _disposed;
18
+ constructor(texture: Texture, config: unknown, options?: BitmapFontOptions);
19
+ getConfig(name: string, key: 'x' | 'y' | 'w' | 'h' | 'offX' | 'offY' | 'sourceW' | 'sourceH' | 'xadvance'): number;
25
20
  getFirstCharHeight(): number;
26
- private _parseConfig;
27
- private _getConfigByKey;
21
+ getTexture(name: string): Texture | undefined;
22
+ dispose(): void;
28
23
  }
29
- export {};
30
24
  //# sourceMappingURL=BitmapFont.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BitmapFont.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,UAAU,UAAU;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,WAAW;IAC1C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,gBAAgB,CAAK;gBAEV,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;KAAE;IAS5E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAQtD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAAU,GAAG,MAAM;IAI7D,kBAAkB,IAAI,MAAM;IAc5B,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,eAAe;CAQvB"}
1
+ {"version":3,"file":"BitmapFont.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,WAAW;IAE1C,SAAgB,IAAI,EAAE,cAAc,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,SAAS,CAAS;gBAGP,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB;IAwB9E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM;IAiBlH,kBAAkB,IAAI,MAAM;IAKnB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAS7C,OAAO,IAAI,IAAI;CAO/B"}
@@ -1,84 +1,77 @@
1
+ import { parseBitmapFont } from '@kurot/bitmap-font';
1
2
  import { SpriteSheet } from '../display/texture/SpriteSheet.js';
3
+ import { textureScaleFactor } from '../display/texture/Texture.js';
2
4
  /**
3
- * Bitmap font — a texture atlas for a font, used as the value of BitmapText.font.
5
+ * Texture-backed, single-page font. Font data is an immutable snapshot;
6
+ * destroying a font invalidates its glyph views. Do not destroy fonts in use.
4
7
  */
5
8
  export class BitmapFont extends SpriteSheet {
6
- _charList = {};
7
- _firstCharHeight = 0;
8
- constructor(texture, config) {
9
+ // ── Instance fields ──────────────────────────────────────────────────────
10
+ data;
11
+ _ownsTexture;
12
+ _disposed = false;
13
+ // ── Constructor ──────────────────────────────────────────────────────────
14
+ constructor(texture, config, options = {}) {
9
15
  super(texture);
10
- if (typeof config === 'string') {
11
- this._charList = this._parseConfig(config);
16
+ this.data = parseBitmapFont(config);
17
+ this._ownsTexture = options.ownsTexture ?? true;
18
+ if (textureScaleFactor !== 1)
19
+ throw new RangeError('BitmapFont requires textureScaleFactor=1.');
20
+ if (texture.bitmapX !== 0 ||
21
+ texture.bitmapY !== 0 ||
22
+ texture.rotated ||
23
+ texture.offsetX !== 0 ||
24
+ texture.offsetY !== 0 ||
25
+ texture.bitmapWidth !== texture.sourceWidth ||
26
+ texture.bitmapHeight !== texture.sourceHeight) {
27
+ throw new RangeError('BitmapFont requires a complete, unrotated page texture.');
12
28
  }
13
- else if (config?.frames) {
14
- this._charList = config.frames;
29
+ for (const glyph of Object.values(this.data.glyphs)) {
30
+ if (glyph.x + glyph.width > texture.bitmapWidth || glyph.y + glyph.height > texture.bitmapHeight) {
31
+ throw new RangeError('Bitmap font glyph exceeds its page texture.');
32
+ }
15
33
  }
16
34
  }
35
+ // ── Public methods ───────────────────────────────────────────────────────
36
+ getConfig(name, key) {
37
+ const glyph = this.data.glyphs[name];
38
+ if (!glyph)
39
+ return 0;
40
+ const values = {
41
+ x: glyph.x,
42
+ y: glyph.y,
43
+ w: glyph.width,
44
+ h: glyph.height,
45
+ offX: glyph.xOffset,
46
+ offY: glyph.yOffset,
47
+ sourceW: glyph.logicalWidth,
48
+ sourceH: glyph.logicalHeight,
49
+ xadvance: glyph.xAdvance,
50
+ };
51
+ return values[key];
52
+ }
53
+ getFirstCharHeight() {
54
+ return this.data.lineHeight;
55
+ }
56
+ // ── Override methods ─────────────────────────────────────────────────────
17
57
  getTexture(name) {
58
+ if (this._disposed)
59
+ return undefined;
18
60
  const cached = super.getTexture(name);
19
61
  if (cached)
20
62
  return cached;
21
- const c = this._charList[name];
22
- if (!c)
63
+ const glyph = this.data.glyphs[name];
64
+ if (!glyph)
23
65
  return undefined;
24
- return this.createTexture(name, c.x, c.y, c.w, c.h, c.offX, c.offY, c.sourceW, c.sourceH);
25
- }
26
- getConfig(name, key) {
27
- return this._charList[name]?.[key] ?? 0;
66
+ return this.createTexture(name, glyph.x, glyph.y, glyph.width, glyph.height, glyph.xOffset, glyph.yOffset, glyph.logicalWidth, glyph.logicalHeight);
28
67
  }
29
- getFirstCharHeight() {
30
- if (this._firstCharHeight === 0) {
31
- for (const str in this._charList) {
32
- const c = this._charList[str];
33
- if (!c)
34
- continue;
35
- const sourceH = c.sourceH ?? (c.h ?? 0) + (c.offY ?? 0);
36
- if (sourceH <= 0)
37
- continue;
38
- this._firstCharHeight = sourceH;
39
- break;
40
- }
41
- }
42
- return this._firstCharHeight;
43
- }
44
- _parseConfig(fntText) {
45
- const lines = fntText.replace(/\r\n/g, '\n').split('\n');
46
- let charsCount = 0;
47
- let charsStartLine = -1;
48
- for (let i = 0; i < lines.length; i++) {
49
- if (lines[i].startsWith('chars ')) {
50
- charsCount = this._getConfigByKey(lines[i], 'count');
51
- charsStartLine = i + 1;
52
- break;
53
- }
54
- }
55
- if (charsStartLine < 0)
56
- return {};
57
- const chars = {};
58
- for (let i = charsStartLine; i < charsStartLine + charsCount && i < lines.length; i++) {
59
- const line = lines[i];
60
- if (!line.startsWith('char '))
61
- continue;
62
- const letter = String.fromCharCode(this._getConfigByKey(line, 'id'));
63
- chars[letter] = {
64
- x: this._getConfigByKey(line, 'x'),
65
- y: this._getConfigByKey(line, 'y'),
66
- w: this._getConfigByKey(line, 'width'),
67
- h: this._getConfigByKey(line, 'height'),
68
- offX: this._getConfigByKey(line, 'xoffset'),
69
- offY: this._getConfigByKey(line, 'yoffset'),
70
- xadvance: this._getConfigByKey(line, 'xadvance'),
71
- };
72
- }
73
- return chars;
74
- }
75
- _getConfigByKey(configText, key) {
76
- for (const item of configText.split(' ')) {
77
- if (item.startsWith(key + '=')) {
78
- return parseInt(item.substring(key.length + 1));
79
- }
68
+ dispose() {
69
+ if (this._disposed)
70
+ return;
71
+ this._disposed = true;
72
+ if (this._ownsTexture) {
73
+ super.dispose();
80
74
  }
81
- return 0;
82
75
  }
83
76
  }
84
77
  //# sourceMappingURL=BitmapFont.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BitmapFont.js","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BitmapFont.js","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAUnE;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;IAC1C,4EAA4E;IAC5D,IAAI,CAAiB;IACpB,YAAY,CAAU;IAC/B,SAAS,GAAG,KAAK,CAAC;IAE1B,4EAA4E;IAC5E,YAAmB,OAAgB,EAAE,MAAe,EAAE,UAA6B,EAAE;QACpF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QAChD,IAAI,kBAAkB,KAAK,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;QAChG,IACC,OAAO,CAAC,OAAO,KAAK,CAAC;YACrB,OAAO,CAAC,OAAO,KAAK,CAAC;YACrB,OAAO,CAAC,OAAO;YACf,OAAO,CAAC,OAAO,KAAK,CAAC;YACrB,OAAO,CAAC,OAAO,KAAK,CAAC;YACrB,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;YAC3C,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,EAC5C,CAAC;YACF,MAAM,IAAI,UAAU,CAAC,yDAAyD,CAAC,CAAC;QACjF,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;gBAClG,MAAM,IAAI,UAAU,CAAC,6CAA6C,CAAC,CAAC;YACrE,CAAC;QACF,CAAC;IACF,CAAC;IAED,4EAA4E;IACrE,SAAS,CAAC,IAAY,EAAE,GAAiF;QAC/G,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG;YACd,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,CAAC,EAAE,KAAK,CAAC,KAAK;YACd,CAAC,EAAE,KAAK,CAAC,MAAM;YACf,IAAI,EAAE,KAAK,CAAC,OAAO;YACnB,IAAI,EAAE,KAAK,CAAC,OAAO;YACnB,OAAO,EAAE,KAAK,CAAC,YAAY;YAC3B,OAAO,EAAE,KAAK,CAAC,aAAa;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACxB,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEM,kBAAkB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED,4EAA4E;IAC5D,UAAU,CAAC,IAAY;QACtC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACrJ,CAAC;IAEe,OAAO;QACtB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACF,CAAC;CACD"}
@@ -1,12 +1,17 @@
1
+ import type { BitmapTextLayout, PositionedBitmapGlyph } from '@kurot/bitmap-font';
1
2
  import { DisplayObject } from '../display/DisplayObject.js';
2
- import { Rectangle } from '../geom/Rectangle.js';
3
- import { HorizontalAlign } from './enums/HorizontalAlign.js';
4
- import { VerticalAlign } from './enums/VerticalAlign.js';
3
+ import type { Rectangle } from '../geom/Rectangle.js';
5
4
  import type { BitmapFont } from './BitmapFont.js';
6
5
  /**
7
- * Renders text using a BitmapFont (texture atlas), avoiding system font rendering differences.
6
+ * Draws atlas glyphs directly through WebGL batching or Canvas 2D.
7
+ * Width wraps by code point; use multiline=false for one unwrapped line.
8
+ * Fonts are borrowed. Missing glyphs are skipped; U+0020 has a fallback advance.
8
9
  */
9
10
  export declare class BitmapText extends DisplayObject {
11
+ /**
12
+ * @deprecated Font layout uses its explicit spaceAdvance metric.
13
+ * Set that metric in font data before constructing a font.
14
+ */
10
15
  static EMPTY_FACTOR: number;
11
16
  private _text;
12
17
  private _font?;
@@ -14,17 +19,14 @@ export declare class BitmapText extends DisplayObject {
14
19
  private _letterSpacing;
15
20
  private _textAlign;
16
21
  private _verticalAlign;
22
+ private _smoothing;
23
+ private _multiline;
24
+ private _layout?;
25
+ constructor();
26
+ get width(): number;
17
27
  set width(value: number);
28
+ get height(): number;
18
29
  set height(value: number);
19
- private _smoothing;
20
- private _textLinesChanged;
21
- private _textLines;
22
- private _textLinesWidth;
23
- private _lineHeights;
24
- private _textWidth;
25
- private _textHeight;
26
- private _textStartX;
27
- private _textStartY;
28
30
  get text(): string;
29
31
  set text(value: string);
30
32
  get font(): BitmapFont | undefined;
@@ -33,21 +35,29 @@ export declare class BitmapText extends DisplayObject {
33
35
  set lineSpacing(value: number);
34
36
  get letterSpacing(): number;
35
37
  set letterSpacing(value: number);
36
- get textAlign(): HorizontalAlign;
37
- set textAlign(value: HorizontalAlign);
38
- get verticalAlign(): VerticalAlign;
39
- set verticalAlign(value: VerticalAlign);
38
+ get textAlign(): 'left' | 'center' | 'right';
39
+ set textAlign(value: 'left' | 'center' | 'right');
40
+ get verticalAlign(): 'top' | 'middle' | 'bottom';
41
+ set verticalAlign(value: 'top' | 'middle' | 'bottom');
40
42
  get smoothing(): boolean;
41
43
  set smoothing(value: boolean);
44
+ get multiline(): boolean;
45
+ set multiline(value: boolean);
42
46
  get textWidth(): number;
43
47
  get textHeight(): number;
44
- $measureContentBounds(bounds: Rectangle): void;
48
+ getLayout(): BitmapTextLayout;
49
+ /**
50
+ * Measures with independent constraints without changing the rendered field.
51
+ * NaN means unconstrained; font, spacing, alignment and multiline are retained.
52
+ */
53
+ measureText(width?: number, height?: number): BitmapTextLayout;
54
+ getGlyphs(): readonly PositionedBitmapGlyph[];
45
55
  getTextLines(): string[];
46
56
  getTextLinesWidth(): number[];
47
57
  getLineHeights(): number[];
48
58
  getTextStartX(): number;
49
59
  getTextStartY(): number;
60
+ $measureContentBounds(bounds: Rectangle): void;
50
61
  private _invalidate;
51
- private _ensureLines;
52
62
  }
53
63
  //# sourceMappingURL=BitmapText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BitmapText.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/BitmapText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,qBAAa,UAAW,SAAQ,aAAa;IAC5C,OAAc,YAAY,SAAQ;IAElC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,cAAc,CAAoC;IAE1D,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtC;IAED,IAAoB,MAAM,CAAC,KAAK,EAAE,MAAM,EAKvC;IACD,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAK;IAExB,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAK5B;IAED,IAAW,IAAI,IAAI,UAAU,GAAG,SAAS,CAExC;IACD,IAAW,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAI5C;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IACD,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAInC;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IACD,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAIrC;IAED,IAAW,SAAS,IAAI,eAAe,CAEtC;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,eAAe,EAI1C;IAED,IAAW,aAAa,IAAI,aAAa,CAExC;IACD,IAAW,aAAa,CAAC,KAAK,EAAE,aAAa,EAI5C;IAED,IAAW,SAAS,IAAI,OAAO,CAE9B;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAIlC;IAED,IAAW,SAAS,IAAI,MAAM,CAG7B;IACD,IAAW,UAAU,IAAI,MAAM,CAG9B;IAEQ,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IASvD,YAAY,IAAI,MAAM,EAAE;IAGxB,iBAAiB,IAAI,MAAM,EAAE;IAI7B,cAAc,IAAI,MAAM,EAAE;IAI1B,aAAa,IAAI,MAAM;IAIvB,aAAa,IAAI,MAAM;IAKvB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;CAiGpB"}
1
+ {"version":3,"file":"BitmapText.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/BitmapText.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,aAAa;IAE5C;;;OAGG;IACH,OAAc,YAAY,SAAQ;IAGlC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAmB;;IASnC,IAAoB,KAAK,IAAI,MAAM,CAElC;IACD,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtC;IACD,IAAoB,MAAM,IAAI,MAAM,CAEnC;IACD,IAAoB,MAAM,CAAC,KAAK,EAAE,MAAM,EAKvC;IACD,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAI5B;IACD,IAAW,IAAI,IAAI,UAAU,GAAG,SAAS,CAExC;IACD,IAAW,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAI5C;IACD,IAAW,WAAW,IAAI,MAAM,CAE/B;IACD,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAKnC;IACD,IAAW,aAAa,IAAI,MAAM,CAEjC;IACD,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAKrC;IACD,IAAW,SAAS,IAAI,MAAM,GAAG,QAAQ,GAAG,OAAO,CAElD;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,EAKtD;IACD,IAAW,aAAa,IAAI,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAEtD;IACD,IAAW,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,EAK1D;IACD,IAAW,SAAS,IAAI,OAAO,CAE9B;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAIlC;IACD,IAAW,SAAS,IAAI,OAAO,CAE9B;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAIlC;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,IAAW,UAAU,IAAI,MAAM,CAE9B;IAGM,SAAS,IAAI,gBAAgB;IAIpC;;;OAGG;IACI,WAAW,CAAC,KAAK,GAAE,MAAY,EAAE,MAAM,GAAE,MAAY,GAAG,gBAAgB;IAaxE,SAAS,IAAI,SAAS,qBAAqB,EAAE;IAG7C,YAAY,IAAI,MAAM,EAAE;IAGxB,iBAAiB,IAAI,MAAM,EAAE;IAG7B,cAAc,IAAI,MAAM,EAAE;IAG1B,aAAa,IAAI,MAAM;IAGvB,aAAa,IAAI,MAAM;IAKd,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAM9D,OAAO,CAAC,WAAW;CAKnB"}