@amg555/frameforge-mcp 2.7.0 → 2.7.2
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.
- package/.claude-plugin/marketplace.json +63 -63
- package/CHANGELOG.md +35 -0
- package/README.md +426 -426
- package/package.json +1 -1
- package/plugins/video-pipeline/.claude-plugin/plugin.json +25 -25
- package/plugins/video-pipeline/skills/.upstream-skills.json +143 -143
- package/plugins/video-pipeline/skills/html-renderer/references/procedural-sfx.md +15 -3
- package/plugins/video-pipeline/skills/video-pipeline/SKILL.md +384 -384
- package/plugins/video-pipeline/skills/video-pipeline/references/mcp-tools.md +441 -291
- package/scripts/deep-validate.js +398 -388
- package/src/mcp-server/server.js +2999 -2999
- package/src/skills/sync-upstream.js +290 -290
- package/.bob/artifacts/enterprise-ai-video-agent-platform-agnostic-implementation-guide.html +0 -464
- package/out/check/purity_report.json +0 -79
- package/out/frames/f000000.jpg +0 -0
- package/out/frames/f000001.jpg +0 -0
- package/out/frames/f000002.jpg +0 -0
- package/out/frames/f000003.jpg +0 -0
- package/out/frames/f000004.jpg +0 -0
- package/out/frames/f000005.jpg +0 -0
- package/out/frames/f000006.jpg +0 -0
- package/out/frames/f000007.jpg +0 -0
- package/out/frames/f000008.jpg +0 -0
- package/out/frames/f000009.jpg +0 -0
- package/out/frames/f000010.jpg +0 -0
- package/out/frames/f000011.jpg +0 -0
- package/out/frames/f000012.jpg +0 -0
- package/out/frames/f000013.jpg +0 -0
- package/out/frames/f000014.jpg +0 -0
- package/out/frames/f000015.jpg +0 -0
- package/out/frames/f000016.jpg +0 -0
- package/out/frames/f000017.jpg +0 -0
- package/out/frames/f000018.jpg +0 -0
- package/out/frames/f000019.jpg +0 -0
- package/out/frames/f000020.jpg +0 -0
- package/out/frames/f000021.jpg +0 -0
- package/out/frames/f000022.jpg +0 -0
- package/out/frames/f000023.jpg +0 -0
- package/out/frames/f000024.jpg +0 -0
- package/out/frames/f000025.jpg +0 -0
- package/out/frames/f000026.jpg +0 -0
- package/out/frames/f000027.jpg +0 -0
- package/out/frames/f000028.jpg +0 -0
- package/out/frames/f000029.jpg +0 -0
- package/out/frames/f000030.jpg +0 -0
- package/out/frames/f000031.jpg +0 -0
- package/out/frames/f000032.jpg +0 -0
- package/out/frames/f000033.jpg +0 -0
- package/out/frames/f000034.jpg +0 -0
- package/out/frames/f000035.jpg +0 -0
- package/out/frames/f000036.jpg +0 -0
- package/out/frames/f000037.jpg +0 -0
- package/out/frames/f000038.jpg +0 -0
- package/out/frames/f000039.jpg +0 -0
- package/out/frames/f000040.jpg +0 -0
- package/out/frames/f000041.jpg +0 -0
- package/out/frames/f000042.jpg +0 -0
- package/out/frames/f000043.jpg +0 -0
- package/out/frames/f000044.jpg +0 -0
- package/out/frames/f000045.jpg +0 -0
- package/out/frames/f000046.jpg +0 -0
- package/out/frames/f000047.jpg +0 -0
- package/out/frames/f000048.jpg +0 -0
- package/out/frames/f000049.jpg +0 -0
- package/out/frames/f000050.jpg +0 -0
- package/out/frames/f000051.jpg +0 -0
- package/out/frames/f000052.jpg +0 -0
- package/out/frames/f000053.jpg +0 -0
- package/out/frames/f000054.jpg +0 -0
- package/out/frames/f000055.jpg +0 -0
- package/out/frames/f000056.jpg +0 -0
- package/out/frames/f000057.jpg +0 -0
- package/out/frames/f000058.jpg +0 -0
- package/out/frames/f000059.jpg +0 -0
- package/output/harness_test_1794418727139/frames/f000000.jpg +0 -1
- package/src/harness/test/fixtures/broken-scene.html +0 -27
- package/src/harness/test/fixtures/reference-scene.html +0 -23
- package/src/harness/test/fixtures/sample-script.json +0 -18
package/out/frames/f000033.jpg
DELETED
|
Binary file
|
package/out/frames/f000034.jpg
DELETED
|
Binary file
|
package/out/frames/f000035.jpg
DELETED
|
Binary file
|
package/out/frames/f000036.jpg
DELETED
|
Binary file
|
package/out/frames/f000037.jpg
DELETED
|
Binary file
|
package/out/frames/f000038.jpg
DELETED
|
Binary file
|
package/out/frames/f000039.jpg
DELETED
|
Binary file
|
package/out/frames/f000040.jpg
DELETED
|
Binary file
|
package/out/frames/f000041.jpg
DELETED
|
Binary file
|
package/out/frames/f000042.jpg
DELETED
|
Binary file
|
package/out/frames/f000043.jpg
DELETED
|
Binary file
|
package/out/frames/f000044.jpg
DELETED
|
Binary file
|
package/out/frames/f000045.jpg
DELETED
|
Binary file
|
package/out/frames/f000046.jpg
DELETED
|
Binary file
|
package/out/frames/f000047.jpg
DELETED
|
Binary file
|
package/out/frames/f000048.jpg
DELETED
|
Binary file
|
package/out/frames/f000049.jpg
DELETED
|
Binary file
|
package/out/frames/f000050.jpg
DELETED
|
Binary file
|
package/out/frames/f000051.jpg
DELETED
|
Binary file
|
package/out/frames/f000052.jpg
DELETED
|
Binary file
|
package/out/frames/f000053.jpg
DELETED
|
Binary file
|
package/out/frames/f000054.jpg
DELETED
|
Binary file
|
package/out/frames/f000055.jpg
DELETED
|
Binary file
|
package/out/frames/f000056.jpg
DELETED
|
Binary file
|
package/out/frames/f000057.jpg
DELETED
|
Binary file
|
package/out/frames/f000058.jpg
DELETED
|
Binary file
|
package/out/frames/f000059.jpg
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
************************************************************************************************************************************************************************************************************************************************************************************************************
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<style>body { margin: 0; background: #0c1116; }</style>
|
|
6
|
-
</head>
|
|
7
|
-
<body>
|
|
8
|
-
<canvas id="frame" width="1080" height="1080"></canvas>
|
|
9
|
-
<script>
|
|
10
|
-
window.DURATION = 2;
|
|
11
|
-
const ctx = document.querySelector("#frame").getContext("2d");
|
|
12
|
-
let historyAccumulator = 0;
|
|
13
|
-
|
|
14
|
-
// Broken: relies on rAF loop and unseeded Math.random + accumulated state
|
|
15
|
-
window.seek = async (t) => {
|
|
16
|
-
historyAccumulator += Math.random() * 50; // History leak & randomness!
|
|
17
|
-
ctx.fillStyle = "#0c1116";
|
|
18
|
-
ctx.fillRect(0, 0, 1080, 1080);
|
|
19
|
-
ctx.fillStyle = "#ff5555";
|
|
20
|
-
ctx.beginPath();
|
|
21
|
-
ctx.arc(120 + 400 * t + historyAccumulator, 540, 80, 0, 2 * Math.PI);
|
|
22
|
-
ctx.fill();
|
|
23
|
-
};
|
|
24
|
-
</script>
|
|
25
|
-
</body>
|
|
26
|
-
</html>
|
|
27
|
-
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<style>body { margin: 0; background: #0c1116; overflow: hidden; }</style>
|
|
6
|
-
</head>
|
|
7
|
-
<body>
|
|
8
|
-
<canvas id="frame" width="1080" height="1080"></canvas>
|
|
9
|
-
<script>
|
|
10
|
-
window.DURATION = 2;
|
|
11
|
-
const ctx = document.querySelector("#frame").getContext("2d");
|
|
12
|
-
window.seek = async (t) => {
|
|
13
|
-
ctx.fillStyle = "#0c1116";
|
|
14
|
-
ctx.fillRect(0, 0, 1080, 1080);
|
|
15
|
-
ctx.fillStyle = "#5be2a1";
|
|
16
|
-
ctx.beginPath();
|
|
17
|
-
ctx.arc(120 + 400 * t, 540, 80, 0, 2 * Math.PI);
|
|
18
|
-
ctx.fill();
|
|
19
|
-
};
|
|
20
|
-
</script>
|
|
21
|
-
</body>
|
|
22
|
-
</html>
|
|
23
|
-
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "End-to-End Test Video",
|
|
3
|
-
"scenes": [
|
|
4
|
-
{
|
|
5
|
-
"scene_id": 1,
|
|
6
|
-
"narration": "Welcome to the world of deterministic code-driven animations.",
|
|
7
|
-
"caption": "CODE-DRIVEN VIDEO",
|
|
8
|
-
"visual_description": "Bold modern kinetic typography with glowing blue accent"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"scene_id": 2,
|
|
12
|
-
"narration": "Every frame is a pure mathematical function of time t.",
|
|
13
|
-
"caption": "PURE FUNCTION OF T",
|
|
14
|
-
"visual_description": "Terminal and code execution card appearing on screen"
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
|
-
}
|
|
18
|
-
|