@writepanda/mcp 1.22.1 → 1.22.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.
Files changed (2) hide show
  1. package/bin/server.mjs +38 -0
  2. package/package.json +1 -1
package/bin/server.mjs CHANGED
@@ -480,6 +480,16 @@ const TOOLS = [
480
480
  type: "number",
481
481
  description: "Sound volume 0–1. Default 1 when soundUrl is set.",
482
482
  },
483
+ anchorSourceMs: {
484
+ type: "number",
485
+ description:
486
+ "Anchor the motion graphic to a SOURCE-time moment (raw recording time). Pass this whenever atMs was derived from a transcript word's startMs — the region will then re-anchor automatically when subsequent transcript edits (remove-fillers, remove-silences, delete-words) shift the edited-time map. Without it, the motion graphic drifts silently. Omit for free-floating placement.",
487
+ },
488
+ anchorSourceEndMs: {
489
+ type: "number",
490
+ description:
491
+ "Optional anchor end (source ms) for ranged anchoring — the region's duration tracks the source-time span instead of preserving its visible duration.",
492
+ },
483
493
  expectedRevision: { type: "number" },
484
494
  },
485
495
  required: ["file", "durationMs"],
@@ -545,6 +555,15 @@ const TOOLS = [
545
555
  type: "number",
546
556
  description: "Sound volume 0–1. Default 0.8.",
547
557
  },
558
+ anchorSourceMs: {
559
+ type: "number",
560
+ description:
561
+ "Anchor the lower third to a SOURCE-time moment. Pass when atMs was derived from a transcript word's startMs — the lower third re-anchors automatically on subsequent transcript edits. Without it, the lower third drifts after any trim. Omit for free-floating placement.",
562
+ },
563
+ anchorSourceEndMs: {
564
+ type: "number",
565
+ description: "Optional anchor end (source ms) for ranged anchoring.",
566
+ },
548
567
  expectedRevision: { type: "number" },
549
568
  },
550
569
  required: ["content", "atMs"],
@@ -676,6 +695,15 @@ const TOOLS = [
676
695
  y: { type: "number", description: "Vertical center, percent 0-100. Default 50." },
677
696
  width: { type: "number", description: "Width, percent 0-100. Default 30." },
678
697
  height: { type: "number", description: "Height, percent 0-100. Default 20." },
698
+ anchorSourceMs: {
699
+ type: "number",
700
+ description:
701
+ "Anchor the annotation to a SOURCE-time moment (raw recording time). Pass when startMs was derived from a transcript word's startMs — the annotation re-anchors automatically on subsequent transcript edits. Without it, the annotation drifts after any trim. Omit for free-floating placement.",
702
+ },
703
+ anchorSourceEndMs: {
704
+ type: "number",
705
+ description: "Optional anchor end (source ms) for ranged anchoring.",
706
+ },
679
707
  expectedRevision: { type: "number" },
680
708
  },
681
709
  required: ["startMs", "endMs", "type"],
@@ -996,6 +1024,16 @@ const TOOLS = [
996
1024
  description:
997
1025
  "[Legacy] Sets endMs = startMs + maxDurationMs when endMs is absent. Prefer endMs.",
998
1026
  },
1027
+ anchorSourceMs: {
1028
+ type: "number",
1029
+ description:
1030
+ "Anchor an SFX overlay to a SOURCE-time moment (e.g. a punchline word). Pass when startMs was derived from a transcript word's source-time — the overlay re-anchors automatically on subsequent transcript edits. DO NOT pass for background music tracks; those should stay free-floating (they cover a fixed slot of the edited timeline regardless of content edits).",
1031
+ },
1032
+ anchorSourceEndMs: {
1033
+ type: "number",
1034
+ description:
1035
+ "Optional anchor end (source ms). When set, the overlay's edited duration tracks the source-time span between anchorSourceMs and anchorSourceEndMs.",
1036
+ },
999
1037
  expectedRevision: { type: "number" },
1000
1038
  },
1001
1039
  required: ["audioPath"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@writepanda/mcp",
3
- "version": "1.22.1",
3
+ "version": "1.22.2",
4
4
  "description": "Model Context Protocol server for PandaStudio. Exposes the desktop video editor's automation surface to Cursor, Continue, Cline, Claude Desktop, and any MCP-compliant client.",
5
5
  "keywords": [
6
6
  "pandastudio",