2626
2727 < section class ="hero ">
2828 < div class ="container ">
29- < h1 > Physical AI Simulation < br > for Real World robotics solutions</ h1 >
29+ < h1 > Physical AI simulation < br > for real world robotics solutions</ h1 >
3030 < p > Build, test, and train autonomous systems with photorealistic 3D simulation environments. From concept to
31- deployment, SimForge accelerates your development cycle.</ p >
32- < a href ="#contact " class ="cta-button "> Get Started </ a >
31+ deployment, SimForge simulation solutions accelerate your development cycle.</ p >
32+ < a href ="#contact " class ="cta-button "> Contact us </ a >
3333 </ div >
3434 </ section >
3535
3636 < section id ="applications " class ="applications ">
3737 < div class ="container ">
3838 < div class ="section-header ">
39- < h2 > </ h2 > Application Domains</ h2 >
40- < p > Purpose -built simulation solutions for next-generation autonomous systems</ p >
39+ < h2 > Application Domains</ h2 >
40+ < p > SimForge's expert development team delivers purpose -built simulation solutions< br > for next-generation autonomous systems across multiple domains </ p >
4141 </ div >
4242 < div class ="app-grid ">
4343 < div class ="app-card " onclick ="toggleDetails('automotive') ">
@@ -68,7 +68,7 @@ <h4>Key Capabilities</h4>
6868 </ div >
6969 < div class ="app-card-content ">
7070 < h3 > Warehouse Robotics</ h3 >
71- < p > Warehouse environment simulation for digital twins of autonomous mobile robots and robotic
71+ < p > Warehouse environment simulation with digital twins of autonomous mobile robots and autonomous articulated
7272 arms.</ p >
7373 < div id ="warehouse " class ="app-details ">
7474 < h4 > Key Capabilities</ h4 >
@@ -112,7 +112,7 @@ <h4>Key Capabilities</h4>
112112 </ div >
113113 < div class ="app-card-content ">
114114 < h3 > Aerospace</ h3 >
115- < p > UAV and autonomous aircraft systems with realistic flight dynamics and environments.</ p >
115+ < p > UAV and autonomous aircraft systems simulation with realistic flight dynamics and environments.</ p >
116116 < div id ="aerospace " class ="app-details ">
117117 < h4 > Key Capabilities</ h4 >
118118 < ul >
@@ -150,11 +150,11 @@ <h4>Key Capabilities</h4>
150150 < div class ="app-card " onclick ="toggleDetails('manufacturing') ">
151151 <!-- <div class="app-card-image" style="background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('https://images.unsplash.com/photo-1565793298595-6a879b1d9492?w=800&q=80');"></div> -->
152152 < div class ="app-card-image "
153- style ="background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('./img/manufacturing.jpeg '); ">
153+ style ="background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('./img/manufacturing.jpg '); ">
154154 </ div >
155155 < div class ="app-card-content ">
156156 < h3 > Manufacturing & Assembly</ h3 >
157- < p > High fidelity digital twins of autonomous mobile robots and robotic arms and their
157+ < p > High fidelity digital twins of robotic manipulator arms and their
158158 workspaces.</ p >
159159 < div id ="manufacturing " class ="app-details ">
160160 < h4 > Key Capabilities</ h4 >
@@ -176,13 +176,13 @@ <h4>Key Capabilities</h4>
176176 < div class ="container ">
177177 < div class ="section-header ">
178178 < h2 > Why SimForge</ h2 >
179- < p > Comprehensive simulation solutions for autonomous systems development </ p >
179+ < p > SimForge simulation solutions are powerful and flexible, with high-fidelity physics and visuals and seamless interoperability </ p >
180180 </ div >
181181 < div class ="features-grid ">
182182 < div class ="feature-item ">
183183 < div class ="feature-icon "> ⚡</ div >
184184 < h3 > Ready-to-Deploy</ h3 >
185- < p > Access our suite of pre-built simulators and start testing immediately with minimal setup.</ p >
185+ < p > Choose from our suite of pre-built simulators and start testing immediately with minimal setup.</ p >
186186 </ div >
187187 < div class ="feature-item ">
188188 < div class ="feature-icon "> < i class ="fa-solid fa-gears "> </ i > </ div >
@@ -193,7 +193,7 @@ <h3>Custom Solutions</h3>
193193 < div class ="feature-item ">
194194 < div class ="feature-icon "> < i class ="fa-solid fa-code "> </ i > </ div >
195195 < h3 > API Integration</ h3 >
196- < p > Seamlessly connect to autonomy stacks and AI systems through our comprehensive API framework.</ p >
196+ < p > Seamlessly connect to autonomy stacks and AI infrastructure in multiple languages through our comprehensive API framework.</ p >
197197 </ div >
198198 < div class ="feature-item ">
199199 < div class ="feature-icon "> < i class ="fa-solid fa-bullseye "> </ i > </ div >
@@ -341,7 +341,7 @@ <h4>Scalable simulation architectures</h4>
341341 <!-- Manufacturing Slide -->
342342 < div class ="capability-slide ">
343343 < div class ="capability-background ">
344- < img src ="./img/manufacturing.jpeg " alt ="Manufacturing ">
344+ < img src ="./img/manufacturing.jpg " alt ="Manufacturing ">
345345 </ div >
346346 < div class ="capability-content ">
347347 < h2 > Manufacturing & Assembly</ h2 >
@@ -482,21 +482,21 @@ <h4>Battery Management</h4>
482482 < div class ="container ">
483483 < div class ="section-header ">
484484 < h2 > Product Showcase</ h2 >
485- < p > Take a look at simulation solutions we've delivered for previous projects .</ p >
485+ < p > Take a look at the existing SimForge simulation solutions .</ p >
486486 </ div >
487487
488488 < div class ="carousel-container ">
489489 < div class ="carousel-track " id ="carouselTrack ">
490490 < div class ="carousel-item active ">
491491 < div class ="carousel-image ">
492492 < video id ="carla-video " class ="bg-video " autoplay muted loop playsinline preload ="auto ">
493- < source src ="./img/carla .mp4 " type ="video/mp4 ">
493+ < source src ="./img/carla_1 .mp4 " type ="video/mp4 ">
494494 </ video >
495495 </ div >
496496 < div class ="carousel-overlay ">
497497 < h3 > CARLA Simulator</ h3 >
498498 < p > High-fidelity simulator for autonomous vehicle development. Cameras, LIDAR, RADAR. Ground
499- truth semantic labelling and </ p >
499+ truth semantic labelling and vehicle physics simulation. </ p >
500500 </ div >
501501 </ div >
502502
@@ -518,7 +518,7 @@ <h3>IPEx Lunar Simulator</h3>
518518 < div class ="carousel-item ">
519519 < div class ="carousel-image ">
520520 < video autoplay muted loop playsinline class ="bg-video " poster ="./img/carla_frame.png ">
521- < source src ="./img/aerosim .mp4 " type ="video/mp4 ">
521+ < source src ="./img/aerosim_1 .mp4 " type ="video/mp4 ">
522522 </ video >
523523 </ div >
524524 < div class ="carousel-overlay ">
@@ -535,8 +535,8 @@ <h3>Aerosim Flight Simulator</h3>
535535 </ video >
536536 </ div >
537537 < div class ="carousel-overlay ">
538- < h3 > Industrial Robotics Simulator </ h3 >
539- < p > Simulator for manufacturing and assembly, logistics and last-mile delivery .</ p >
538+ < h3 > Distribution Center Simulation </ h3 >
539+ < p > Highly detailed simulation of a large distribution center with conveyor system and human workers .</ p >
540540 </ div >
541541 </ div >
542542 </ div >
@@ -624,6 +624,33 @@ <h4>Unity 3D</h4>
624624 < p > Rendering engine with cross-platform development</ p >
625625 </ div >
626626 </ div >
627+ < div class ="tech-item ">
628+ < div class ="tech-logo " style ="background: white; ">
629+ < img src ="./img/ros-logo.png ">
630+ </ div >
631+ < div >
632+ < h4 > Robotic Operating System</ h4 >
633+ < p > Software libraries and tools for robotic applications</ p >
634+ </ div >
635+ </ div >
636+ < div class ="tech-item ">
637+ < div class ="tech-logo " style ="background: white; ">
638+ < img src ="./img/python_logo.jpeg ">
639+ </ div >
640+ < div >
641+ < h4 > Python</ h4 >
642+ < p > Performant, flexible Python APIs</ p >
643+ </ div >
644+ </ div >
645+ < div class ="tech-item ">
646+ < div class ="tech-logo " style ="background: white; ">
647+ < img src ="./img/asam.jpeg ">
648+ </ div >
649+ < div >
650+ < h4 > ASAM OpenDRIVE and OpenSCENARIO</ h4 >
651+ < p > Open standards for the definition of road networks and traffic scenarios</ p >
652+ </ div >
653+ </ div >
627654 </ div >
628655 </ div >
629656 </ section >
@@ -758,13 +785,13 @@ <h4>Solutions</h4>
758785 < a href ="#applications "> Aerospace</ a >
759786 < a href ="#applications "> Logistics</ a >
760787 </ div >
761- < div class ="footer-section ">
788+ <!-- < div class="footer-section">
762789 <h4>Company</h4>
763790 <a href="#">About Us</a>
764791 <a href="#">Careers</a>
765792 <a href="#">Blog</a>
766793 <a href="#">Documentation</a>
767- </ div >
794+ </div> -->
768795 < div class ="footer-section ">
769796 < h4 > Contact</ h4 >
770797 < p > info@simforge.io</ p >
@@ -841,17 +868,67 @@ <h4>Contact</h4>
841868 }
842869 } ) ;
843870
871+ // let currentSlide = 0;
872+ // const track = document.getElementById('carouselTrack');
873+ // const indicators = document.querySelectorAll('.indicator');
874+ // const totalSlides = document.querySelectorAll('.carousel-item').length;
875+
876+ // function updateCarousel() {
877+ // track.style.transform = `translateX(-${currentSlide * 100}%)`;
878+
879+ // indicators.forEach((indicator, index) => {
880+ // indicator.classList.toggle('active', index === currentSlide);
881+ // });
882+ // }
883+
884+ // Carousel functionality
844885 let currentSlide = 0 ;
845886 const track = document . getElementById ( 'carouselTrack' ) ;
846887 const indicators = document . querySelectorAll ( '.indicator' ) ;
847888 const totalSlides = document . querySelectorAll ( '.carousel-item' ) . length ;
848889
890+ // Initialize carousel and videos
891+ document . addEventListener ( 'DOMContentLoaded' , function ( ) {
892+ const allCarouselVideos = document . querySelectorAll ( '.carousel-item video' ) ;
893+
894+ console . log ( 'Found' , allCarouselVideos . length , 'videos' ) ;
895+
896+ // Load all videos
897+ allCarouselVideos . forEach ( ( video , index ) => {
898+ console . log ( 'Video' , index , 'src:' , video . querySelector ( 'source' ) ?. src ) ;
899+
900+ video . addEventListener ( 'loadeddata' , function ( ) {
901+ console . log ( 'Video' , index , 'loaded successfully' ) ;
902+ } ) ;
903+
904+ video . addEventListener ( 'error' , function ( e ) {
905+ console . error ( 'Video' , index , 'error:' , e ) ;
906+ console . error ( 'Video src:' , this . querySelector ( 'source' ) ?. src ) ;
907+ } ) ;
908+
909+ video . load ( ) ;
910+ } ) ;
911+
912+ // Initialize carousel to trigger the first video
913+ updateCarousel ( ) ;
914+ } ) ;
915+
849916 function updateCarousel ( ) {
850917 track . style . transform = `translateX(-${ currentSlide * 100 } %)` ;
851-
918+
852919 indicators . forEach ( ( indicator , index ) => {
853920 indicator . classList . toggle ( 'active' , index === currentSlide ) ;
854921 } ) ;
922+
923+ // Play the current video and pause others
924+ const allVideos = document . querySelectorAll ( '.carousel-item video' ) ;
925+ allVideos . forEach ( ( video , index ) => {
926+ if ( index === currentSlide ) {
927+ video . play ( ) . catch ( e => console . log ( 'Video play prevented:' , e ) ) ;
928+ } else {
929+ video . pause ( ) ;
930+ }
931+ } ) ;
855932 }
856933
857934 function moveCarousel ( direction ) {
0 commit comments