dragonflight/services/premiere-plugin-uxp/manifest.json
Claude 0abef056e7 fix(uxp+mam-api): Export Timeline render — xmeml schema + BullMQ job poll
Two cooperating bugs left Export Timeline stuck at "Rendering Hi-Res"
forever:

A. worker emitted "Invalid FCP XML: no sequence element" because
   Timeline.generateFcpXml produced fcpxml (FCP X schema:
   <fcpxml><resources>/<library>/...) while the worker's parseFcpXml
   expects xmeml (FCP 7 schema: <xmeml><sequence>...). Two completely
   different formats.

   Rewrite generateFcpXml to emit xmeml v5 with the structure the
   parser walks:
     xmeml/sequence/{name,duration,rate{timebase,ntsc},
                     media/video/{format/samplecharacteristics,
                                  track[@currentExplodedTrackIndex]
                                  /clipitem/{name,duration,rate,in,out,
                                             start,end,file/{name,pathurl}}}}
   Clipitem in/out are SOURCE frames (the underlying media in/out);
   start/end are TIMELINE frames (the cut position). The worker uses
   the rate timebase to parse them.

B. /api/v1/jobs/:id rejected the panel's polls with
   "Invalid id — must be a UUID". The handlers below correctly parse
   BullMQ-prefixed ids ("conform:42"), but router.param('id',
   validateUuid('id')) ran first and 400'd everything that wasn't a
   UUID. The panel's pollConform swallows the resulting fetch error
   silently and polls forever.

   Drop the validator. Comment in the file explains why.

Bumps panel to v2.2.2.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 13:58:13 -04:00

31 lines
772 B
JSON

{
"manifestVersion": 5,
"id": "net.wilddragon.dragonflight.uxp",
"name": "Dragonflight MAM",
"version": "2.2.2",
"main": "index.html",
"host": {
"app": "premierepro",
"minVersion": "26.0.0"
},
"entrypoints": [
{
"type": "panel",
"id": "main",
"label": { "default": "Dragonflight MAM" },
"minimumSize": { "width": 320, "height": 400 },
"preferredDockedSize": { "width": 380, "height": 660 },
"preferredFloatingSize":{ "width": 420, "height": 780 }
}
],
"requiredPermissions": {
"localFileSystem": "fullAccess",
"network": {
"domains": [
"https://dragonflight.live",
"https://broadcastmgmt.cloud"
]
},
"allowCodeGenerationFromStrings": false
}
}