{"id":33,"date":"2026-05-07T07:39:00","date_gmt":"2026-05-07T07:39:00","guid":{"rendered":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/?page_id=33"},"modified":"2026-05-07T07:39:01","modified_gmt":"2026-05-07T07:39:01","slug":"methods","status":"publish","type":"page","link":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/","title":{"rendered":"Methods"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/www.contrib.andrew.cmu.edu\/~pangchil\/mscv\/spring\/method.png\" alt=\"\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Overview<\/h2>\n\n\n\n<p>Our method aims to construct simulation-ready 3D environments from real-world visual observations. The goal is to make reconstructed scenes usable inside robotic simulation, where they can support camera rendering, benchmarking, synthetic data generation, reward learning, and future Vision\u2013Language\u2013Action model training.<\/p>\n\n\n\n<p>The pipeline contains three main stages: first, reconstructing a full 3D scene background from visual input; second, aligning the reconstructed background with the simulated robot and camera setup; and third, integrating the aligned scene into simulation as an explorable environment for robot-centered perception and learning.<\/p>\n\n\n\n<p>The overall pipeline consists of the following stages:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Real-world visual input<\/strong><br>We begin with visual observations of a real environment, such as an image or video captured from a camera.<\/li>\n\n\n\n<li><strong>3D scene reconstruction<\/strong><br>The visual input is converted into a 3D scene representation using image-to-world, video-to-world, or video-to-Gaussian reconstruction methods.<\/li>\n\n\n\n<li><strong>Background alignment<\/strong><br>The reconstructed background is refined in pose and scale so that it matches the simulated camera and robot coordinate system.<\/li>\n\n\n\n<li><strong>Simulation integration<\/strong><br>The aligned 3D scene is imported into simulation as a renderable and explorable environment.<\/li>\n\n\n\n<li><strong>Learning applications<\/strong><br>The resulting environment can support benchmarking, synthetic data generation, reward learning, and future VLA policy training.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">1. Real-World Visual Input<\/h2>\n\n\n\n<p>The pipeline begins with visual observations of a real-world manipulation scene. These observations provide the appearance and spatial context of the environment that we want to reconstruct inside simulation.<\/p>\n\n\n\n<p>In the current setting, visual input may come from a fixed camera or a mobile camera. The input scene can include the workspace, background structure, and task-relevant objects. This visual information serves as the starting point for reconstructing a simulation-ready environment.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">2. 3D Scene Reconstruction<\/h2>\n\n\n\n<p>To bring real-world environments into simulation, we first recover a full 3D background from visual input. We explore two main directions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Video generation followed by video-to-world reconstruction<\/strong><\/li>\n\n\n\n<li><strong>Off-the-shelf image-to-world reconstruction models<\/strong><\/li>\n<\/ul>\n\n\n\n<p>The reconstructed 3D background provides a visually rich representation of the environment. However, the raw reconstruction is usually not directly usable for robotic simulation because its coordinate frame, camera alignment, and physical scale may not match the simulator.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">3. Background Alignment<\/h2>\n\n\n\n<p>After reconstruction, the 3D background must be aligned with the simulated robot and camera setup. This step is necessary because the reconstructed scene may have inaccurate rotation, translation, or scale.<\/p>\n\n\n\n<p>Even if the scene looks visually plausible, it may still be geometrically inconsistent with the simulator. For robotic manipulation, this mismatch is important: the operating surface, object locations, and camera views must be aligned with the simulated robot workspace.<\/p>\n\n\n\n<p>The alignment stage therefore addresses two key problems:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pose alignment:<\/strong> correcting rotation and translation<\/li>\n\n\n\n<li><strong>Scale alignment:<\/strong> correcting the physical size of the reconstructed background<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Pose Optimization<\/h2>\n\n\n\n<p>The first alignment problem is pose. A reconstructed background may be shifted or rotated relative to the simulated camera and robot coordinate system. To correct this, we optimize the background pose by comparing rendered simulation views against reference visual observations.<\/p>\n\n\n\n<p>The pose objective combines low-level visual consistency with feature-level similarity. In simple terms, the optimization adjusts the background placement until the rendered view better matches the target scene.<\/p>\n\n\n\n<p>A technical version of the objective can be written as:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><math data-latex=\"\\mathcal{L}_\\text{pose}\u200b=\\lambda_{RGB} \\mathcal{L}_{RGB}\u200b+\\lambda_{feature} \\mathcal{L}_{DINOv2}\u200b\"><semantics><mrow><msub><mi class=\"mathcal\">\u2112<\/mi><mtext>pose<\/mtext><\/msub><mtext>\u200b<\/mtext><mo>=<\/mo><msub><mi>\u03bb<\/mi><mrow><mi>R<\/mi><mi>G<\/mi><mi>B<\/mi><\/mrow><\/msub><msub><mi class=\"mathcal\">\u2112<\/mi><mrow><mi>R<\/mi><mi>G<\/mi><mi>B<\/mi><\/mrow><\/msub><mtext>\u200b<\/mtext><mo>+<\/mo><msub><mi>\u03bb<\/mi><mrow><mi>f<\/mi><mi>e<\/mi><mi>a<\/mi><mi>t<\/mi><mi>u<\/mi><mi>r<\/mi><mi>e<\/mi><\/mrow><\/msub><msub><mi class=\"mathcal\">\u2112<\/mi><mrow><mi>D<\/mi><mi>I<\/mi><mi>N<\/mi><mi>O<\/mi><mi>v<\/mi><mn>2<\/mn><\/mrow><\/msub><mtext>\u200b<\/mtext><\/mrow><annotation encoding=\"application\/x-tex\">\\mathcal{L}_\\text{pose}\u200b=\\lambda_{RGB} \\mathcal{L}_{RGB}\u200b+\\lambda_{feature} \\mathcal{L}_{DINOv2}\u200b<\/annotation><\/semantics><\/math><\/p>\n\n\n\n<p>where the RGB term encourages pixel-level consistency and the DINOv2 feature term encourages semantic and perceptual alignment.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Scale Optimization<\/h2>\n\n\n\n<p>The second alignment problem is scale. A reconstructed scene may have a plausible appearance but an incorrect physical size. This is especially problematic for robotic manipulation because the robot must interact with surfaces and objects at the correct metric scale.<\/p>\n\n\n\n<p>To address this, we refine the scene scale by comparing geometry from a metric-depth mesh with the collision mesh of the reconstructed background. Instead of matching the entire scene indiscriminately, the optimization focuses on selected points inside the camera frustum, allowing the scale estimate to better reflect the visible workspace and operating surface.<\/p>\n\n\n\n<p>A technical version of the objective can be written as:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><math data-latex=\"\\mathcal{L}_{scale\u200b}=\\mathcal{L}_{Chamfer\u200b}(V_{selected}^{metric}\u200b,V_{selected}^{collision\u200b})\"><semantics><mrow><msub><mi class=\"mathcal\">\u2112<\/mi><mrow><mi>s<\/mi><mi>c<\/mi><mi>a<\/mi><mi>l<\/mi><mi>e<\/mi><mtext>\u200b<\/mtext><\/mrow><\/msub><mo>=<\/mo><msub><mi class=\"mathcal\">\u2112<\/mi><mrow><mi>C<\/mi><mi>h<\/mi><mi>a<\/mi><mi>m<\/mi><mi>f<\/mi><mi>e<\/mi><mi>r<\/mi><mtext>\u200b<\/mtext><\/mrow><\/msub><mo form=\"prefix\" stretchy=\"false\">(<\/mo><msubsup><mi>V<\/mi><mrow><mi>s<\/mi><mi>e<\/mi><mi>l<\/mi><mi>e<\/mi><mi>c<\/mi><mi>t<\/mi><mi>e<\/mi><mi>d<\/mi><\/mrow><mrow><mi>m<\/mi><mi>e<\/mi><mi>t<\/mi><mi>r<\/mi><mi>i<\/mi><mi>c<\/mi><\/mrow><\/msubsup><mtext>\u200b<\/mtext><mo separator=\"true\">,<\/mo><msubsup><mi>V<\/mi><mrow><mi>s<\/mi><mi>e<\/mi><mi>l<\/mi><mi>e<\/mi><mi>c<\/mi><mi>t<\/mi><mi>e<\/mi><mi>d<\/mi><\/mrow><mrow><mi>c<\/mi><mi>o<\/mi><mi>l<\/mi><mi>l<\/mi><mi>i<\/mi><mi>s<\/mi><mi>i<\/mi><mi>o<\/mi><mi>n<\/mi><mtext>\u200b<\/mtext><\/mrow><\/msubsup><mo form=\"postfix\" stretchy=\"false\">)<\/mo><\/mrow><annotation encoding=\"application\/x-tex\">\\mathcal{L}_{scale\u200b}=\\mathcal{L}_{Chamfer\u200b}(V_{selected}^{metric}\u200b,V_{selected}^{collision\u200b})<\/annotation><\/semantics><\/math><\/p>\n\n\n\n<p>where <math data-latex=\"V_{selected}^{metric}\u200b\"><semantics><mrow><msubsup><mi>V<\/mi><mrow><mi>s<\/mi><mi>e<\/mi><mi>l<\/mi><mi>e<\/mi><mi>c<\/mi><mi>t<\/mi><mi>e<\/mi><mi>d<\/mi><\/mrow><mrow><mi>m<\/mi><mi>e<\/mi><mi>t<\/mi><mi>r<\/mi><mi>i<\/mi><mi>c<\/mi><\/mrow><\/msubsup><mtext>\u200b<\/mtext><\/mrow><annotation encoding=\"application\/x-tex\">V_{selected}^{metric}\u200b<\/annotation><\/semantics><\/math> denotes selected vertices from the metric-depth mesh, and <math data-latex=\"V_{selected}^{collision}\"><semantics><msubsup><mi>V<\/mi><mrow><mi>s<\/mi><mi>e<\/mi><mi>l<\/mi><mi>e<\/mi><mi>c<\/mi><mi>t<\/mi><mi>e<\/mi><mi>d<\/mi><\/mrow><mrow><mi>c<\/mi><mi>o<\/mi><mi>l<\/mi><mi>l<\/mi><mi>i<\/mi><mi>s<\/mi><mi>i<\/mi><mi>o<\/mi><mi>n<\/mi><\/mrow><\/msubsup><annotation encoding=\"application\/x-tex\">V_{selected}^{collision}<\/annotation><\/semantics><\/math>\u200b denotes selected vertices from the collision mesh.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Simulation Integration<\/h2>\n\n\n\n<p>Once pose and scale are refined, the reconstructed background can be integrated into simulation as a renderable and explorable environment. This allows the simulator to produce views from different camera configurations, including the main camera and wrist-camera viewpoints.<\/p>\n\n\n\n<p>This step is important because the final environment should not only look realistic, but also support robot-centered perception and evaluation. The aligned scene provides a foundation for future tasks such as policy benchmarking, synthetic data generation, and reward-guided learning.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">7. Learning-Oriented Applications<\/h2>\n\n\n\n<p>The final goal of this pipeline is to support scalable robot learning. Once realistic 3D environments are available in simulation, they can be used for multiple downstream applications:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Benchmarking:<\/strong> evaluating robotic policies in realistic reconstructed environments<\/li>\n\n\n\n<li><strong>Synthetic data generation:<\/strong> creating diverse training data with controllable scene and task variation<\/li>\n\n\n\n<li><strong>Reward learning:<\/strong> training or applying learned reward models in simulated environments<\/li>\n\n\n\n<li><strong>VLA training:<\/strong> improving robustness and generalization through scalable simulation data<\/li>\n<\/ul>\n\n\n\n<p>This makes the reconstructed scene more than a visualization artifact. It becomes part of a broader learning pipeline for scalable robotic manipulation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Method Summary<\/h2>\n\n\n\n<p>In summary, our method reconstructs real-world scenes into simulation-ready 3D environments, aligns them through pose and scale optimization, and integrates them into robotic simulation. This pipeline provides a foundation for realistic benchmarking, scalable synthetic data generation, reward learning, and future Vision\u2013Language\u2013Action model training.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview Our method aims to construct simulation-ready 3D environments from real-world visual observations. The goal is to make reconstructed scenes usable inside robotic simulation, where they can support camera rendering, benchmarking, synthetic data generation, reward learning, and future Vision\u2013Language\u2013Action model training. The pipeline contains three main stages: first, reconstructing a full 3D scene background from [&hellip;]<\/p>\n","protected":false},"author":284,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-33","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Methods - Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Methods - Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation\" \/>\n<meta property=\"og:description\" content=\"Overview Our method aims to construct simulation-ready 3D environments from real-world visual observations. The goal is to make reconstructed scenes usable inside robotic simulation, where they can support camera rendering, benchmarking, synthetic data generation, reward learning, and future Vision\u2013Language\u2013Action model training. The pipeline contains three main stages: first, reconstructing a full 3D scene background from [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/\" \/>\n<meta property=\"og:site_name\" content=\"Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-07T07:39:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.contrib.andrew.cmu.edu\/~pangchil\/mscv\/spring\/method.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/methods\\\/\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/methods\\\/\",\"name\":\"Methods - Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/methods\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/methods\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.contrib.andrew.cmu.edu\\\/~pangchil\\\/mscv\\\/spring\\\/method.png\",\"datePublished\":\"2026-05-07T07:39:00+00:00\",\"dateModified\":\"2026-05-07T07:39:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/methods\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/methods\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/methods\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.contrib.andrew.cmu.edu\\\/~pangchil\\\/mscv\\\/spring\\\/method.png\",\"contentUrl\":\"https:\\\/\\\/www.contrib.andrew.cmu.edu\\\/~pangchil\\\/mscv\\\/spring\\\/method.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/methods\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Methods\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/#website\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/\",\"name\":\"Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2026teamf9\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Methods - Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/","og_locale":"en_US","og_type":"article","og_title":"Methods - Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation","og_description":"Overview Our method aims to construct simulation-ready 3D environments from real-world visual observations. The goal is to make reconstructed scenes usable inside robotic simulation, where they can support camera rendering, benchmarking, synthetic data generation, reward learning, and future Vision\u2013Language\u2013Action model training. The pipeline contains three main stages: first, reconstructing a full 3D scene background from [&hellip;]","og_url":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/","og_site_name":"Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation","article_modified_time":"2026-05-07T07:39:01+00:00","og_image":[{"url":"https:\/\/www.contrib.andrew.cmu.edu\/~pangchil\/mscv\/spring\/method.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/","url":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/","name":"Methods - Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation","isPartOf":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/#primaryimage"},"image":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/#primaryimage"},"thumbnailUrl":"https:\/\/www.contrib.andrew.cmu.edu\/~pangchil\/mscv\/spring\/method.png","datePublished":"2026-05-07T07:39:00+00:00","dateModified":"2026-05-07T07:39:01+00:00","breadcrumb":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/#primaryimage","url":"https:\/\/www.contrib.andrew.cmu.edu\/~pangchil\/mscv\/spring\/method.png","contentUrl":"https:\/\/www.contrib.andrew.cmu.edu\/~pangchil\/mscv\/spring\/method.png"},{"@type":"BreadcrumbList","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/methods\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/"},{"@type":"ListItem","position":2,"name":"Methods"}]},{"@type":"WebSite","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/#website","url":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/","name":"Scaling Vision\u2013Language\u2013Action Models for Robotic Manipulation through Simulation","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/wp-json\/wp\/v2\/pages\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/wp-json\/wp\/v2\/users\/284"}],"replies":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/wp-json\/wp\/v2\/comments?post=33"}],"version-history":[{"count":6,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/wp-json\/wp\/v2\/pages\/33\/revisions"}],"predecessor-version":[{"id":47,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/wp-json\/wp\/v2\/pages\/33\/revisions\/47"}],"wp:attachment":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2026teamf9\/wp-json\/wp\/v2\/media?parent=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}