@dnyantra/dtly 0.2.2 → 0.3.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 (77) hide show
  1. package/README.md +16 -3
  2. package/dist/cli.js +33 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/core/anim.js +20 -0
  5. package/dist/core/anim.js.map +1 -1
  6. package/dist/core/captions.d.ts +13 -0
  7. package/dist/core/captions.js +57 -0
  8. package/dist/core/captions.js.map +1 -0
  9. package/dist/core/geo.d.ts +13 -0
  10. package/dist/core/geo.js +41 -0
  11. package/dist/core/geo.js.map +1 -0
  12. package/dist/core/model.d.ts +112 -9
  13. package/dist/core/model.js.map +1 -1
  14. package/dist/core/path.d.ts +35 -0
  15. package/dist/core/path.js +324 -0
  16. package/dist/core/path.js.map +1 -0
  17. package/dist/core/svg.d.ts +22 -0
  18. package/dist/core/svg.js +217 -0
  19. package/dist/core/svg.js.map +1 -0
  20. package/dist/core/text.d.ts +3 -1
  21. package/dist/core/text.js +49 -3
  22. package/dist/core/text.js.map +1 -1
  23. package/dist/mcp/server.js +28 -1
  24. package/dist/mcp/server.js.map +1 -1
  25. package/dist/ops/ops.d.ts +7 -0
  26. package/dist/ops/ops.js +11 -1
  27. package/dist/ops/ops.js.map +1 -1
  28. package/dist/presets/app.d.ts +2 -0
  29. package/dist/presets/app.js +82 -0
  30. package/dist/presets/app.js.map +1 -0
  31. package/dist/presets/captions.d.ts +2 -0
  32. package/dist/presets/captions.js +48 -0
  33. package/dist/presets/captions.js.map +1 -0
  34. package/dist/presets/charts.d.ts +2 -0
  35. package/dist/presets/charts.js +162 -0
  36. package/dist/presets/charts.js.map +1 -0
  37. package/dist/presets/index.d.ts +1 -1
  38. package/dist/presets/index.js +62 -1
  39. package/dist/presets/index.js.map +1 -1
  40. package/dist/presets/maps.d.ts +2 -0
  41. package/dist/presets/maps.js +79 -0
  42. package/dist/presets/maps.js.map +1 -0
  43. package/dist/render/fx.d.ts +11 -0
  44. package/dist/render/fx.js +87 -0
  45. package/dist/render/fx.js.map +1 -0
  46. package/dist/render/grade.d.ts +20 -0
  47. package/dist/render/grade.js +178 -0
  48. package/dist/render/grade.js.map +1 -0
  49. package/dist/render/lottie.d.ts +36 -0
  50. package/dist/render/lottie.js +523 -0
  51. package/dist/render/lottie.js.map +1 -0
  52. package/dist/render/node-host.d.ts +1 -0
  53. package/dist/render/node-host.js +15 -4
  54. package/dist/render/node-host.js.map +1 -1
  55. package/dist/render/perspective.d.ts +5 -0
  56. package/dist/render/perspective.js +71 -0
  57. package/dist/render/perspective.js.map +1 -0
  58. package/dist/render/renderer.d.ts +6 -0
  59. package/dist/render/renderer.js +156 -95
  60. package/dist/render/renderer.js.map +1 -1
  61. package/dist/render/shapes.d.ts +6 -0
  62. package/dist/render/shapes.js +129 -0
  63. package/dist/render/shapes.js.map +1 -0
  64. package/dist/render/tiles.d.ts +11 -0
  65. package/dist/render/tiles.js +42 -0
  66. package/dist/render/tiles.js.map +1 -0
  67. package/dist/render/transcribe.d.ts +14 -0
  68. package/dist/render/transcribe.js +55 -0
  69. package/dist/render/transcribe.js.map +1 -0
  70. package/dist/studio/server.js +14 -1
  71. package/dist/studio/server.js.map +1 -1
  72. package/dist/studio-app/app.js +5 -4
  73. package/dist/studio-app/app.js.map +4 -4
  74. package/dist/version.d.ts +1 -1
  75. package/dist/version.js +1 -1
  76. package/package.json +1 -1
  77. package/plugin/skills/moti/SKILL.md +23 -3
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/render/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/render/renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ShapeLayer } from '../core/model.js';
2
+ import { type Path } from '../core/path.js';
3
+ type Ctx = CanvasRenderingContext2D;
4
+ export declare const shapePath: (s: ShapeLayer, t: number) => Path;
5
+ export declare const drawShape: (ctx: Ctx, s: ShapeLayer, t: number) => void;
6
+ export {};
@@ -0,0 +1,129 @@
1
+ // Shape layers: builds the vector path, then fills/strokes it with trims, dashes, gradients and repeaters.
2
+ import { val } from '../core/anim.js';
3
+ import { flatten, parsePath, tracePath, trimPolylines } from '../core/path.js';
4
+ const K = 0.5522847498; // circle → cubic handle length
5
+ const parsedCache = new Map();
6
+ const parse = (d) => {
7
+ let p = parsedCache.get(d);
8
+ if (!p) {
9
+ p = parsePath(d);
10
+ if (parsedCache.size > 300)
11
+ parsedCache.clear();
12
+ parsedCache.set(d, p);
13
+ }
14
+ return p;
15
+ };
16
+ // The shape's outline as a path in layer space (centred on the origin for rect/ellipse/polygon/star).
17
+ export const shapePath = (s, t) => {
18
+ switch (s.shape) {
19
+ case 'rect': {
20
+ const [w, h] = val(s.size, t, [200, 200]);
21
+ const r = Math.min(val(s.radius, t, 0), Math.abs(w) / 2, Math.abs(h) / 2);
22
+ const x = -w / 2, y = -h / 2, k = r * (1 - K);
23
+ if (r <= 0)
24
+ return [{ kind: 'M', p: [x, y] }, { kind: 'L', p: [x + w, y] }, { kind: 'L', p: [x + w, y + h] }, { kind: 'L', p: [x, y + h] }, { kind: 'Z' }];
25
+ return [
26
+ { kind: 'M', p: [x + r, y] }, { kind: 'L', p: [x + w - r, y] }, { kind: 'C', c1: [x + w - k, y], c2: [x + w, y + k], p: [x + w, y + r] },
27
+ { kind: 'L', p: [x + w, y + h - r] }, { kind: 'C', c1: [x + w, y + h - k], c2: [x + w - k, y + h], p: [x + w - r, y + h] },
28
+ { kind: 'L', p: [x + r, y + h] }, { kind: 'C', c1: [x + k, y + h], c2: [x, y + h - k], p: [x, y + h - r] },
29
+ { kind: 'L', p: [x, y + r] }, { kind: 'C', c1: [x, y + k], c2: [x + k, y], p: [x + r, y] }, { kind: 'Z' },
30
+ ];
31
+ }
32
+ case 'ellipse': {
33
+ const [w, h] = val(s.size, t, [200, 200]);
34
+ const a = w / 2, b = h / 2;
35
+ // Starts at the top and runs clockwise, so trim paths draw on like a clock hand (as in AE).
36
+ return [
37
+ { kind: 'M', p: [0, -b] },
38
+ { kind: 'C', c1: [a * K, -b], c2: [a, -b * K], p: [a, 0] },
39
+ { kind: 'C', c1: [a, b * K], c2: [a * K, b], p: [0, b] },
40
+ { kind: 'C', c1: [-a * K, b], c2: [-a, b * K], p: [-a, 0] },
41
+ { kind: 'C', c1: [-a, -b * K], c2: [-a * K, -b], p: [0, -b] },
42
+ { kind: 'Z' },
43
+ ];
44
+ }
45
+ case 'polygon':
46
+ case 'star': {
47
+ const n = Math.max(3, s.sides ?? (s.shape === 'star' ? 5 : 6));
48
+ const ro = val(s.radius, t, 100), ri = val(s.innerRadius, t, ro * 0.45);
49
+ const count = s.shape === 'star' ? n * 2 : n;
50
+ const out = [];
51
+ for (let i = 0; i < count; i++) {
52
+ const r = s.shape === 'star' && i % 2 ? ri : ro;
53
+ const a = (i / count) * Math.PI * 2 - Math.PI / 2;
54
+ out.push({ kind: i ? 'L' : 'M', p: [Math.cos(a) * r, Math.sin(a) * r] });
55
+ }
56
+ out.push({ kind: 'Z' });
57
+ return out;
58
+ }
59
+ default: {
60
+ if (s.path !== undefined)
61
+ return parse(val(s.path, t, ''));
62
+ const pts = s.points ?? [];
63
+ const out = pts.map((p, i) => ({ kind: i ? 'L' : 'M', p }));
64
+ if (s.closed ?? s.shape === 'path')
65
+ out.push({ kind: 'Z' });
66
+ return out;
67
+ }
68
+ }
69
+ };
70
+ const gradient = (ctx, g) => {
71
+ const grad = 'linear' in g
72
+ ? ctx.createLinearGradient(...g.linear.from, ...g.linear.to)
73
+ : ctx.createRadialGradient(...g.radial.center, 0, ...g.radial.center, g.radial.radius);
74
+ for (const [o, c] of 'linear' in g ? g.linear.stops : g.radial.stops)
75
+ grad.addColorStop(o, c);
76
+ return grad;
77
+ };
78
+ const drawOnce = (ctx, s, path, t) => {
79
+ const start = val(s.trim?.start, t, 0) / 100, end = val(s.trim?.end, t, 100) / 100, offset = val(s.trim?.offset, t, 0) / 100;
80
+ const trimmed = !!s.trim && (start > 0 || end < 1 || offset !== 0);
81
+ if (trimmed && Math.abs(end - start) < 1e-4)
82
+ return;
83
+ ctx.beginPath();
84
+ if (trimmed) {
85
+ for (const line of trimPolylines(flatten(path), start, end, offset))
86
+ line.forEach((p, i) => (i ? ctx.lineTo(...p) : ctx.moveTo(...p)));
87
+ }
88
+ else
89
+ tracePath(ctx, path);
90
+ if (s.fill && !trimmed && s.shape !== 'line') {
91
+ ctx.fillStyle = typeof s.fill === 'object' && ('linear' in s.fill || 'radial' in s.fill) ? gradient(ctx, s.fill) : val(s.fill, t, '#fff');
92
+ ctx.fill(s.fillRule ?? 'nonzero');
93
+ }
94
+ if (s.stroke) {
95
+ ctx.strokeStyle = val(s.stroke, t, '#fff');
96
+ ctx.lineWidth = val(s.strokeWidth, t, 4);
97
+ ctx.lineCap = s.lineCap ?? 'round';
98
+ ctx.lineJoin = s.lineJoin ?? 'round';
99
+ if (s.dash)
100
+ ctx.setLineDash(s.dash);
101
+ ctx.stroke();
102
+ if (s.dash)
103
+ ctx.setLineDash([]);
104
+ }
105
+ };
106
+ export const drawShape = (ctx, s, t) => {
107
+ const path = shapePath(s, t);
108
+ const rep = s.repeater;
109
+ if (!rep)
110
+ return drawOnce(ctx, s, path, t);
111
+ const copies = Math.max(1, Math.round(val(rep.copies, t, 3)));
112
+ const [dx, dy] = rep.position ?? [100, 0];
113
+ const [sx, sy] = rep.scale ?? [100, 100];
114
+ const [ax, ay] = rep.anchor ?? [0, 0];
115
+ const o0 = (rep.startOpacity ?? 100) / 100, o1 = (rep.endOpacity ?? 100) / 100;
116
+ const base = ctx.globalAlpha;
117
+ for (let i = 0; i < copies; i++) {
118
+ const k = i + (rep.offset ?? 0);
119
+ ctx.save();
120
+ ctx.translate(dx * k + ax, dy * k + ay);
121
+ ctx.rotate(((rep.rotation ?? 0) * k * Math.PI) / 180);
122
+ ctx.scale(Math.pow(sx / 100, k), Math.pow(sy / 100, k));
123
+ ctx.translate(-ax, -ay);
124
+ ctx.globalAlpha = base * (copies > 1 ? o0 + ((o1 - o0) * i) / (copies - 1) : o0);
125
+ drawOnce(ctx, s, path, t);
126
+ ctx.restore();
127
+ }
128
+ };
129
+ //# sourceMappingURL=shapes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../src/render/shapes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type LatLon, type MapView } from '../core/geo.js';
2
+ export interface TileOptions {
3
+ tiles: string;
4
+ route?: LatLon[];
5
+ bounds?: [LatLon, LatLon];
6
+ size: [number, number];
7
+ attribution?: string;
8
+ maxZoom?: number;
9
+ userAgent?: string;
10
+ }
11
+ export declare const stitchMap: (out: string, o: TileOptions) => Promise<MapView>;
@@ -0,0 +1,42 @@
1
+ // Stitches slippy-map tiles into one background image with known bounds, for map.route.
2
+ // You choose the tile provider (and its licence/attribution); nothing is fetched by default.
3
+ import fs from 'node:fs';
4
+ import { loadImage } from 'skia-canvas';
5
+ import { fitView, project } from '../core/geo.js';
6
+ import { newCanvas } from './node-host.js';
7
+ export const stitchMap = async (out, o) => {
8
+ const [W, H] = o.size;
9
+ const view = o.bounds ? { bounds: o.bounds, size: [W, H] } : fitView(o.route ?? [], W, H, 0.12).view;
10
+ const [a, b] = [project(view.bounds[0], 0), project(view.bounds[1], 0)];
11
+ // Smallest zoom whose tiles are at least as sharp as the output.
12
+ const z = Math.min(o.maxZoom ?? 18, Math.max(0, Math.ceil(Math.log2(W / Math.max(1e-9, b[0] - a[0])))));
13
+ const k = 2 ** z;
14
+ const tx0 = Math.floor((a[0] * k) / 256), tx1 = Math.floor((b[0] * k) / 256), ty0 = Math.floor((a[1] * k) / 256), ty1 = Math.floor((b[1] * k) / 256);
15
+ if ((tx1 - tx0 + 1) * (ty1 - ty0 + 1) > 400)
16
+ throw new Error('Too many tiles; use a smaller area or size');
17
+ const canvas = newCanvas(W, H), ctx = canvas.getContext('2d');
18
+ ctx.fillStyle = '#dfe3e6';
19
+ ctx.fillRect(0, 0, W, H);
20
+ const sx = W / ((b[0] - a[0]) * k), sy = H / ((b[1] - a[1]) * k);
21
+ for (let ty = ty0; ty <= ty1; ty++)
22
+ for (let tx = tx0; tx <= tx1; tx++) {
23
+ const url = o.tiles.replace('{z}', String(z)).replace('{x}', String(((tx % k) + k) % k)).replace('{y}', String(ty)).replace('{s}', 'abc'[(tx + ty) % 3]);
24
+ const res = await fetch(url, { headers: { 'User-Agent': o.userAgent ?? 'DT.ly map-tiles (https://github.com/dnyantra/dtly)' } });
25
+ if (!res.ok)
26
+ throw new Error(`Tile ${url} → HTTP ${res.status}`);
27
+ const img = await loadImage(Buffer.from(await res.arrayBuffer()));
28
+ ctx.drawImage(img, (tx * 256 - a[0] * k) * sx, (ty * 256 - a[1] * k) * sy, 256 * sx + 0.5, 256 * sy + 0.5);
29
+ }
30
+ if (o.attribution) {
31
+ ctx.font = `600 ${Math.round(W / 60)}px sans-serif`;
32
+ const tw = ctx.measureText(o.attribution).width, pad = W / 120;
33
+ ctx.fillStyle = '#ffffffcc';
34
+ ctx.fillRect(W - tw - pad * 3, H - W / 60 - pad * 3, tw + pad * 3, W / 60 + pad * 3);
35
+ ctx.fillStyle = '#333';
36
+ ctx.fillText(o.attribution, W - tw - pad * 1.5, H - pad * 1.8);
37
+ }
38
+ await canvas.toFile(out);
39
+ fs.writeFileSync(`${out}.json`, JSON.stringify({ src: out, bounds: view.bounds, size: [W, H], zoom: z, attribution: o.attribution ?? null }, null, 2));
40
+ return view;
41
+ };
42
+ //# sourceMappingURL=tiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiles.js","sourceRoot":"","sources":["../../src/render/tiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Cue } from '../core/captions.js';
2
+ export declare const transcribe: (file: string, opts?: {
3
+ language?: string;
4
+ apiKey?: string;
5
+ model?: string;
6
+ }) => Promise<Cue[]>;
7
+ export declare const loadCaptions: (file: string, language?: string) => Promise<{
8
+ cues?: Cue[];
9
+ words?: {
10
+ text: string;
11
+ start: number;
12
+ end: number;
13
+ }[];
14
+ }>;
@@ -0,0 +1,55 @@
1
+ // Speech-to-text for captions via Sarvam AI (saaras): phrase-level timestamps, any Indian language
2
+ // or English. Audio is cut into ≤25 s chunks for the REST endpoint, then timestamps are re-offset.
3
+ import { execFileSync } from 'node:child_process';
4
+ import fs from 'node:fs';
5
+ import os from 'node:os';
6
+ import path from 'node:path';
7
+ import { checkFfmpeg } from './ffmpeg.js';
8
+ const CHUNK = 25;
9
+ export const transcribe = async (file, opts = {}) => {
10
+ checkFfmpeg();
11
+ const key = opts.apiKey ?? process.env.SARVAM_API_KEY;
12
+ if (!key)
13
+ throw new Error('Set SARVAM_API_KEY (from dashboard.sarvam.ai) to transcribe audio, or pass an .srt/.vtt/.json file instead.');
14
+ const dur = Number(execFileSync('ffprobe', ['-v', 'error', '-show_entries', 'format=duration', '-of', 'csv=p=0', file], { encoding: 'utf8' }).trim());
15
+ const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'dtly-stt-'));
16
+ const cues = [];
17
+ try {
18
+ for (let start = 0; start < dur; start += CHUNK) {
19
+ const wav = path.join(tmp, `c${start}.wav`);
20
+ execFileSync('ffmpeg', ['-v', 'error', '-y', '-ss', String(start), '-t', String(CHUNK), '-i', file, '-vn', '-ac', '1', '-ar', '16000', wav]);
21
+ const form = new FormData();
22
+ form.append('file', new Blob([fs.readFileSync(wav)], { type: 'audio/wav' }), 'chunk.wav');
23
+ form.append('model', opts.model ?? 'saaras:v4');
24
+ form.append('language_code', opts.language ?? 'unknown');
25
+ form.append('with_timestamps', 'true');
26
+ const res = await fetch('https://api.sarvam.ai/speech-to-text', { method: 'POST', headers: { 'api-subscription-key': key }, body: form });
27
+ const json = (await res.json());
28
+ if (!res.ok)
29
+ throw new Error(`Sarvam STT ${res.status}: ${json.error?.message ?? JSON.stringify(json).slice(0, 200)}`);
30
+ const ts = json.timestamps;
31
+ if (ts?.words?.length)
32
+ ts.words.forEach((w, i) => cues.push({ start: start + ts.start_time_seconds[i], end: start + ts.end_time_seconds[i], text: w.trim() }));
33
+ else if (json.transcript)
34
+ cues.push({ start, end: Math.min(dur, start + CHUNK), text: json.transcript });
35
+ }
36
+ }
37
+ finally {
38
+ fs.rmSync(tmp, { recursive: true, force: true });
39
+ }
40
+ return cues.filter((c) => c.text);
41
+ };
42
+ // Reads captions from a subtitle/JSON file or transcribes an audio/video file.
43
+ export const loadCaptions = async (file, language) => {
44
+ const ext = path.extname(file).toLowerCase();
45
+ if (ext === '.srt' || ext === '.vtt') {
46
+ const { parseSubtitles } = await import('../core/captions.js');
47
+ return { cues: parseSubtitles(fs.readFileSync(file, 'utf8')) };
48
+ }
49
+ if (ext === '.json') {
50
+ const j = JSON.parse(fs.readFileSync(file, 'utf8'));
51
+ return Array.isArray(j) ? (j[0] && 'text' in j[0] && !('start' in j[0] && 'end' in j[0] && j[0].text.includes(' ')) ? { words: j } : { cues: j }) : { words: j.words, cues: j.cues };
52
+ }
53
+ return { cues: await transcribe(file, { language }) };
54
+ };
55
+ //# sourceMappingURL=transcribe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcribe.js","sourceRoot":"","sources":["../../src/render/transcribe.ts"],"names":[],"mappings":"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"}
@@ -58,9 +58,13 @@ const readBody = (req, limit = 20 * 1024 * 1024) => new Promise((resolve, reject
58
58
  const mediaFiles = (p, baseDir, extra) => {
59
59
  const files = new Set(extra);
60
60
  for (const c of p.comps)
61
- for (const l of c.layers)
61
+ for (const l of c.layers) {
62
62
  if ('src' in l && typeof l.src === 'string')
63
63
  files.add(path.resolve(baseDir, l.src));
64
+ for (const e of l.effects ?? [])
65
+ if ('src' in e && typeof e.src === 'string')
66
+ files.add(path.resolve(baseDir, e.src));
67
+ }
64
68
  for (const list of Object.values(p.fonts ?? {}))
65
69
  for (const f of list)
66
70
  files.add(path.resolve(baseDir, f));
@@ -145,6 +149,15 @@ export const startStudio = async (opts) => {
145
149
  }
146
150
  sendFile(req, res, file);
147
151
  }
152
+ else if (url.pathname === '/api/svg') {
153
+ // SVG text for "import as shapes" (only .svg files inside the project folder).
154
+ const file = path.resolve(baseDir, url.searchParams.get('src') ?? '');
155
+ if (!file.startsWith(baseDir + path.sep) || path.extname(file).toLowerCase() !== '.svg') {
156
+ res.writeHead(403).end('Only .svg files inside the project folder');
157
+ return;
158
+ }
159
+ sendFile(req, res, file);
160
+ }
148
161
  else if (url.pathname === '/api/events') {
149
162
  res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', Connection: 'keep-alive' });
150
163
  res.write(`event: hello\ndata: ${JSON.stringify({ rev })}\n\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/studio/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/studio/server.ts"],"names":[],"mappings":"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"}