ugcinc-render 1.8.131 → 1.8.133

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/dist/index.d.mts CHANGED
@@ -832,6 +832,20 @@ interface InstagramDmCompositionProps {
832
832
  time?: string;
833
833
  timeRight?: number;
834
834
  timeBottom?: number;
835
+ timeFontSize?: number;
836
+ timeLetterSpacing?: number;
837
+ senderUsername?: string;
838
+ usernameLeft?: number;
839
+ username1Bottom?: number;
840
+ username1FontSize?: number;
841
+ username1LetterSpacing?: number;
842
+ username2Bottom?: number;
843
+ username2FontSize?: number;
844
+ username2LetterSpacing?: number;
845
+ usernameArrowTop?: number;
846
+ usernameArrowBottom?: number;
847
+ usernameArrowLeft?: number;
848
+ usernameArrowRight?: number;
835
849
  }
836
850
 
837
851
  /**
package/dist/index.d.ts CHANGED
@@ -832,6 +832,20 @@ interface InstagramDmCompositionProps {
832
832
  time?: string;
833
833
  timeRight?: number;
834
834
  timeBottom?: number;
835
+ timeFontSize?: number;
836
+ timeLetterSpacing?: number;
837
+ senderUsername?: string;
838
+ usernameLeft?: number;
839
+ username1Bottom?: number;
840
+ username1FontSize?: number;
841
+ username1LetterSpacing?: number;
842
+ username2Bottom?: number;
843
+ username2FontSize?: number;
844
+ username2LetterSpacing?: number;
845
+ usernameArrowTop?: number;
846
+ usernameArrowBottom?: number;
847
+ usernameArrowLeft?: number;
848
+ usernameArrowRight?: number;
835
849
  }
836
850
 
837
851
  /**
package/dist/index.js CHANGED
@@ -3437,7 +3437,8 @@ var ICON_INPUT_IDS = {
3437
3437
  phone: "ig-phone",
3438
3438
  video: "ig-video",
3439
3439
  flag: "ig-flag",
3440
- battery: "ig-battery"
3440
+ battery: "ig-battery",
3441
+ usernameArrow: "ig-username-right-arrow"
3441
3442
  };
3442
3443
  var USER_PFP_INPUT_ID = "user-pfp";
3443
3444
  var HEADER_DEFAULTS = {
@@ -3481,8 +3482,24 @@ var HEADER_DEFAULTS = {
3481
3482
  batteryRight: 1100,
3482
3483
  // Time display
3483
3484
  time: "9:41",
3484
- timeRight: 258,
3485
- timeBottom: 116
3485
+ timeRight: 262,
3486
+ timeBottom: 125,
3487
+ timeFontSize: 52,
3488
+ timeLetterSpacing: 1.6,
3489
+ // Sender username
3490
+ senderUsername: "cheatmate_io",
3491
+ usernameLeft: 308,
3492
+ username1Bottom: 264,
3493
+ username1FontSize: 52,
3494
+ username1LetterSpacing: 0.8,
3495
+ username2Bottom: 315,
3496
+ username2FontSize: 48,
3497
+ username2LetterSpacing: 0.8,
3498
+ // Username right arrow icon
3499
+ usernameArrowTop: 231,
3500
+ usernameArrowBottom: 260,
3501
+ usernameArrowLeft: 619,
3502
+ usernameArrowRight: 635
3486
3503
  };
3487
3504
  function generateHeaderElements(props) {
3488
3505
  const elements = [];
@@ -3629,7 +3646,8 @@ function generateHeaderElements(props) {
3629
3646
  const time = props.time ?? HEADER_DEFAULTS.time;
3630
3647
  const timeRight = props.timeRight ?? HEADER_DEFAULTS.timeRight;
3631
3648
  const timeBottom = props.timeBottom ?? HEADER_DEFAULTS.timeBottom;
3632
- const timeFontSize = props.messageFontSize ?? MESSAGE_DEFAULTS.messageFontSize;
3649
+ const timeFontSize = props.timeFontSize ?? HEADER_DEFAULTS.timeFontSize;
3650
+ const timeLetterSpacing = props.timeLetterSpacing ?? HEADER_DEFAULTS.timeLetterSpacing;
3633
3651
  const timeColor = props.bubbleTextColor ?? MESSAGE_DEFAULTS.bubbleTextColor;
3634
3652
  const timeHeight = timeFontSize;
3635
3653
  const timeTop = timeBottom - timeHeight;
@@ -3646,9 +3664,74 @@ function generateHeaderElements(props) {
3646
3664
  fontSize: timeFontSize,
3647
3665
  fontWeight: "semibold",
3648
3666
  color: timeColor,
3667
+ letterSpacing: timeLetterSpacing,
3649
3668
  textAlign: "right",
3650
3669
  verticalAlign: "middle"
3651
3670
  });
3671
+ const senderUsername = props.senderUsername ?? HEADER_DEFAULTS.senderUsername;
3672
+ const usernameLeft = props.usernameLeft ?? HEADER_DEFAULTS.usernameLeft;
3673
+ const username1Bottom = props.username1Bottom ?? HEADER_DEFAULTS.username1Bottom;
3674
+ const username1FontSize = props.username1FontSize ?? HEADER_DEFAULTS.username1FontSize;
3675
+ const username1LetterSpacing = props.username1LetterSpacing ?? HEADER_DEFAULTS.username1LetterSpacing;
3676
+ const username2Bottom = props.username2Bottom ?? HEADER_DEFAULTS.username2Bottom;
3677
+ const username2FontSize = props.username2FontSize ?? HEADER_DEFAULTS.username2FontSize;
3678
+ const username2LetterSpacing = props.username2LetterSpacing ?? HEADER_DEFAULTS.username2LetterSpacing;
3679
+ const truncatedUsername = senderUsername.length > 9 ? senderUsername.substring(0, 9) + "..." : senderUsername;
3680
+ const username1Height = username1FontSize;
3681
+ const username1Top = username1Bottom - username1Height;
3682
+ elements.push({
3683
+ id: "username-1",
3684
+ type: "text",
3685
+ x: usernameLeft,
3686
+ y: username1Top,
3687
+ width: 400,
3688
+ height: username1Height,
3689
+ zIndex: 30,
3690
+ text: truncatedUsername,
3691
+ font: "apple",
3692
+ fontSize: username1FontSize,
3693
+ fontWeight: "bold",
3694
+ color: "#fafafa",
3695
+ letterSpacing: username1LetterSpacing,
3696
+ textAlign: "left",
3697
+ verticalAlign: "middle"
3698
+ });
3699
+ const username2Height = username2FontSize;
3700
+ const username2Top = username2Bottom - username2Height;
3701
+ elements.push({
3702
+ id: "username-2",
3703
+ type: "text",
3704
+ x: usernameLeft,
3705
+ y: username2Top,
3706
+ width: 400,
3707
+ height: username2Height,
3708
+ zIndex: 30,
3709
+ text: truncatedUsername,
3710
+ font: "apple",
3711
+ fontSize: username2FontSize,
3712
+ fontWeight: "normal",
3713
+ color: "#a6afb6",
3714
+ letterSpacing: username2LetterSpacing,
3715
+ textAlign: "left",
3716
+ verticalAlign: "middle"
3717
+ });
3718
+ const usernameArrowTop = props.usernameArrowTop ?? HEADER_DEFAULTS.usernameArrowTop;
3719
+ const usernameArrowBottom = props.usernameArrowBottom ?? HEADER_DEFAULTS.usernameArrowBottom;
3720
+ const usernameArrowLeft = props.usernameArrowLeft ?? HEADER_DEFAULTS.usernameArrowLeft;
3721
+ const usernameArrowRight = props.usernameArrowRight ?? HEADER_DEFAULTS.usernameArrowRight;
3722
+ const usernameArrowWidth = usernameArrowRight - usernameArrowLeft;
3723
+ const usernameArrowHeight = usernameArrowBottom - usernameArrowTop;
3724
+ elements.push({
3725
+ id: "username-arrow-icon",
3726
+ type: "image",
3727
+ x: usernameArrowLeft,
3728
+ y: usernameArrowTop,
3729
+ width: usernameArrowWidth,
3730
+ height: usernameArrowHeight,
3731
+ zIndex: 30,
3732
+ inputId: ICON_INPUT_IDS.usernameArrow,
3733
+ fit: "fill"
3734
+ });
3652
3735
  return elements;
3653
3736
  }
3654
3737
  function generateFooterIconElements(props) {
@@ -4152,6 +4235,7 @@ function buildImageUrls(props) {
4152
4235
  imageUrls[ICON_INPUT_IDS.video] = (0, import_remotion8.staticFile)("ig-video.png");
4153
4236
  imageUrls[ICON_INPUT_IDS.flag] = (0, import_remotion8.staticFile)("ig-flag.png");
4154
4237
  imageUrls[ICON_INPUT_IDS.battery] = (0, import_remotion8.staticFile)("ig-battery.png");
4238
+ imageUrls[ICON_INPUT_IDS.usernameArrow] = (0, import_remotion8.staticFile)("ig-username-right-arrow.png");
4155
4239
  if (props.profilePicUrl) {
4156
4240
  imageUrls[PROFILE_PIC_INPUT_ID] = props.profilePicUrl;
4157
4241
  }
@@ -4362,8 +4446,24 @@ var defaultInstagramDmProps = {
4362
4446
  batteryRight: 1100,
4363
4447
  // Status bar - Time
4364
4448
  time: "9:41",
4365
- timeRight: 258,
4366
- timeBottom: 116
4449
+ timeRight: 262,
4450
+ timeBottom: 125,
4451
+ timeFontSize: 52,
4452
+ timeLetterSpacing: 1.6,
4453
+ // Header - Sender username
4454
+ senderUsername: "cheatmate_io",
4455
+ usernameLeft: 308,
4456
+ username1Bottom: 264,
4457
+ username1FontSize: 52,
4458
+ username1LetterSpacing: 0.8,
4459
+ username2Bottom: 315,
4460
+ username2FontSize: 48,
4461
+ username2LetterSpacing: 0.8,
4462
+ // Header - Username right arrow icon
4463
+ usernameArrowTop: 231,
4464
+ usernameArrowBottom: 260,
4465
+ usernameArrowLeft: 619,
4466
+ usernameArrowRight: 635
4367
4467
  };
4368
4468
  function InstagramDmComposition(props) {
4369
4469
  const {
@@ -5734,8 +5834,24 @@ var instagramDmSchema = import_zod.z.object({
5734
5834
  batteryRight: import_zod.z.number().optional().default(1100).describe("Battery icon right X"),
5735
5835
  // Status bar - Time display
5736
5836
  time: import_zod.z.string().optional().default("9:41").describe("Time string to display"),
5737
- timeRight: import_zod.z.number().optional().default(258).describe("Time text right X (right-aligned)"),
5738
- timeBottom: import_zod.z.number().optional().default(116).describe("Time text bottom Y")
5837
+ timeRight: import_zod.z.number().optional().default(262).describe("Time text right X (right-aligned)"),
5838
+ timeBottom: import_zod.z.number().optional().default(125).describe("Time text bottom Y"),
5839
+ timeFontSize: import_zod.z.number().optional().default(52).describe("Time font size"),
5840
+ timeLetterSpacing: import_zod.z.number().optional().default(1.6).describe("Time letter spacing"),
5841
+ // Header - Sender username (shown in two places)
5842
+ senderUsername: import_zod.z.string().optional().default("cheatmate_io").describe("Sender username"),
5843
+ usernameLeft: import_zod.z.number().optional().default(308).describe("Username left X"),
5844
+ username1Bottom: import_zod.z.number().optional().default(264).describe("Username 1 bottom Y (bold)"),
5845
+ username1FontSize: import_zod.z.number().optional().default(52).describe("Username 1 font size"),
5846
+ username1LetterSpacing: import_zod.z.number().optional().default(0.8).describe("Username 1 letter spacing"),
5847
+ username2Bottom: import_zod.z.number().optional().default(315).describe("Username 2 bottom Y"),
5848
+ username2FontSize: import_zod.z.number().optional().default(48).describe("Username 2 font size"),
5849
+ username2LetterSpacing: import_zod.z.number().optional().default(0.8).describe("Username 2 letter spacing"),
5850
+ // Header - Username right arrow icon
5851
+ usernameArrowTop: import_zod.z.number().optional().default(231).describe("Username arrow top Y"),
5852
+ usernameArrowBottom: import_zod.z.number().optional().default(260).describe("Username arrow bottom Y"),
5853
+ usernameArrowLeft: import_zod.z.number().optional().default(619).describe("Username arrow left X"),
5854
+ usernameArrowRight: import_zod.z.number().optional().default(635).describe("Username arrow right X")
5739
5855
  });
5740
5856
  var ImageComp = ImageEditorComposition;
5741
5857
  var VideoComp = VideoEditorComposition;
package/dist/index.mjs CHANGED
@@ -2506,7 +2506,8 @@ var ICON_INPUT_IDS = {
2506
2506
  phone: "ig-phone",
2507
2507
  video: "ig-video",
2508
2508
  flag: "ig-flag",
2509
- battery: "ig-battery"
2509
+ battery: "ig-battery",
2510
+ usernameArrow: "ig-username-right-arrow"
2510
2511
  };
2511
2512
  var USER_PFP_INPUT_ID = "user-pfp";
2512
2513
  var HEADER_DEFAULTS = {
@@ -2550,8 +2551,24 @@ var HEADER_DEFAULTS = {
2550
2551
  batteryRight: 1100,
2551
2552
  // Time display
2552
2553
  time: "9:41",
2553
- timeRight: 258,
2554
- timeBottom: 116
2554
+ timeRight: 262,
2555
+ timeBottom: 125,
2556
+ timeFontSize: 52,
2557
+ timeLetterSpacing: 1.6,
2558
+ // Sender username
2559
+ senderUsername: "cheatmate_io",
2560
+ usernameLeft: 308,
2561
+ username1Bottom: 264,
2562
+ username1FontSize: 52,
2563
+ username1LetterSpacing: 0.8,
2564
+ username2Bottom: 315,
2565
+ username2FontSize: 48,
2566
+ username2LetterSpacing: 0.8,
2567
+ // Username right arrow icon
2568
+ usernameArrowTop: 231,
2569
+ usernameArrowBottom: 260,
2570
+ usernameArrowLeft: 619,
2571
+ usernameArrowRight: 635
2555
2572
  };
2556
2573
  function generateHeaderElements(props) {
2557
2574
  const elements = [];
@@ -2698,7 +2715,8 @@ function generateHeaderElements(props) {
2698
2715
  const time = props.time ?? HEADER_DEFAULTS.time;
2699
2716
  const timeRight = props.timeRight ?? HEADER_DEFAULTS.timeRight;
2700
2717
  const timeBottom = props.timeBottom ?? HEADER_DEFAULTS.timeBottom;
2701
- const timeFontSize = props.messageFontSize ?? MESSAGE_DEFAULTS.messageFontSize;
2718
+ const timeFontSize = props.timeFontSize ?? HEADER_DEFAULTS.timeFontSize;
2719
+ const timeLetterSpacing = props.timeLetterSpacing ?? HEADER_DEFAULTS.timeLetterSpacing;
2702
2720
  const timeColor = props.bubbleTextColor ?? MESSAGE_DEFAULTS.bubbleTextColor;
2703
2721
  const timeHeight = timeFontSize;
2704
2722
  const timeTop = timeBottom - timeHeight;
@@ -2715,9 +2733,74 @@ function generateHeaderElements(props) {
2715
2733
  fontSize: timeFontSize,
2716
2734
  fontWeight: "semibold",
2717
2735
  color: timeColor,
2736
+ letterSpacing: timeLetterSpacing,
2718
2737
  textAlign: "right",
2719
2738
  verticalAlign: "middle"
2720
2739
  });
2740
+ const senderUsername = props.senderUsername ?? HEADER_DEFAULTS.senderUsername;
2741
+ const usernameLeft = props.usernameLeft ?? HEADER_DEFAULTS.usernameLeft;
2742
+ const username1Bottom = props.username1Bottom ?? HEADER_DEFAULTS.username1Bottom;
2743
+ const username1FontSize = props.username1FontSize ?? HEADER_DEFAULTS.username1FontSize;
2744
+ const username1LetterSpacing = props.username1LetterSpacing ?? HEADER_DEFAULTS.username1LetterSpacing;
2745
+ const username2Bottom = props.username2Bottom ?? HEADER_DEFAULTS.username2Bottom;
2746
+ const username2FontSize = props.username2FontSize ?? HEADER_DEFAULTS.username2FontSize;
2747
+ const username2LetterSpacing = props.username2LetterSpacing ?? HEADER_DEFAULTS.username2LetterSpacing;
2748
+ const truncatedUsername = senderUsername.length > 9 ? senderUsername.substring(0, 9) + "..." : senderUsername;
2749
+ const username1Height = username1FontSize;
2750
+ const username1Top = username1Bottom - username1Height;
2751
+ elements.push({
2752
+ id: "username-1",
2753
+ type: "text",
2754
+ x: usernameLeft,
2755
+ y: username1Top,
2756
+ width: 400,
2757
+ height: username1Height,
2758
+ zIndex: 30,
2759
+ text: truncatedUsername,
2760
+ font: "apple",
2761
+ fontSize: username1FontSize,
2762
+ fontWeight: "bold",
2763
+ color: "#fafafa",
2764
+ letterSpacing: username1LetterSpacing,
2765
+ textAlign: "left",
2766
+ verticalAlign: "middle"
2767
+ });
2768
+ const username2Height = username2FontSize;
2769
+ const username2Top = username2Bottom - username2Height;
2770
+ elements.push({
2771
+ id: "username-2",
2772
+ type: "text",
2773
+ x: usernameLeft,
2774
+ y: username2Top,
2775
+ width: 400,
2776
+ height: username2Height,
2777
+ zIndex: 30,
2778
+ text: truncatedUsername,
2779
+ font: "apple",
2780
+ fontSize: username2FontSize,
2781
+ fontWeight: "normal",
2782
+ color: "#a6afb6",
2783
+ letterSpacing: username2LetterSpacing,
2784
+ textAlign: "left",
2785
+ verticalAlign: "middle"
2786
+ });
2787
+ const usernameArrowTop = props.usernameArrowTop ?? HEADER_DEFAULTS.usernameArrowTop;
2788
+ const usernameArrowBottom = props.usernameArrowBottom ?? HEADER_DEFAULTS.usernameArrowBottom;
2789
+ const usernameArrowLeft = props.usernameArrowLeft ?? HEADER_DEFAULTS.usernameArrowLeft;
2790
+ const usernameArrowRight = props.usernameArrowRight ?? HEADER_DEFAULTS.usernameArrowRight;
2791
+ const usernameArrowWidth = usernameArrowRight - usernameArrowLeft;
2792
+ const usernameArrowHeight = usernameArrowBottom - usernameArrowTop;
2793
+ elements.push({
2794
+ id: "username-arrow-icon",
2795
+ type: "image",
2796
+ x: usernameArrowLeft,
2797
+ y: usernameArrowTop,
2798
+ width: usernameArrowWidth,
2799
+ height: usernameArrowHeight,
2800
+ zIndex: 30,
2801
+ inputId: ICON_INPUT_IDS.usernameArrow,
2802
+ fit: "fill"
2803
+ });
2721
2804
  return elements;
2722
2805
  }
2723
2806
  function generateFooterIconElements(props) {
@@ -3221,6 +3304,7 @@ function buildImageUrls(props) {
3221
3304
  imageUrls[ICON_INPUT_IDS.video] = staticFile("ig-video.png");
3222
3305
  imageUrls[ICON_INPUT_IDS.flag] = staticFile("ig-flag.png");
3223
3306
  imageUrls[ICON_INPUT_IDS.battery] = staticFile("ig-battery.png");
3307
+ imageUrls[ICON_INPUT_IDS.usernameArrow] = staticFile("ig-username-right-arrow.png");
3224
3308
  if (props.profilePicUrl) {
3225
3309
  imageUrls[PROFILE_PIC_INPUT_ID] = props.profilePicUrl;
3226
3310
  }
@@ -3431,8 +3515,24 @@ var defaultInstagramDmProps = {
3431
3515
  batteryRight: 1100,
3432
3516
  // Status bar - Time
3433
3517
  time: "9:41",
3434
- timeRight: 258,
3435
- timeBottom: 116
3518
+ timeRight: 262,
3519
+ timeBottom: 125,
3520
+ timeFontSize: 52,
3521
+ timeLetterSpacing: 1.6,
3522
+ // Header - Sender username
3523
+ senderUsername: "cheatmate_io",
3524
+ usernameLeft: 308,
3525
+ username1Bottom: 264,
3526
+ username1FontSize: 52,
3527
+ username1LetterSpacing: 0.8,
3528
+ username2Bottom: 315,
3529
+ username2FontSize: 48,
3530
+ username2LetterSpacing: 0.8,
3531
+ // Header - Username right arrow icon
3532
+ usernameArrowTop: 231,
3533
+ usernameArrowBottom: 260,
3534
+ usernameArrowLeft: 619,
3535
+ usernameArrowRight: 635
3436
3536
  };
3437
3537
  function InstagramDmComposition(props) {
3438
3538
  const {
@@ -4520,8 +4620,24 @@ var instagramDmSchema = z.object({
4520
4620
  batteryRight: z.number().optional().default(1100).describe("Battery icon right X"),
4521
4621
  // Status bar - Time display
4522
4622
  time: z.string().optional().default("9:41").describe("Time string to display"),
4523
- timeRight: z.number().optional().default(258).describe("Time text right X (right-aligned)"),
4524
- timeBottom: z.number().optional().default(116).describe("Time text bottom Y")
4623
+ timeRight: z.number().optional().default(262).describe("Time text right X (right-aligned)"),
4624
+ timeBottom: z.number().optional().default(125).describe("Time text bottom Y"),
4625
+ timeFontSize: z.number().optional().default(52).describe("Time font size"),
4626
+ timeLetterSpacing: z.number().optional().default(1.6).describe("Time letter spacing"),
4627
+ // Header - Sender username (shown in two places)
4628
+ senderUsername: z.string().optional().default("cheatmate_io").describe("Sender username"),
4629
+ usernameLeft: z.number().optional().default(308).describe("Username left X"),
4630
+ username1Bottom: z.number().optional().default(264).describe("Username 1 bottom Y (bold)"),
4631
+ username1FontSize: z.number().optional().default(52).describe("Username 1 font size"),
4632
+ username1LetterSpacing: z.number().optional().default(0.8).describe("Username 1 letter spacing"),
4633
+ username2Bottom: z.number().optional().default(315).describe("Username 2 bottom Y"),
4634
+ username2FontSize: z.number().optional().default(48).describe("Username 2 font size"),
4635
+ username2LetterSpacing: z.number().optional().default(0.8).describe("Username 2 letter spacing"),
4636
+ // Header - Username right arrow icon
4637
+ usernameArrowTop: z.number().optional().default(231).describe("Username arrow top Y"),
4638
+ usernameArrowBottom: z.number().optional().default(260).describe("Username arrow bottom Y"),
4639
+ usernameArrowLeft: z.number().optional().default(619).describe("Username arrow left X"),
4640
+ usernameArrowRight: z.number().optional().default(635).describe("Username arrow right X")
4525
4641
  });
4526
4642
  var ImageComp = ImageEditorComposition;
4527
4643
  var VideoComp = VideoEditorComposition;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugcinc-render",
3
- "version": "1.8.131",
3
+ "version": "1.8.133",
4
4
  "description": "Unified rendering package for UGC Inc - shared types, components, and compositions for pixel-perfect client/server rendering",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",