jbilcke-hf HF staff commited on
Commit
1f1caeb
1 Parent(s): c5b101c

improvements

Browse files
package-lock.json CHANGED
@@ -9,6 +9,8 @@
9
  "version": "0.0.0",
10
  "dependencies": {
11
  "@huggingface/inference": "^2.6.4",
 
 
12
  "@radix-ui/react-accordion": "^1.1.2",
13
  "@radix-ui/react-avatar": "^1.0.3",
14
  "@radix-ui/react-checkbox": "^1.0.4",
@@ -44,6 +46,7 @@
44
  "lucide-react": "^0.260.0",
45
  "markdown-yaml-metadata-parser": "^3.0.0",
46
  "next": "^14.0.4",
 
47
  "pick": "^0.0.1",
48
  "postcss": "8.4.26",
49
  "qs": "^6.11.2",
@@ -52,10 +55,12 @@
52
  "react-copy-to-clipboard": "^5.1.0",
53
  "react-dom": "18.2.0",
54
  "react-icons": "^4.12.0",
 
55
  "react-smooth-scroll-hook": "^1.3.4",
56
  "react-string-avatar": "^1.2.2",
57
  "react-tuby": "^0.1.24",
58
  "react-virtualized-auto-sizer": "^1.0.20",
 
59
  "replicate": "^0.17.0",
60
  "sbd": "^1.0.19",
61
  "sentence-splitter": "^4.3.0",
@@ -496,6 +501,158 @@
496
  "node": ">= 8"
497
  }
498
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
499
  "node_modules/@radix-ui/number": {
500
  "version": "1.0.1",
501
  "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz",
@@ -3728,6 +3885,11 @@
3728
  "node": ">=0.10.0"
3729
  }
3730
  },
 
 
 
 
 
3731
  "node_modules/expand-template": {
3732
  "version": "2.0.3",
3733
  "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
@@ -5244,6 +5406,15 @@
5244
  "node": ">=8"
5245
  }
5246
  },
 
 
 
 
 
 
 
 
 
5247
  "node_modules/pick": {
5248
  "version": "0.0.1",
5249
  "resolved": "https://registry.npmjs.org/pick/-/pick-0.0.1.tgz",
@@ -5624,6 +5795,74 @@
5624
  "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
5625
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
5626
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5627
  "node_modules/react-remove-scroll": {
5628
  "version": "2.5.5",
5629
  "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
@@ -5732,6 +5971,18 @@
5732
  "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc"
5733
  }
5734
  },
 
 
 
 
 
 
 
 
 
 
 
 
5735
  "node_modules/read-cache": {
5736
  "version": "1.0.0",
5737
  "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -6534,6 +6785,12 @@
6534
  "node": ">=0.8"
6535
  }
6536
  },
 
 
 
 
 
 
6537
  "node_modules/to-regex-range": {
6538
  "version": "5.0.1",
6539
  "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
 
9
  "version": "0.0.0",
10
  "dependencies": {
11
  "@huggingface/inference": "^2.6.4",
12
+ "@photo-sphere-viewer/core": "^5.5.1",
13
+ "@photo-sphere-viewer/video-plugin": "^5.5.1",
14
  "@radix-ui/react-accordion": "^1.1.2",
15
  "@radix-ui/react-avatar": "^1.0.3",
16
  "@radix-ui/react-checkbox": "^1.0.4",
 
46
  "lucide-react": "^0.260.0",
47
  "markdown-yaml-metadata-parser": "^3.0.0",
48
  "next": "^14.0.4",
49
+ "photo-sphere-viewer-lensflare-plugin": "^2.0.1",
50
  "pick": "^0.0.1",
51
  "postcss": "8.4.26",
52
  "qs": "^6.11.2",
 
55
  "react-copy-to-clipboard": "^5.1.0",
56
  "react-dom": "18.2.0",
57
  "react-icons": "^4.12.0",
58
+ "react-photo-sphere-viewer": "^4.0.2-psv5.4.4",
59
  "react-smooth-scroll-hook": "^1.3.4",
60
  "react-string-avatar": "^1.2.2",
61
  "react-tuby": "^0.1.24",
62
  "react-virtualized-auto-sizer": "^1.0.20",
63
+ "react-window-infinite-loader": "^1.0.9",
64
  "replicate": "^0.17.0",
65
  "sbd": "^1.0.19",
66
  "sentence-splitter": "^4.3.0",
 
501
  "node": ">= 8"
502
  }
503
  },
504
+ "node_modules/@photo-sphere-viewer/autorotate-plugin": {
505
+ "version": "5.5.1",
506
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/autorotate-plugin/-/autorotate-plugin-5.5.1.tgz",
507
+ "integrity": "sha512-ZU20ZYaa5VPNg3J+wh9GwS/yZxD9r+XPCE90FiekYnDyJ2wE3ckQ5m7h+BEvH4Hpb3rX0NVzyZl4iA9kubuxhQ==",
508
+ "peerDependencies": {
509
+ "@photo-sphere-viewer/core": "5.5.1"
510
+ }
511
+ },
512
+ "node_modules/@photo-sphere-viewer/compass-plugin": {
513
+ "version": "5.5.1",
514
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/compass-plugin/-/compass-plugin-5.5.1.tgz",
515
+ "integrity": "sha512-tI5wKcVWwvebH2loI1C9B5CwR++Oz7yzODpGRhkjWADw2LLqjap0rJxiheYl6AiL+tHCWl4pIJ8lss6frZ1vkA==",
516
+ "peerDependencies": {
517
+ "@photo-sphere-viewer/core": "5.5.1"
518
+ }
519
+ },
520
+ "node_modules/@photo-sphere-viewer/core": {
521
+ "version": "5.5.1",
522
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/core/-/core-5.5.1.tgz",
523
+ "integrity": "sha512-dddxySM0retvsO7cDa0lJ0oviGpSYZV9vJLqv126YoYnZZhL9fFOjkmJP+GSMLU6AU8pZIVuiVZ1TSWJaZcGrg==",
524
+ "dependencies": {
525
+ "three": "^0.159.0"
526
+ }
527
+ },
528
+ "node_modules/@photo-sphere-viewer/core/node_modules/three": {
529
+ "version": "0.159.0",
530
+ "resolved": "https://registry.npmjs.org/three/-/three-0.159.0.tgz",
531
+ "integrity": "sha512-eCmhlLGbBgucuo4VEA9IO3Qpc7dh8Bd4VKzr7WfW4+8hMcIfoAVi1ev0pJYN9PTTsCslbcKgBwr2wNZ1EvLInA=="
532
+ },
533
+ "node_modules/@photo-sphere-viewer/cubemap-adapter": {
534
+ "version": "5.5.1",
535
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/cubemap-adapter/-/cubemap-adapter-5.5.1.tgz",
536
+ "integrity": "sha512-5K8UwrSlUR6EVFOoCxbZeLJXSJ40fgtTQ6Kj2ltZ++y9r9I6vkvtqTUCRnZs9yaYezcbCXbuppebLKSWhodZtA==",
537
+ "peerDependencies": {
538
+ "@photo-sphere-viewer/core": "5.5.1"
539
+ }
540
+ },
541
+ "node_modules/@photo-sphere-viewer/cubemap-tiles-adapter": {
542
+ "version": "5.5.1",
543
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/cubemap-tiles-adapter/-/cubemap-tiles-adapter-5.5.1.tgz",
544
+ "integrity": "sha512-NEt4GYGo8ZlnV1rCe4KWtZLPbcxQHlEjqnOUn1Laf1aGcxo64WWHoFaeDkAHR9aky+VJS6tJXbl4HFCtaqdp1g==",
545
+ "peerDependencies": {
546
+ "@photo-sphere-viewer/core": "5.5.1",
547
+ "@photo-sphere-viewer/cubemap-adapter": "5.5.1"
548
+ }
549
+ },
550
+ "node_modules/@photo-sphere-viewer/cubemap-video-adapter": {
551
+ "version": "5.5.1",
552
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/cubemap-video-adapter/-/cubemap-video-adapter-5.5.1.tgz",
553
+ "integrity": "sha512-YnASpozLY+8Wjud8f0+3XG8zGfTtdFSFjWja8pPpTl23gVukpBlKElrEargNrOznGW1TXvGoNXE34r4/OLJjeg==",
554
+ "peerDependencies": {
555
+ "@photo-sphere-viewer/core": "5.5.1"
556
+ }
557
+ },
558
+ "node_modules/@photo-sphere-viewer/equirectangular-tiles-adapter": {
559
+ "version": "5.5.1",
560
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/equirectangular-tiles-adapter/-/equirectangular-tiles-adapter-5.5.1.tgz",
561
+ "integrity": "sha512-Uf88wdMHlXTCl8zLnwdRPS8HgaofK6EJyARXew/smJ4mR/0VUt9RWRE/8K9LrLhh01OYDEK7eo6sNXOhWsddLw==",
562
+ "peerDependencies": {
563
+ "@photo-sphere-viewer/core": "5.5.1"
564
+ }
565
+ },
566
+ "node_modules/@photo-sphere-viewer/equirectangular-video-adapter": {
567
+ "version": "5.5.1",
568
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/equirectangular-video-adapter/-/equirectangular-video-adapter-5.5.1.tgz",
569
+ "integrity": "sha512-Obh3n9K00d8NiRWPaOQLNI31iW32k8wrc9ANVUNxVSIzDt8Hkd/qBBV7VZoQtuELiFK+EPz+61h1uisckf50lQ==",
570
+ "peerDependencies": {
571
+ "@photo-sphere-viewer/core": "5.5.1"
572
+ }
573
+ },
574
+ "node_modules/@photo-sphere-viewer/gallery-plugin": {
575
+ "version": "5.5.1",
576
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/gallery-plugin/-/gallery-plugin-5.5.1.tgz",
577
+ "integrity": "sha512-J+Futd4VSFmAU1kw7a9zBZi1GUZT5lGTf/mHmGdOZSX0+/hLY0txCJhD909aoFZYqC4JRczRWAgW5aIpdvfV+A==",
578
+ "peerDependencies": {
579
+ "@photo-sphere-viewer/core": "5.5.1"
580
+ }
581
+ },
582
+ "node_modules/@photo-sphere-viewer/gyroscope-plugin": {
583
+ "version": "5.5.1",
584
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/gyroscope-plugin/-/gyroscope-plugin-5.5.1.tgz",
585
+ "integrity": "sha512-hgOzHHZyiM00/+5n3i386lI/Hf5dg4HCLpgxxeHP2eusieUI9JQIv4XNXWhzTq+OTdv1bwEj3wWXH65b+JuT/Q==",
586
+ "peerDependencies": {
587
+ "@photo-sphere-viewer/core": "5.5.1"
588
+ }
589
+ },
590
+ "node_modules/@photo-sphere-viewer/map-plugin": {
591
+ "version": "5.5.1",
592
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/map-plugin/-/map-plugin-5.5.1.tgz",
593
+ "integrity": "sha512-Wbaco0/RvLOeq6u4FqzuEIsOY/gV2kzOTUnrYSVoGiP6opNfDT62Bd4F+MpUq+FjazI6uoXcfrbuz6SrZi7Nmg==",
594
+ "peerDependencies": {
595
+ "@photo-sphere-viewer/core": "5.5.1"
596
+ }
597
+ },
598
+ "node_modules/@photo-sphere-viewer/markers-plugin": {
599
+ "version": "5.5.1",
600
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/markers-plugin/-/markers-plugin-5.5.1.tgz",
601
+ "integrity": "sha512-PnhmBplFFlT6CX4wz0qleGAHWOeZb+YmUCpOk/+zstUxf8Opf+XmXTZdk3M3bu/NmCe6DhkbyRl6f8aXDMQhhA==",
602
+ "peerDependencies": {
603
+ "@photo-sphere-viewer/core": "5.5.1"
604
+ }
605
+ },
606
+ "node_modules/@photo-sphere-viewer/resolution-plugin": {
607
+ "version": "5.5.1",
608
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/resolution-plugin/-/resolution-plugin-5.5.1.tgz",
609
+ "integrity": "sha512-pa+mVfkfQ7AuypYNdHG8pFk9+bcn3GJpq1JMfcMwurKUVi4XbLxQCOb2yq7owZP/IEpp82L1cvV4o8cFIV+8Eg==",
610
+ "peerDependencies": {
611
+ "@photo-sphere-viewer/core": "5.5.1",
612
+ "@photo-sphere-viewer/settings-plugin": "5.5.1"
613
+ }
614
+ },
615
+ "node_modules/@photo-sphere-viewer/settings-plugin": {
616
+ "version": "5.5.1",
617
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/settings-plugin/-/settings-plugin-5.5.1.tgz",
618
+ "integrity": "sha512-M5FAdwBuPn7INW0q7MnYRscQMFJMlNb2yR1vyjyq5mmTsghnclsCPq+ghkFJ3n7aIsrwObxndbPtB1RvrA4Xbw==",
619
+ "peerDependencies": {
620
+ "@photo-sphere-viewer/core": "5.5.1"
621
+ }
622
+ },
623
+ "node_modules/@photo-sphere-viewer/stereo-plugin": {
624
+ "version": "5.5.1",
625
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/stereo-plugin/-/stereo-plugin-5.5.1.tgz",
626
+ "integrity": "sha512-WSoi1i5JabGG7j+xTHXEE7S/AFY4xEM28EdwgJgPz+/S3xba7ouXWhOKCBE+Vjrka+mv0uwasaqRvFfzJrRJ0Q==",
627
+ "peerDependencies": {
628
+ "@photo-sphere-viewer/core": "5.5.1",
629
+ "@photo-sphere-viewer/gyroscope-plugin": "5.5.1"
630
+ }
631
+ },
632
+ "node_modules/@photo-sphere-viewer/video-plugin": {
633
+ "version": "5.5.1",
634
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/video-plugin/-/video-plugin-5.5.1.tgz",
635
+ "integrity": "sha512-sPxLWrwFnfj13XkxP+gCucagDDN0ZnYqUmrKpHe4aiAiwwiJIAdsllm7eq1e9dzYJoPk4tQuk9rJAuHseEbcsg==",
636
+ "peerDependencies": {
637
+ "@photo-sphere-viewer/core": "5.5.1"
638
+ }
639
+ },
640
+ "node_modules/@photo-sphere-viewer/virtual-tour-plugin": {
641
+ "version": "5.5.1",
642
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/virtual-tour-plugin/-/virtual-tour-plugin-5.5.1.tgz",
643
+ "integrity": "sha512-1qnp8XBCb26WlVnR/8kalqIeGgC3+ioBOZGxPJ2pu88QUBfb6UHYub4lLdslvTVd0eaMrV4KamTtweoxLRfTjg==",
644
+ "peerDependencies": {
645
+ "@photo-sphere-viewer/core": "5.5.1"
646
+ }
647
+ },
648
+ "node_modules/@photo-sphere-viewer/visible-range-plugin": {
649
+ "version": "5.5.1",
650
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/visible-range-plugin/-/visible-range-plugin-5.5.1.tgz",
651
+ "integrity": "sha512-Kt2zE99cHLdY0AjYVdmQjD0bQJj1MuSCz/J+2EFInA5O8xeanSjmTKOlaCoXuJPP8Q4j1e5gaY4/gguLjQ5P9w==",
652
+ "peerDependencies": {
653
+ "@photo-sphere-viewer/core": "5.5.1"
654
+ }
655
+ },
656
  "node_modules/@radix-ui/number": {
657
  "version": "1.0.1",
658
  "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz",
 
3885
  "node": ">=0.10.0"
3886
  }
3887
  },
3888
+ "node_modules/eventemitter3": {
3889
+ "version": "5.0.1",
3890
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
3891
+ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="
3892
+ },
3893
  "node_modules/expand-template": {
3894
  "version": "2.0.3",
3895
  "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
 
5406
  "node": ">=8"
5407
  }
5408
  },
5409
+ "node_modules/photo-sphere-viewer-lensflare-plugin": {
5410
+ "version": "2.0.1",
5411
+ "resolved": "https://registry.npmjs.org/photo-sphere-viewer-lensflare-plugin/-/photo-sphere-viewer-lensflare-plugin-2.0.1.tgz",
5412
+ "integrity": "sha512-tF5uM/J0yOyYobTvcqPyClBXfdZbqfycBShZ8YSJDfjoi4co/y6gwsuN3XYvVKJz4GzfoY/t1BGQy/E0tLnMEA==",
5413
+ "peerDependencies": {
5414
+ "@photo-sphere-viewer/core": "^5.4.4",
5415
+ "three": "^0.158.0"
5416
+ }
5417
+ },
5418
  "node_modules/pick": {
5419
  "version": "0.0.1",
5420
  "resolved": "https://registry.npmjs.org/pick/-/pick-0.0.1.tgz",
 
5795
  "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
5796
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
5797
  },
5798
+ "node_modules/react-photo-sphere-viewer": {
5799
+ "version": "4.0.2-psv5.4.4",
5800
+ "resolved": "https://registry.npmjs.org/react-photo-sphere-viewer/-/react-photo-sphere-viewer-4.0.2-psv5.4.4.tgz",
5801
+ "integrity": "sha512-OYjbatB58IUO1msgh/1TL1iJeEoZxPswUrvOGYsUL5a4PeOJ0fDvqbVuYA1ZhXYwhRM2mH/M1JPFpc4gB81drA==",
5802
+ "dependencies": {
5803
+ "@photo-sphere-viewer/autorotate-plugin": "^5.4.4",
5804
+ "@photo-sphere-viewer/compass-plugin": "^5.4.4",
5805
+ "@photo-sphere-viewer/core": "^5.4.4",
5806
+ "@photo-sphere-viewer/cubemap-adapter": "^5.4.4",
5807
+ "@photo-sphere-viewer/cubemap-tiles-adapter": "^5.4.4",
5808
+ "@photo-sphere-viewer/cubemap-video-adapter": "^5.4.4",
5809
+ "@photo-sphere-viewer/equirectangular-tiles-adapter": "^5.4.4",
5810
+ "@photo-sphere-viewer/equirectangular-video-adapter": "^5.4.4",
5811
+ "@photo-sphere-viewer/gallery-plugin": "^5.4.4",
5812
+ "@photo-sphere-viewer/gyroscope-plugin": "^5.4.4",
5813
+ "@photo-sphere-viewer/map-plugin": "^5.4.4",
5814
+ "@photo-sphere-viewer/markers-plugin": "^5.4.4",
5815
+ "@photo-sphere-viewer/resolution-plugin": "^5.4.4",
5816
+ "@photo-sphere-viewer/settings-plugin": "^5.4.4",
5817
+ "@photo-sphere-viewer/stereo-plugin": "^5.4.4",
5818
+ "@photo-sphere-viewer/video-plugin": "^5.4.4",
5819
+ "@photo-sphere-viewer/virtual-tour-plugin": "^5.4.4",
5820
+ "@photo-sphere-viewer/visible-range-plugin": "^5.4.4",
5821
+ "autoprefixer": "^10.4.16",
5822
+ "eventemitter3": "^5.0.1",
5823
+ "photo-sphere-viewer-lensflare-plugin": "^2.0.0"
5824
+ },
5825
+ "engines": {
5826
+ "node": ">=8",
5827
+ "npm": ">=5"
5828
+ }
5829
+ },
5830
+ "node_modules/react-photo-sphere-viewer/node_modules/autoprefixer": {
5831
+ "version": "10.4.16",
5832
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
5833
+ "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==",
5834
+ "funding": [
5835
+ {
5836
+ "type": "opencollective",
5837
+ "url": "https://opencollective.com/postcss/"
5838
+ },
5839
+ {
5840
+ "type": "tidelift",
5841
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
5842
+ },
5843
+ {
5844
+ "type": "github",
5845
+ "url": "https://github.com/sponsors/ai"
5846
+ }
5847
+ ],
5848
+ "dependencies": {
5849
+ "browserslist": "^4.21.10",
5850
+ "caniuse-lite": "^1.0.30001538",
5851
+ "fraction.js": "^4.3.6",
5852
+ "normalize-range": "^0.1.2",
5853
+ "picocolors": "^1.0.0",
5854
+ "postcss-value-parser": "^4.2.0"
5855
+ },
5856
+ "bin": {
5857
+ "autoprefixer": "bin/autoprefixer"
5858
+ },
5859
+ "engines": {
5860
+ "node": "^10 || ^12 || >=14"
5861
+ },
5862
+ "peerDependencies": {
5863
+ "postcss": "^8.1.0"
5864
+ }
5865
+ },
5866
  "node_modules/react-remove-scroll": {
5867
  "version": "2.5.5",
5868
  "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
 
5971
  "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc"
5972
  }
5973
  },
5974
+ "node_modules/react-window-infinite-loader": {
5975
+ "version": "1.0.9",
5976
+ "resolved": "https://registry.npmjs.org/react-window-infinite-loader/-/react-window-infinite-loader-1.0.9.tgz",
5977
+ "integrity": "sha512-5Hg89IdU4Vrp0RT8kZYKeTIxWZYhNkVXeI1HbKo01Vm/Z7qztDvXljwx16sMzsa9yapRJQW3ODZfMUw38SOWHw==",
5978
+ "engines": {
5979
+ "node": ">8.0.0"
5980
+ },
5981
+ "peerDependencies": {
5982
+ "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0",
5983
+ "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0"
5984
+ }
5985
+ },
5986
  "node_modules/read-cache": {
5987
  "version": "1.0.0",
5988
  "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
 
6785
  "node": ">=0.8"
6786
  }
6787
  },
6788
+ "node_modules/three": {
6789
+ "version": "0.158.0",
6790
+ "resolved": "https://registry.npmjs.org/three/-/three-0.158.0.tgz",
6791
+ "integrity": "sha512-TALj4EOpdDPF1henk2Q+s17K61uEAAWQ7TJB68nr7FKxqwyDr3msOt5IWdbGm4TaWKjrtWS8DJJWe9JnvsWOhQ==",
6792
+ "peer": true
6793
+ },
6794
  "node_modules/to-regex-range": {
6795
  "version": "5.0.1",
6796
  "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
package.json CHANGED
@@ -10,6 +10,8 @@
10
  },
11
  "dependencies": {
12
  "@huggingface/inference": "^2.6.4",
 
 
13
  "@radix-ui/react-accordion": "^1.1.2",
14
  "@radix-ui/react-avatar": "^1.0.3",
15
  "@radix-ui/react-checkbox": "^1.0.4",
@@ -45,6 +47,7 @@
45
  "lucide-react": "^0.260.0",
46
  "markdown-yaml-metadata-parser": "^3.0.0",
47
  "next": "^14.0.4",
 
48
  "pick": "^0.0.1",
49
  "postcss": "8.4.26",
50
  "qs": "^6.11.2",
@@ -53,10 +56,12 @@
53
  "react-copy-to-clipboard": "^5.1.0",
54
  "react-dom": "18.2.0",
55
  "react-icons": "^4.12.0",
 
56
  "react-smooth-scroll-hook": "^1.3.4",
57
  "react-string-avatar": "^1.2.2",
58
  "react-tuby": "^0.1.24",
59
  "react-virtualized-auto-sizer": "^1.0.20",
 
60
  "replicate": "^0.17.0",
61
  "sbd": "^1.0.19",
62
  "sentence-splitter": "^4.3.0",
 
10
  },
11
  "dependencies": {
12
  "@huggingface/inference": "^2.6.4",
13
+ "@photo-sphere-viewer/core": "^5.5.1",
14
+ "@photo-sphere-viewer/video-plugin": "^5.5.1",
15
  "@radix-ui/react-accordion": "^1.1.2",
16
  "@radix-ui/react-avatar": "^1.0.3",
17
  "@radix-ui/react-checkbox": "^1.0.4",
 
47
  "lucide-react": "^0.260.0",
48
  "markdown-yaml-metadata-parser": "^3.0.0",
49
  "next": "^14.0.4",
50
+ "photo-sphere-viewer-lensflare-plugin": "^2.0.1",
51
  "pick": "^0.0.1",
52
  "postcss": "8.4.26",
53
  "qs": "^6.11.2",
 
56
  "react-copy-to-clipboard": "^5.1.0",
57
  "react-dom": "18.2.0",
58
  "react-icons": "^4.12.0",
59
+ "react-photo-sphere-viewer": "^4.0.2-psv5.4.4",
60
  "react-smooth-scroll-hook": "^1.3.4",
61
  "react-string-avatar": "^1.2.2",
62
  "react-tuby": "^0.1.24",
63
  "react-virtualized-auto-sizer": "^1.0.20",
64
+ "react-window-infinite-loader": "^1.0.9",
65
  "replicate": "^0.17.0",
66
  "sbd": "^1.0.19",
67
  "sentence-splitter": "^4.3.0",
src/app/interface/video-player/equirectangular.tsx CHANGED
@@ -72,7 +72,7 @@ export function EquirectangularVideoPlayer({
72
  // progressbar: true,
73
  bigbutton: false
74
  }],
75
- // SettingsPlugin,
76
  [ResolutionPlugin, {
77
  defaultResolution: 'HD',
78
  resolutions: [
 
72
  // progressbar: true,
73
  bigbutton: false
74
  }],
75
+ SettingsPlugin,
76
  [ResolutionPlugin, {
77
  defaultResolution: 'HD',
78
  resolutions: [
src/app/interface/video-player/index.tsx CHANGED
@@ -23,6 +23,9 @@ export function VideoPlayer({
23
  // we should our video players from misssing data
24
  if (!video?.assetUrl) { return null }
25
 
 
 
 
26
  const isEquirectangular = (
27
  video.projection === "equirectangular" ||
28
  parseProjectionFromLoRA(video.lora) === "equirectangular"
 
23
  // we should our video players from misssing data
24
  if (!video?.assetUrl) { return null }
25
 
26
+ video.assetUrl = "/demo.mp4"
27
+ video.projection = "equirectangular"
28
+
29
  const isEquirectangular = (
30
  video.projection === "equirectangular" ||
31
  parseProjectionFromLoRA(video.lora) === "equirectangular"
src/app/server/actions/ai-tube-hf/getChannelVideos.ts CHANGED
@@ -6,8 +6,7 @@ import { getVideoRequestsFromChannel } from "./getVideoRequestsFromChannel"
6
  import { adminApiKey } from "../config"
7
  import { getVideoIndex } from "./getVideoIndex"
8
  import { extendVideosWithStats } from "./extendVideosWithStats"
9
- import { orientationToWidthHeight } from "../utils/orientationToWidthHeight"
10
- import { parseProjectionFromLoRA } from "../utils/parseProjectionFromLoRA"
11
 
12
  // return
13
  export async function getChannelVideos({
@@ -47,7 +46,6 @@ export async function getChannelVideos({
47
  thumbnailUrl: v.thumbnailUrl,
48
  model: v.model,
49
  lora: v.lora,
50
- projection: parseProjectionFromLoRA(v.lora),
51
  style: v.style,
52
  voice: v.voice,
53
  music: v.music,
@@ -59,8 +57,11 @@ export async function getChannelVideos({
59
  tags: v.tags,
60
  channel,
61
  duration: v.duration || 0,
62
- orientation: v.orientation,
63
- ...orientationToWidthHeight(v.orientation),
 
 
 
64
  }
65
 
66
  if (queued[v.id]) {
 
6
  import { adminApiKey } from "../config"
7
  import { getVideoIndex } from "./getVideoIndex"
8
  import { extendVideosWithStats } from "./extendVideosWithStats"
9
+ import { computeOrientationProjectionWidthHeight } from "../utils/computeOrientationProjectionWidthHeight"
 
10
 
11
  // return
12
  export async function getChannelVideos({
 
46
  thumbnailUrl: v.thumbnailUrl,
47
  model: v.model,
48
  lora: v.lora,
 
49
  style: v.style,
50
  voice: v.voice,
51
  music: v.music,
 
57
  tags: v.tags,
58
  channel,
59
  duration: v.duration || 0,
60
+ ...computeOrientationProjectionWidthHeight({
61
+ lora: v.lora,
62
+ orientation: v.orientation,
63
+ // projection, // <- will be extrapolated from the LoRA for now
64
+ }),
65
  }
66
 
67
  if (queued[v.id]) {
src/app/server/actions/ai-tube-hf/getVideoRequestsFromChannel.ts CHANGED
@@ -6,9 +6,7 @@ import { listFiles } from "@/huggingface/hub/src"
6
  import { parsePromptFileName } from "../utils/parsePromptFileName"
7
  import { downloadFileAsText } from "./downloadFileAsText"
8
  import { parseDatasetPrompt } from "../utils/parseDatasetPrompt"
9
- import { parseVideoModelName } from "../utils/parseVideoModelName"
10
- import { orientationToWidthHeight } from "../utils/orientationToWidthHeight"
11
- import { parseProjectionFromLoRA } from "../utils/parseProjectionFromLoRA"
12
 
13
  /**
14
  * Return all the videos requests created by a user on their channel
@@ -115,9 +113,12 @@ export async function getVideoRequestsFromChannel({
115
  updatedAt: file.lastCommit?.date || new Date().toISOString(),
116
  tags: Array.isArray(tags) && tags.length ? tags : channel.tags,
117
  channel,
118
- orientation,
119
- ...orientationToWidthHeight(orientation),
120
  duration: 0,
 
 
 
 
 
121
  }
122
 
123
  videos[id] = video
 
6
  import { parsePromptFileName } from "../utils/parsePromptFileName"
7
  import { downloadFileAsText } from "./downloadFileAsText"
8
  import { parseDatasetPrompt } from "../utils/parseDatasetPrompt"
9
+ import { computeOrientationProjectionWidthHeight } from "../utils/computeOrientationProjectionWidthHeight"
 
 
10
 
11
  /**
12
  * Return all the videos requests created by a user on their channel
 
113
  updatedAt: file.lastCommit?.date || new Date().toISOString(),
114
  tags: Array.isArray(tags) && tags.length ? tags : channel.tags,
115
  channel,
 
 
116
  duration: 0,
117
+ ...computeOrientationProjectionWidthHeight({
118
+ lora,
119
+ orientation,
120
+ // projection, // <- will be extrapolated from the LoRA for now
121
+ }),
122
  }
123
 
124
  videos[id] = video
src/app/server/actions/ai-tube-hf/uploadVideoRequestToDataset.ts CHANGED
@@ -5,8 +5,7 @@ import { Blob } from "buffer"
5
  import { Credentials, uploadFile, whoAmI } from "@/huggingface/hub/src"
6
  import { ChannelInfo, VideoGenerationModel, VideoInfo, VideoOrientation, VideoRequest } from "@/types"
7
  import { formatPromptFileName } from "../utils/formatPromptFileName"
8
- import { orientationToWidthHeight } from "../utils/orientationToWidthHeight"
9
- import { parseProjectionFromLoRA } from "../utils/parseProjectionFromLoRA"
10
 
11
  /**
12
  * Save the video request to the user's own dataset
@@ -131,7 +130,11 @@ ${prompt}
131
  tags,
132
  channel,
133
  duration: 0,
134
- orientation,
 
 
 
 
135
  }
136
 
137
  const newVideo: VideoInfo = {
@@ -143,7 +146,6 @@ ${prompt}
143
  model,
144
  style,
145
  lora,
146
- projection: parseProjectionFromLoRA(lora),
147
  voice,
148
  music,
149
  thumbnailUrl: channel.thumbnail, // will be generated in async
@@ -155,8 +157,11 @@ ${prompt}
155
  tags,
156
  channel,
157
  duration,
158
- orientation,
159
- ...orientationToWidthHeight(orientation),
 
 
 
160
  }
161
 
162
  return {
 
5
  import { Credentials, uploadFile, whoAmI } from "@/huggingface/hub/src"
6
  import { ChannelInfo, VideoGenerationModel, VideoInfo, VideoOrientation, VideoRequest } from "@/types"
7
  import { formatPromptFileName } from "../utils/formatPromptFileName"
8
+ import { computeOrientationProjectionWidthHeight } from "../utils/computeOrientationProjectionWidthHeight"
 
9
 
10
  /**
11
  * Save the video request to the user's own dataset
 
130
  tags,
131
  channel,
132
  duration: 0,
133
+ ...computeOrientationProjectionWidthHeight({
134
+ lora,
135
+ orientation,
136
+ // projection, // <- will be extrapolated from the LoRA for now
137
+ }),
138
  }
139
 
140
  const newVideo: VideoInfo = {
 
146
  model,
147
  style,
148
  lora,
 
149
  voice,
150
  music,
151
  thumbnailUrl: channel.thumbnail, // will be generated in async
 
157
  tags,
158
  channel,
159
  duration,
160
+ ...computeOrientationProjectionWidthHeight({
161
+ lora,
162
+ orientation,
163
+ // projection, // <- will be extrapolated from the LoRA for now
164
+ }),
165
  }
166
 
167
  return {
src/app/server/actions/utils/computeOrientationProjectionWidthHeight.ts ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { VideoOrientation, VideoProjection } from "@/types"
2
+
3
+ import { parseVideoOrientation } from "./parseVideoOrientation"
4
+ import { parseProjectionFromLoRA } from "./parseProjectionFromLoRA"
5
+
6
+ export function computeOrientationProjectionWidthHeight({
7
+ lora: maybeLora,
8
+ projection: maybeProjection,
9
+ orientation: maybeOrientation,
10
+ }: {
11
+ lora?: any
12
+ projection?: any
13
+ orientation?: any
14
+ }): {
15
+ orientation: VideoOrientation
16
+ projection: VideoProjection
17
+ width: number
18
+ height: number
19
+ } {
20
+
21
+ const lora = `${maybeLora || ""}`
22
+ const orientation = parseVideoOrientation(maybeOrientation)
23
+ const projection = maybeProjection ? maybeProjection : parseProjectionFromLoRA(lora)
24
+
25
+ let width = 1024
26
+ let height = 576
27
+
28
+ if (orientation === "portrait") {
29
+ height = 1024
30
+ width = 576
31
+ } else if (orientation === "square") {
32
+ height = 512
33
+ width = 512
34
+ } else {
35
+ width = 1024
36
+ height = 576
37
+ }
38
+
39
+ // now for equirectangular videos we need to have the correct image ratio of 2:1
40
+ if (projection === "equirectangular") {
41
+ width = 1024
42
+ height = 512
43
+ }
44
+
45
+ return {
46
+ orientation,
47
+ projection,
48
+ width,
49
+ height,
50
+ }
51
+ }
src/app/server/actions/utils/orientationToWidthHeight.ts DELETED
@@ -1,38 +0,0 @@
1
- import { VideoOrientation } from "@/types"
2
-
3
- export function orientationToWidthHeight(orientation?: VideoOrientation): { width: number; height: number } {
4
-
5
- if (orientation === "square") {
6
- return {
7
- width: 512,
8
- height: 512,
9
- }
10
- }
11
-
12
- const longResolution = 1024
13
- const shortResolution = 576
14
-
15
- if (orientation === "portrait") {
16
- return {
17
- width: shortResolution,
18
- height: longResolution,
19
- }
20
- }
21
-
22
- /*
23
-
24
- this is already the default, actually
25
-
26
- if (orientation === "landscape") {
27
- return {
28
- width: longResolution,
29
- height: shortResolution,
30
- }
31
- }
32
- */
33
-
34
- return {
35
- width: longResolution,
36
- height: shortResolution,
37
- }
38
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/app/server/actions/utils/parseVideoModelName.ts CHANGED
@@ -20,5 +20,14 @@ export function parseVideoModelName(text: any, defaultToUse: VideoGenerationMode
20
  model = "LaVie"
21
  }
22
 
 
 
 
 
 
 
 
 
 
23
  return model
24
  }
 
20
  model = "LaVie"
21
  }
22
 
23
+ if (
24
+ rawModelString === "hotshot" ||
25
+ rawModelString === "hotshotxl" ||
26
+ rawModelString === "hotshot xl" ||
27
+ rawModelString === "hotshot-xl"
28
+ ) {
29
+ model = "HotshotXL"
30
+ }
31
+
32
  return model
33
  }
src/app/server/actions/utils/parseVideoOrientation.ts CHANGED
@@ -4,7 +4,7 @@ import { VideoOrientation } from "@/types"
4
  export function parseVideoOrientation(text: any, defaultToUse?: VideoOrientation): VideoOrientation {
5
  const rawOrientationString = `${text || ""}`.trim().toLowerCase()
6
 
7
- let orientation: VideoOrientation = defaultToUse || defaultVideoOrientation
8
 
9
  if (
10
  rawOrientationString === "landscape" ||
@@ -15,7 +15,8 @@ export function parseVideoOrientation(text: any, defaultToUse?: VideoOrientation
15
 
16
  if (
17
  rawOrientationString === "portrait" ||
18
- rawOrientationString === "vertical"
 
19
  ) {
20
  orientation = "portrait"
21
  }
 
4
  export function parseVideoOrientation(text: any, defaultToUse?: VideoOrientation): VideoOrientation {
5
  const rawOrientationString = `${text || ""}`.trim().toLowerCase()
6
 
7
+ let orientation: VideoOrientation = defaultToUse || (defaultVideoOrientation || "landscape")
8
 
9
  if (
10
  rawOrientationString === "landscape" ||
 
15
 
16
  if (
17
  rawOrientationString === "portrait" ||
18
+ rawOrientationString === "vertical" ||
19
+ rawOrientationString === "mobile"
20
  ) {
21
  orientation = "portrait"
22
  }
src/types.ts CHANGED
@@ -254,6 +254,9 @@ export type VideoRequest = {
254
  */
255
  id: string
256
 
 
 
 
257
  /**
258
  * Human readable title for the video
259
  */
 
254
  */
255
  id: string
256
 
257
+ // skip generation (mostly used for debugging)
258
+ // skip?: boolean
259
+
260
  /**
261
  * Human readable title for the video
262
  */