@hyperframes/core 0.5.0-alpha.9 → 0.5.0

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 (112) hide show
  1. package/dist/compiler/compositionScoping.d.ts +2 -2
  2. package/dist/compiler/compositionScoping.d.ts.map +1 -1
  3. package/dist/compiler/compositionScoping.js +69 -15
  4. package/dist/compiler/compositionScoping.js.map +1 -1
  5. package/dist/compiler/htmlBundler.d.ts +16 -0
  6. package/dist/compiler/htmlBundler.d.ts.map +1 -1
  7. package/dist/compiler/htmlBundler.js +96 -71
  8. package/dist/compiler/htmlBundler.js.map +1 -1
  9. package/dist/compiler/htmlCompiler.d.ts.map +1 -1
  10. package/dist/compiler/htmlCompiler.js +2 -2
  11. package/dist/compiler/htmlCompiler.js.map +1 -1
  12. package/dist/compiler/htmlDocument.d.ts +10 -0
  13. package/dist/compiler/htmlDocument.d.ts.map +1 -0
  14. package/dist/compiler/htmlDocument.js +181 -0
  15. package/dist/compiler/htmlDocument.js.map +1 -0
  16. package/dist/compiler/index.d.ts +2 -1
  17. package/dist/compiler/index.d.ts.map +1 -1
  18. package/dist/compiler/index.js +2 -1
  19. package/dist/compiler/index.js.map +1 -1
  20. package/dist/compiler/rewriteSubCompPaths.d.ts +0 -4
  21. package/dist/compiler/rewriteSubCompPaths.d.ts.map +1 -1
  22. package/dist/compiler/rewriteSubCompPaths.js +0 -17
  23. package/dist/compiler/rewriteSubCompPaths.js.map +1 -1
  24. package/dist/compiler/timingCompiler.d.ts +2 -1
  25. package/dist/compiler/timingCompiler.d.ts.map +1 -1
  26. package/dist/compiler/timingCompiler.js +10 -3
  27. package/dist/compiler/timingCompiler.js.map +1 -1
  28. package/dist/core.types.d.ts +7 -0
  29. package/dist/core.types.d.ts.map +1 -1
  30. package/dist/core.types.js +13 -0
  31. package/dist/core.types.js.map +1 -1
  32. package/dist/generated/runtime-inline.js +1 -1
  33. package/dist/generated/runtime-inline.js.map +1 -1
  34. package/dist/hyperframe.manifest.json +1 -1
  35. package/dist/hyperframe.runtime.iife.js +82 -32
  36. package/dist/hyperframe.runtime.mjs +82 -32
  37. package/dist/index.d.ts +4 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +6 -2
  40. package/dist/index.js.map +1 -1
  41. package/dist/lint/context.d.ts.map +1 -1
  42. package/dist/lint/context.js +9 -1
  43. package/dist/lint/context.js.map +1 -1
  44. package/dist/lint/rules/captions.d.ts.map +1 -1
  45. package/dist/lint/rules/captions.js +1 -2
  46. package/dist/lint/rules/captions.js.map +1 -1
  47. package/dist/lint/rules/composition.d.ts.map +1 -1
  48. package/dist/lint/rules/composition.js +131 -4
  49. package/dist/lint/rules/composition.js.map +1 -1
  50. package/dist/lint/rules/core.d.ts.map +1 -1
  51. package/dist/lint/rules/core.js +101 -0
  52. package/dist/lint/rules/core.js.map +1 -1
  53. package/dist/lint/rules/gsap.d.ts.map +1 -1
  54. package/dist/lint/rules/gsap.js +59 -1
  55. package/dist/lint/rules/gsap.js.map +1 -1
  56. package/dist/lint/rules/media.d.ts.map +1 -1
  57. package/dist/lint/rules/media.js +38 -0
  58. package/dist/lint/rules/media.js.map +1 -1
  59. package/dist/lint/types.d.ts +4 -0
  60. package/dist/lint/types.d.ts.map +1 -1
  61. package/dist/lint/utils.d.ts +20 -0
  62. package/dist/lint/utils.d.ts.map +1 -1
  63. package/dist/lint/utils.js +46 -3
  64. package/dist/lint/utils.js.map +1 -1
  65. package/dist/registry/types.d.ts +4 -0
  66. package/dist/registry/types.d.ts.map +1 -1
  67. package/dist/registry/types.js.map +1 -1
  68. package/dist/runtime/getVariables.d.ts +30 -0
  69. package/dist/runtime/getVariables.d.ts.map +1 -0
  70. package/dist/runtime/getVariables.js +69 -0
  71. package/dist/runtime/getVariables.js.map +1 -0
  72. package/dist/runtime/validateVariables.d.ts +25 -0
  73. package/dist/runtime/validateVariables.d.ts.map +1 -0
  74. package/dist/runtime/validateVariables.js +92 -0
  75. package/dist/runtime/validateVariables.js.map +1 -0
  76. package/dist/studio-api/createStudioApi.d.ts.map +1 -1
  77. package/dist/studio-api/createStudioApi.js +0 -2
  78. package/dist/studio-api/createStudioApi.js.map +1 -1
  79. package/dist/studio-api/helpers/projectSignature.d.ts +2 -0
  80. package/dist/studio-api/helpers/projectSignature.d.ts.map +1 -0
  81. package/dist/studio-api/helpers/projectSignature.js +122 -0
  82. package/dist/studio-api/helpers/projectSignature.js.map +1 -0
  83. package/dist/studio-api/helpers/screenshotClip.d.ts +8 -0
  84. package/dist/studio-api/helpers/screenshotClip.d.ts.map +1 -0
  85. package/dist/studio-api/helpers/screenshotClip.js +20 -0
  86. package/dist/studio-api/helpers/screenshotClip.js.map +1 -0
  87. package/dist/studio-api/helpers/subComposition.d.ts.map +1 -1
  88. package/dist/studio-api/helpers/subComposition.js +1 -4
  89. package/dist/studio-api/helpers/subComposition.js.map +1 -1
  90. package/dist/studio-api/index.d.ts +2 -0
  91. package/dist/studio-api/index.d.ts.map +1 -1
  92. package/dist/studio-api/index.js +2 -0
  93. package/dist/studio-api/index.js.map +1 -1
  94. package/dist/studio-api/routes/preview.d.ts.map +1 -1
  95. package/dist/studio-api/routes/preview.js +19 -3
  96. package/dist/studio-api/routes/preview.js.map +1 -1
  97. package/dist/studio-api/routes/projects.js +1 -1
  98. package/dist/studio-api/routes/projects.js.map +1 -1
  99. package/dist/studio-api/routes/render.d.ts.map +1 -1
  100. package/dist/studio-api/routes/render.js +21 -37
  101. package/dist/studio-api/routes/render.js.map +1 -1
  102. package/dist/studio-api/routes/thumbnail.d.ts.map +1 -1
  103. package/dist/studio-api/routes/thumbnail.js +11 -15
  104. package/dist/studio-api/routes/thumbnail.js.map +1 -1
  105. package/dist/studio-api/types.d.ts +3 -1
  106. package/dist/studio-api/types.d.ts.map +1 -1
  107. package/package.json +9 -1
  108. package/schemas/registry-item.json +8 -0
  109. package/dist/studio-api/routes/fonts.d.ts +0 -3
  110. package/dist/studio-api/routes/fonts.d.ts.map +0 -1
  111. package/dist/studio-api/routes/fonts.js +0 -239
  112. package/dist/studio-api/routes/fonts.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/studio-api/routes/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/studio-api/routes/render.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"thumbnail.d.ts","sourceRoot":"","sources":["../../../src/studio-api/routes/thumbnail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAoFlF"}
1
+ {"version":3,"file":"thumbnail.d.ts","sourceRoot":"","sources":["../../../src/studio-api/routes/thumbnail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CA+ElF"}
@@ -1,4 +1,4 @@
1
- import { existsSync, readFileSync, writeFileSync, mkdirSync, statSync } from "node:fs";
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  const THUMBNAIL_CACHE_VERSION = "v3";
4
4
  export function registerThumbnailRoutes(api, adapter) {
@@ -13,21 +13,20 @@ export function registerThumbnailRoutes(api, adapter) {
13
13
  if (compPath && !compPath.includes("."))
14
14
  compPath += ".html";
15
15
  const url = new URL(c.req.url, `http://${c.req.header("host") || "localhost"}`);
16
- const seekTime = parseFloat(url.searchParams.get("t") || "0.5") || 0.5;
16
+ const rawSeekTime = url.searchParams.get("t");
17
+ const parsedSeekTime = rawSeekTime == null ? Number.NaN : parseFloat(rawSeekTime);
18
+ const seekTime = Number.isFinite(parsedSeekTime) ? parsedSeekTime : 0.5;
17
19
  const vpWidth = parseInt(url.searchParams.get("w") || "0") || 0;
18
20
  const vpHeight = parseInt(url.searchParams.get("h") || "0") || 0;
19
21
  const selector = url.searchParams.get("selector") || undefined;
20
- const rawSelectorIndex = Number.parseInt(url.searchParams.get("selectorIndex") || "0", 10);
21
- const selectorIndex = Number.isFinite(rawSelectorIndex) && rawSelectorIndex > 0 ? rawSelectorIndex : undefined;
22
- const urlVersion = url.searchParams.get("v") || "";
22
+ const format = url.searchParams.get("format") === "png" ? "png" : "jpeg";
23
+ const contentType = format === "png" ? "image/png" : "image/jpeg";
23
24
  // Determine composition dimensions from HTML
24
25
  let compW = vpWidth || 1920;
25
26
  let compH = vpHeight || 1080;
26
- let sourceMtime = 0;
27
27
  if (!vpWidth) {
28
28
  const htmlFile = join(project.dir, compPath);
29
29
  if (existsSync(htmlFile)) {
30
- sourceMtime = Math.round(statSync(htmlFile).mtimeMs);
31
30
  const html = readFileSync(htmlFile, "utf-8");
32
31
  const wMatch = html.match(/data-width=["'](\d+)["']/);
33
32
  const hMatch = html.match(/data-height=["'](\d+)["']/);
@@ -43,16 +42,13 @@ export function registerThumbnailRoutes(api, adapter) {
43
42
  // Cache
44
43
  const cacheDir = join(project.dir, ".thumbnails");
45
44
  const selectorKey = selector
46
- ? `_${selector.replace(/[^a-zA-Z0-9_-]+/g, "_").slice(0, 80)}_${selectorIndex ?? 0}`
45
+ ? `_${selector.replace(/[^a-zA-Z0-9_-]+/g, "_").slice(0, 80)}`
47
46
  : "";
48
- const urlVersionKey = urlVersion
49
- ? `_${urlVersion.replace(/[^a-zA-Z0-9_-]+/g, "_").slice(0, 32)}`
50
- : "";
51
- const cacheKey = `${THUMBNAIL_CACHE_VERSION}${urlVersionKey}_${compPath.replace(/\//g, "_")}_${compW}x${compH}_${sourceMtime}_${seekTime.toFixed(2)}${selectorKey}.jpg`;
47
+ const cacheKey = `${THUMBNAIL_CACHE_VERSION}_${format}_${compPath.replace(/\//g, "_")}_${seekTime.toFixed(2)}${selectorKey}.${format === "png" ? "png" : "jpg"}`;
52
48
  const cachePath = join(cacheDir, cacheKey);
53
49
  if (existsSync(cachePath)) {
54
50
  return new Response(new Uint8Array(readFileSync(cachePath)), {
55
- headers: { "Content-Type": "image/jpeg", "Cache-Control": "public, max-age=60" },
51
+ headers: { "Content-Type": contentType, "Cache-Control": "public, max-age=60" },
56
52
  });
57
53
  }
58
54
  try {
@@ -64,7 +60,7 @@ export function registerThumbnailRoutes(api, adapter) {
64
60
  height: compH,
65
61
  previewUrl,
66
62
  selector,
67
- selectorIndex,
63
+ format,
68
64
  });
69
65
  if (!buffer) {
70
66
  return c.json({ error: "Thumbnail generation returned null" }, 500);
@@ -73,7 +69,7 @@ export function registerThumbnailRoutes(api, adapter) {
73
69
  mkdirSync(cacheDir, { recursive: true });
74
70
  writeFileSync(cachePath, buffer);
75
71
  return new Response(new Uint8Array(buffer), {
76
- headers: { "Content-Type": "image/jpeg", "Cache-Control": "public, max-age=60" },
72
+ headers: { "Content-Type": contentType, "Cache-Control": "public, max-age=60" },
77
73
  });
78
74
  }
79
75
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"thumbnail.js","sourceRoot":"","sources":["../../../src/studio-api/routes/thumbnail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thumbnail.js","sourceRoot":"","sources":["../../../src/studio-api/routes/thumbnail.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ export interface StudioApiAdapter {
35
35
  resolveProject(id: string): Promise<ResolvedProject | null> | ResolvedProject | null;
36
36
  /** Bundle a project directory into a single HTML string. Returns null if unavailable. */
37
37
  bundle(projectDir: string): Promise<string | null>;
38
+ /** Optional: cached signature for project files that should invalidate preview frame caches. */
39
+ getProjectSignature?: (projectDir: string) => string;
38
40
  /** Lint a single HTML string. */
39
41
  lint(html: string, opts?: {
40
42
  filePath?: string;
@@ -64,7 +66,7 @@ export interface StudioApiAdapter {
64
66
  height: number;
65
67
  previewUrl: string;
66
68
  selector?: string;
67
- selectorIndex?: number;
69
+ format?: "jpeg" | "png";
68
70
  }) => Promise<Buffer | null>;
69
71
  /** Optional: resolve session ID to project (multi-project mode). */
70
72
  resolveSession?: (sessionId: string) => Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/studio-api/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC;IAE/D,wFAAwF;IACxF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC;IAErF,yFAAyF;IACzF,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnD,iCAAiC;IACjC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;IAEnF,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IAEnB,sDAAsD;IACtD,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC;IAE7C;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,eAAe,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,cAAc,CAAC;IAEnB,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,OAAO,EAAE,eAAe,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE7B,oEAAoE;IACpE,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC9F"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/studio-api/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC;IAE/D,wFAAwF;IACxF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC;IAErF,yFAAyF;IACzF,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnD,gGAAgG;IAChG,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAErD,iCAAiC;IACjC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;IAEnF,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IAEnB,sDAAsD;IACtD,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC;IAE7C;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,eAAe,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,cAAc,CAAC;IAEnB,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,OAAO,EAAE,eAAe,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KACzB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE7B,oEAAoE;IACpE,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC9F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperframes/core",
3
- "version": "0.5.0-alpha.9",
3
+ "version": "0.5.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,10 +30,18 @@
30
30
  "types": "./dist/compiler/index.d.ts"
31
31
  },
32
32
  "./runtime": "./dist/hyperframe.runtime.iife.js",
33
+ "./runtime/lottie-readiness": {
34
+ "import": "./dist/runtime/adapters/lottieReadiness.js",
35
+ "types": "./dist/runtime/adapters/lottieReadiness.d.ts"
36
+ },
33
37
  "./studio-api": {
34
38
  "import": "./dist/studio-api/index.js",
35
39
  "types": "./dist/studio-api/index.d.ts"
36
40
  },
41
+ "./studio-api/screenshot-clip": {
42
+ "import": "./dist/studio-api/helpers/screenshotClip.js",
43
+ "types": "./dist/studio-api/helpers/screenshotClip.d.ts"
44
+ },
37
45
  "./text": {
38
46
  "import": "./dist/text/index.js",
39
47
  "types": "./dist/text/index.d.ts"
@@ -35,6 +35,14 @@
35
35
  "type": "string",
36
36
  "minLength": 1
37
37
  },
38
+ "authorUrl": {
39
+ "type": "string",
40
+ "format": "uri"
41
+ },
42
+ "sourcePrompt": {
43
+ "type": "string",
44
+ "minLength": 1
45
+ },
38
46
  "license": {
39
47
  "type": "string",
40
48
  "minLength": 1,
@@ -1,3 +0,0 @@
1
- import type { Hono } from "hono";
2
- export declare function registerFontRoutes(api: Hono): void;
3
- //# sourceMappingURL=fonts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../../src/studio-api/routes/fonts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA+OjC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAGlD"}
@@ -1,239 +0,0 @@
1
- import { execFileSync } from "node:child_process";
2
- import { existsSync, readdirSync, statSync } from "node:fs";
3
- import { homedir, platform } from "node:os";
4
- import { join } from "node:path";
5
- const FONT_EXT_RE = /\.(otf|ttf|ttc|woff2?)$/i;
6
- const MAX_FONT_RESULTS = 2000;
7
- const GOOGLE_FONTS_METADATA_URL = "https://fonts.google.com/metadata/fonts";
8
- const GOOGLE_FONTS_FETCH_TIMEOUT_MS = 3000;
9
- let cachedFonts = null;
10
- let cachedGoogleFonts = null;
11
- const STYLE_SUFFIXES = new Set([
12
- "black",
13
- "bold",
14
- "book",
15
- "condensed",
16
- "demi",
17
- "demibold",
18
- "display",
19
- "extra",
20
- "extrabold",
21
- "hairline",
22
- "heavy",
23
- "italic",
24
- "light",
25
- "medium",
26
- "normal",
27
- "regular",
28
- "roman",
29
- "semibold",
30
- "thin",
31
- "ultra",
32
- "ultralight",
33
- ]);
34
- const GOOGLE_FONT_FALLBACKS = [
35
- "Inter",
36
- "Roboto",
37
- "Open Sans",
38
- "Montserrat",
39
- "Poppins",
40
- "Lato",
41
- "Oswald",
42
- "Raleway",
43
- "Nunito",
44
- "Playfair Display",
45
- "Merriweather",
46
- "Source Sans 3",
47
- "Source Serif 4",
48
- "Source Code Pro",
49
- "DM Sans",
50
- "Space Grotesk",
51
- "Space Mono",
52
- "Bebas Neue",
53
- "Outfit",
54
- "JetBrains Mono",
55
- ];
56
- function isRecord(value) {
57
- return typeof value === "object" && value !== null;
58
- }
59
- function fontDirectories() {
60
- const home = homedir();
61
- if (platform() === "darwin") {
62
- return [
63
- join(home, "Library", "Fonts"),
64
- "/Library/Fonts",
65
- "/System/Library/Fonts",
66
- "/System/Library/Fonts/Supplemental",
67
- ];
68
- }
69
- if (platform() === "win32") {
70
- return [join(process.env.WINDIR || "C:\\Windows", "Fonts")];
71
- }
72
- return [
73
- join(home, ".fonts"),
74
- join(home, ".local", "share", "fonts"),
75
- "/usr/local/share/fonts",
76
- "/usr/share/fonts",
77
- ];
78
- }
79
- function toFamilyName(fileName) {
80
- const withoutExt = fileName.replace(FONT_EXT_RE, "");
81
- if (!withoutExt || withoutExt.startsWith("."))
82
- return null;
83
- const spaced = withoutExt
84
- .replace(/[_-]+/g, " ")
85
- .replace(/([a-z])([A-Z])/g, "$1 $2")
86
- .replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2")
87
- .replace(/\s+/g, " ")
88
- .trim();
89
- const words = spaced.split(" ").filter(Boolean);
90
- while (words.length > 1 && STYLE_SUFFIXES.has((words.at(-1) ?? "").toLowerCase())) {
91
- words.pop();
92
- }
93
- const family = words.join(" ").trim();
94
- return family.length >= 2 ? family : null;
95
- }
96
- function collectMacSystemProfilerFonts() {
97
- if (platform() !== "darwin")
98
- return [];
99
- let parsed;
100
- try {
101
- const raw = execFileSync("system_profiler", ["SPFontsDataType", "-json"], {
102
- encoding: "utf8",
103
- maxBuffer: 12 * 1024 * 1024,
104
- timeout: 5000,
105
- });
106
- parsed = JSON.parse(raw);
107
- }
108
- catch {
109
- return [];
110
- }
111
- if (!isRecord(parsed) || !Array.isArray(parsed.SPFontsDataType))
112
- return [];
113
- const fonts = [];
114
- for (const fontEntry of parsed.SPFontsDataType) {
115
- if (!isRecord(fontEntry))
116
- continue;
117
- const typefaces = fontEntry.typefaces;
118
- if (!Array.isArray(typefaces))
119
- continue;
120
- for (const typeface of typefaces) {
121
- if (!isRecord(typeface))
122
- continue;
123
- const family = typeface.family;
124
- const fullName = typeface.fullname;
125
- const name = typeface._name;
126
- if (typeof family === "string" && family.trim()) {
127
- fonts.push(family.trim());
128
- }
129
- else if (typeof fullName === "string" && fullName.trim()) {
130
- fonts.push(fullName.trim());
131
- }
132
- else if (typeof name === "string" && name.trim()) {
133
- fonts.push(name.trim());
134
- }
135
- }
136
- }
137
- return fonts;
138
- }
139
- function collectFontsFromDir(dir, depth = 0) {
140
- if (!existsSync(dir) || depth > 2)
141
- return [];
142
- const fonts = [];
143
- for (const entry of readdirSync(dir, { withFileTypes: true })) {
144
- const fullPath = join(dir, entry.name);
145
- if (entry.isDirectory()) {
146
- fonts.push(...collectFontsFromDir(fullPath, depth + 1));
147
- continue;
148
- }
149
- if (!entry.isFile() || !FONT_EXT_RE.test(entry.name))
150
- continue;
151
- try {
152
- if (!statSync(fullPath).isFile())
153
- continue;
154
- }
155
- catch {
156
- continue;
157
- }
158
- const family = toFamilyName(entry.name);
159
- if (family)
160
- fonts.push(family);
161
- }
162
- return fonts;
163
- }
164
- function listInstalledFontFamilies() {
165
- if (cachedFonts)
166
- return cachedFonts;
167
- const families = new Set();
168
- for (const family of collectMacSystemProfilerFonts()) {
169
- families.add(family);
170
- if (families.size >= MAX_FONT_RESULTS)
171
- break;
172
- }
173
- for (const dir of fontDirectories()) {
174
- for (const family of collectFontsFromDir(dir)) {
175
- families.add(family);
176
- if (families.size >= MAX_FONT_RESULTS)
177
- break;
178
- }
179
- if (families.size >= MAX_FONT_RESULTS)
180
- break;
181
- }
182
- cachedFonts = Array.from(families).sort((a, b) => a.localeCompare(b));
183
- return cachedFonts;
184
- }
185
- function parseGoogleFontMetadata(value) {
186
- if (!isRecord(value) || !Array.isArray(value.familyMetadataList))
187
- return [];
188
- const families = [];
189
- for (const entry of value.familyMetadataList) {
190
- if (!isRecord(entry) || typeof entry.family !== "string")
191
- continue;
192
- families.push(entry.family);
193
- }
194
- return families;
195
- }
196
- function stripGoogleJsonGuard(raw) {
197
- const prefix = ")]}'";
198
- if (!raw.startsWith(prefix))
199
- return raw;
200
- let index = prefix.length;
201
- while (index < raw.length &&
202
- (raw[index] === " " ||
203
- raw[index] === "\n" ||
204
- raw[index] === "\r" ||
205
- raw[index] === "\t" ||
206
- raw[index] === "\f")) {
207
- index += 1;
208
- }
209
- return raw.slice(index);
210
- }
211
- async function listGoogleFontFamilies() {
212
- if (cachedGoogleFonts)
213
- return cachedGoogleFonts;
214
- const controller = new AbortController();
215
- const timer = setTimeout(() => controller.abort(), GOOGLE_FONTS_FETCH_TIMEOUT_MS);
216
- try {
217
- const response = await fetch(GOOGLE_FONTS_METADATA_URL, { signal: controller.signal });
218
- if (!response.ok) {
219
- cachedGoogleFonts = GOOGLE_FONT_FALLBACKS;
220
- return cachedGoogleFonts;
221
- }
222
- const raw = await response.text();
223
- const jsonText = stripGoogleJsonGuard(raw);
224
- const families = parseGoogleFontMetadata(JSON.parse(jsonText));
225
- cachedGoogleFonts = families.length > 0 ? families : GOOGLE_FONT_FALLBACKS;
226
- }
227
- catch {
228
- cachedGoogleFonts = GOOGLE_FONT_FALLBACKS;
229
- }
230
- finally {
231
- clearTimeout(timer);
232
- }
233
- return cachedGoogleFonts;
234
- }
235
- export function registerFontRoutes(api) {
236
- api.get("/fonts", (c) => c.json({ fonts: listInstalledFontFamilies() }));
237
- api.get("/fonts/google", async (c) => c.json({ fonts: await listGoogleFontFamilies() }));
238
- }
239
- //# sourceMappingURL=fonts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../../src/studio-api/routes/fonts.ts"],"names":[],"mappings":"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"}