@typecad/ui 1.0.0-alpha.12 → 1.0.0-alpha.13

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 (113) hide show
  1. package/assets/fonts/dejavu/DejaVuSans-Bold.ttf +0 -0
  2. package/assets/fonts/dejavu/DejaVuSans-ExtraLight.ttf +0 -0
  3. package/assets/fonts/dejavu/DejaVuSans-Oblique.ttf +0 -0
  4. package/assets/fonts/dejavu/DejaVuSans.ttf +0 -0
  5. package/assets/fonts/dejavu/DejaVuSansMono-Bold.ttf +0 -0
  6. package/assets/fonts/dejavu/DejaVuSansMono.ttf +0 -0
  7. package/assets/fonts/dejavu/LICENSE +187 -0
  8. package/assets/fonts/dejavu/README.md +49 -0
  9. package/dist/engine-index.js +2 -0
  10. package/dist/preview/build-program.d.ts +7 -1
  11. package/dist/preview/build-program.js +94 -15
  12. package/dist/preview/host-gfx.d.ts +3 -0
  13. package/dist/preview/host-gfx.js +30 -3
  14. package/dist/preview/host-ui-runtime.d.ts +115 -0
  15. package/dist/preview/host-ui-runtime.js +928 -46
  16. package/dist/ui-engine/block-layout.js +25 -11
  17. package/dist/ui-engine/color.d.ts +6 -0
  18. package/dist/ui-engine/color.js +80 -2
  19. package/dist/ui-engine/compat-report.d.ts +8 -0
  20. package/dist/ui-engine/compat-report.js +124 -0
  21. package/dist/ui-engine/css-imports.d.ts +4 -0
  22. package/dist/ui-engine/css-imports.js +70 -0
  23. package/dist/ui-engine/css-parser.js +58 -14
  24. package/dist/ui-engine/default-font.d.ts +25 -0
  25. package/dist/ui-engine/default-font.js +80 -0
  26. package/dist/ui-engine/font-assets.d.ts +2 -2
  27. package/dist/ui-engine/font-assets.js +22 -5
  28. package/dist/ui-engine/html-parser.d.ts +4 -0
  29. package/dist/ui-engine/html-parser.js +241 -26
  30. package/dist/ui-engine/image-assets.d.ts +8 -1
  31. package/dist/ui-engine/image-assets.js +35 -2
  32. package/dist/ui-engine/image-decode.d.ts +22 -0
  33. package/dist/ui-engine/image-decode.js +194 -0
  34. package/dist/ui-engine/inline-parser.js +1 -1
  35. package/dist/ui-engine/layout-engine.d.ts +19 -0
  36. package/dist/ui-engine/layout-engine.js +59 -3
  37. package/dist/ui-engine/model.d.ts +18 -0
  38. package/dist/ui-engine/model.js +75 -7
  39. package/dist/ui-engine/runtime-header/blend-bodies.js +29 -9
  40. package/dist/ui-engine/runtime-header/canvas-helpers.js +3 -0
  41. package/dist/ui-engine/runtime-header/canvas-scrollbar.js +115 -111
  42. package/dist/ui-engine/runtime-header/cuttlefish-gfx.js +21 -0
  43. package/dist/ui-engine/runtime-header/dirty-scroll-mutators.js +182 -179
  44. package/dist/ui-engine/runtime-header/forward-decls.js +215 -167
  45. package/dist/ui-engine/runtime-header/init-press-input.js +138 -135
  46. package/dist/ui-engine/runtime-header/keyboard.js +682 -380
  47. package/dist/ui-engine/runtime-header/node-draw-body.js +1656 -1386
  48. package/dist/ui-engine/runtime-header/paint-order-coords.js +259 -214
  49. package/dist/ui-engine/runtime-header/paint-rects-repair.js +736 -568
  50. package/dist/ui-engine/runtime-header/scroll-physics.js +25 -1
  51. package/dist/ui-engine/runtime-header/state-bindings-nav.js +9 -0
  52. package/dist/ui-engine/runtime-header/structs.js +228 -216
  53. package/dist/ui-engine/runtime-header/text-rendering.js +888 -770
  54. package/dist/ui-engine/runtime-header/tick/bindings-phase.js +118 -116
  55. package/dist/ui-engine/runtime-header/tick/dirty-draw-phase.js +897 -633
  56. package/dist/ui-engine/runtime-header/tick/scroll-canvas-phase.js +24 -25
  57. package/dist/ui-engine/runtime-header/touch-keyboard-fwd.js +78 -23
  58. package/dist/ui-engine/runtime-header/types-defines.js +110 -93
  59. package/dist/ui-engine/shadcn-kit.d.ts +1 -0
  60. package/dist/ui-engine/shadcn-kit.js +502 -0
  61. package/dist/ui-engine/style-resolver.d.ts +4 -0
  62. package/dist/ui-engine/style-resolver.js +58 -6
  63. package/dist/ui-engine/transpile-ui.js +12 -5
  64. package/dist/ui-engine/ua-stylesheet.d.ts +22 -1
  65. package/dist/ui-engine/ua-stylesheet.js +119 -32
  66. package/dist/ui-engine/ui-lowering.js +37 -3
  67. package/dist/ui-engine/ui-registry.js +32 -4
  68. package/dist/ui-engine/yoga-layout.js +57 -52
  69. package/package.json +9 -3
  70. package/src/engine-index.ts +53 -51
  71. package/src/preview/build-program.ts +810 -734
  72. package/src/preview/host-gfx.ts +30 -3
  73. package/src/preview/host-ui-runtime.ts +4133 -3289
  74. package/src/ui-engine/block-layout.ts +24 -11
  75. package/src/ui-engine/color.ts +77 -2
  76. package/src/ui-engine/compat-report.ts +139 -0
  77. package/src/ui-engine/css-imports.ts +69 -0
  78. package/src/ui-engine/css-parser.ts +64 -15
  79. package/src/ui-engine/default-font.ts +95 -0
  80. package/src/ui-engine/font-assets.ts +545 -525
  81. package/src/ui-engine/html-parser.ts +615 -397
  82. package/src/ui-engine/image-assets.ts +37 -2
  83. package/src/ui-engine/image-decode.ts +244 -0
  84. package/src/ui-engine/inline-parser.ts +1 -1
  85. package/src/ui-engine/layout-engine.ts +61 -3
  86. package/src/ui-engine/model.ts +1317 -1230
  87. package/src/ui-engine/runtime-header/blend-bodies.ts +29 -9
  88. package/src/ui-engine/runtime-header/canvas-helpers.ts +3 -0
  89. package/src/ui-engine/runtime-header/canvas-scrollbar.ts +121 -117
  90. package/src/ui-engine/runtime-header/cuttlefish-gfx.ts +21 -0
  91. package/src/ui-engine/runtime-header/dirty-scroll-mutators.ts +188 -185
  92. package/src/ui-engine/runtime-header/forward-decls.ts +227 -179
  93. package/src/ui-engine/runtime-header/init-press-input.ts +144 -141
  94. package/src/ui-engine/runtime-header/keyboard.ts +689 -386
  95. package/src/ui-engine/runtime-header/node-draw-body.ts +1681 -1411
  96. package/src/ui-engine/runtime-header/paint-order-coords.ts +265 -220
  97. package/src/ui-engine/runtime-header/paint-rects-repair.ts +742 -574
  98. package/src/ui-engine/runtime-header/scroll-physics.ts +25 -1
  99. package/src/ui-engine/runtime-header/state-bindings-nav.ts +9 -0
  100. package/src/ui-engine/runtime-header/structs.ts +234 -222
  101. package/src/ui-engine/runtime-header/text-rendering.ts +894 -776
  102. package/src/ui-engine/runtime-header/tick/bindings-phase.ts +124 -122
  103. package/src/ui-engine/runtime-header/tick/dirty-draw-phase.ts +902 -638
  104. package/src/ui-engine/runtime-header/tick/scroll-canvas-phase.ts +30 -31
  105. package/src/ui-engine/runtime-header/touch-keyboard-fwd.ts +78 -23
  106. package/src/ui-engine/runtime-header/types-defines.ts +116 -99
  107. package/src/ui-engine/shadcn-kit.ts +503 -0
  108. package/src/ui-engine/style-resolver.ts +471 -416
  109. package/src/ui-engine/transpile-ui.ts +12 -5
  110. package/src/ui-engine/ua-stylesheet.ts +137 -31
  111. package/src/ui-engine/ui-lowering.ts +486 -452
  112. package/src/ui-engine/ui-registry.ts +556 -524
  113. package/src/ui-engine/yoga-layout.ts +307 -309
@@ -1,51 +1,53 @@
1
- // ---------------------------------------------------------------------------
2
- // Engine entry point for @typecad/ui.
3
- //
4
- // Cuttlefish dynamically imports this module when UI usage is detected:
5
- // const engine = await import("@typecad/ui/engine");
6
- // const hook = await engine.registerTranspilerUI();
7
- //
8
- // registerTranspilerUI() returns an object implementing the TranspilerUIHook
9
- // interface defined in @typecad/cuttlefish. This is the single runtime
10
- // contract between the two packages.
11
- // ---------------------------------------------------------------------------
12
-
13
- import type { TranspilerUIHook } from "@typecad/cuttlefish/ui-hook";
14
- import {
15
- resetUIRegistry, loadUIModule, loadUIModuleFromText, getUIModule,
16
- hasUIModule, allUIModules, allLoweredUIModules,
17
- markEntryHasUI, entryHasUI, clearEntryHasUI, lowerOnMount,
18
- generateProjectUITypeDeclarations,
19
- } from "./ui-engine/ui-registry.js";
20
- import { resolveColor, resolveColorInternal } from "./ui-engine/color.js";
21
- import { emitRuntimeHeader } from "./ui-engine/runtime-header.js";
22
- import { emitCuttlefishGfx } from "./ui-engine/runtime-header/cuttlefish-gfx.js";
23
- import { splitUiFile } from "./ui-engine/ui-file-splitter.js";
24
-
25
- export type { TranspilerUIHook };
26
-
27
- /**
28
- * Build and return the TranspilerUIHook — the object cuttlefish core uses
29
- * to access all UI capabilities (parsing, layout, lowering, emission).
30
- */
31
- export function registerTranspilerUI(): TranspilerUIHook {
32
- return {
33
- resetUIRegistry,
34
- loadUIModule,
35
- loadUIModuleFromText,
36
- getUIModule,
37
- hasUIModule,
38
- allUIModules,
39
- allLoweredUIModules,
40
- markEntryHasUI,
41
- entryHasUI,
42
- clearEntryHasUI,
43
- lowerOnMount,
44
- resolveColor,
45
- resolveColorInternal,
46
- emitRuntimeHeader,
47
- emitCuttlefishGfx,
48
- splitUiFile,
49
- generateProjectUITypeDeclarations,
50
- };
51
- }
1
+ // ---------------------------------------------------------------------------
2
+ // Engine entry point for @typecad/ui.
3
+ //
4
+ // Cuttlefish dynamically imports this module when UI usage is detected:
5
+ // const engine = await import("@typecad/ui/engine");
6
+ // const hook = await engine.registerTranspilerUI();
7
+ //
8
+ // registerTranspilerUI() returns an object implementing the TranspilerUIHook
9
+ // interface defined in @typecad/cuttlefish. This is the single runtime
10
+ // contract between the two packages.
11
+ // ---------------------------------------------------------------------------
12
+
13
+ import type { TranspilerUIHook } from "@typecad/cuttlefish/ui-hook";
14
+ import {
15
+ resetUIRegistry, loadUIModule, loadUIModuleFromText, getUIModule,
16
+ hasUIModule, allUIModules, allLoweredUIModules,
17
+ markEntryHasUI, entryHasUI, clearEntryHasUI, lowerOnMount,
18
+ generateProjectUITypeDeclarations,
19
+ } from "./ui-engine/ui-registry.js";
20
+ import { resolveColor, resolveColorInternal } from "./ui-engine/color.js";
21
+ import { emitRuntimeHeader } from "./ui-engine/runtime-header.js";
22
+ import { emitCuttlefishGfx } from "./ui-engine/runtime-header/cuttlefish-gfx.js";
23
+ import { splitUiFile } from "./ui-engine/ui-file-splitter.js";
24
+ import { warmUpImageDecoding } from "./ui-engine/image-decode.js";
25
+
26
+ export type { TranspilerUIHook };
27
+
28
+ /**
29
+ * Build and return the TranspilerUIHook the object cuttlefish core uses
30
+ * to access all UI capabilities (parsing, layout, lowering, emission).
31
+ */
32
+ export function registerTranspilerUI(): TranspilerUIHook {
33
+ return {
34
+ resetUIRegistry,
35
+ loadUIModule,
36
+ loadUIModuleFromText,
37
+ getUIModule,
38
+ hasUIModule,
39
+ allUIModules,
40
+ allLoweredUIModules,
41
+ markEntryHasUI,
42
+ entryHasUI,
43
+ clearEntryHasUI,
44
+ lowerOnMount,
45
+ resolveColor,
46
+ resolveColorInternal,
47
+ emitRuntimeHeader,
48
+ emitCuttlefishGfx,
49
+ splitUiFile,
50
+ warmUpImageDecoding,
51
+ generateProjectUITypeDeclarations,
52
+ };
53
+ }