<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Niladri Adhikary</title>
    <description>The latest articles on DEV Community by Niladri Adhikary (@niladri_adhikary_f11402dc).</description>
    <link>https://dev.to/niladri_adhikary_f11402dc</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1511732%2F4767cf17-0be3-4991-9bd2-046512f8bc21.png</url>
      <title>DEV Community: Niladri Adhikary</title>
      <link>https://dev.to/niladri_adhikary_f11402dc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/niladri_adhikary_f11402dc"/>
    <language>en</language>
    <item>
      <title>GSoC’24(CircuitVerse) Week 11 &amp; 12</title>
      <dc:creator>Niladri Adhikary</dc:creator>
      <pubDate>Sun, 25 Aug 2024 20:15:21 +0000</pubDate>
      <link>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-11-12-2p4h</link>
      <guid>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-11-12-2p4h</guid>
      <description>&lt;p&gt;My last 2weeks had been really great, We were able to cover a lot of stuff, like testing, stability improvements, css refactoring and completion of the mobile version&lt;/p&gt;

&lt;h2&gt;
  
  
  Tasks Completed are -
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Vue Simulator Mobile Version&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Integration of Last year's stability improvements&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Tests for the Vue Simulator using Vitest&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Global CSS refactoring&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With this all my tasks for GSoC 2024 is completed with CircuitVerse, I would love to stick with the organisation in future.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vue Simulator Mobile Version
&lt;/h2&gt;

&lt;p&gt;Some new Components were implemented like - &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Verilog Editor Panel&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Sidebar and User menu&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and Some improvements for -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Circuit Elements Panel mobile Component&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Quick Button mobile component&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Timing Diagram mobile component&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbss0rmx3rqpn4kwk360i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbss0rmx3rqpn4kwk360i.png" alt="Image description" width="417" height="826"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fctsfuwew4qoa8q6se6lj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fctsfuwew4qoa8q6se6lj.png" alt="Image description" width="417" height="826"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F791swm822g8bby5wa1ko.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F791swm822g8bby5wa1ko.png" alt="Image description" width="417" height="826"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftx5argnltqrzzfjjazry.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftx5argnltqrzzfjjazry.png" alt="Image description" width="417" height="826"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also implemented some features like -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Multiple selection Button for circuit elements&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Copy Button for copying and pasting circuit elements&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reference PRs -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/361" rel="noopener noreferrer"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/361&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Integration of Last year's stability improvements
&lt;/h2&gt;

&lt;p&gt;Integrated some previous year gsoc prs into the vue simulator&lt;/p&gt;

&lt;p&gt;Reference PRs that got merged -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/366" rel="noopener noreferrer"&gt;Added helpful functions for debugging of circuit&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/367" rel="noopener noreferrer"&gt;Moving a component mess up the connected wires&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/368" rel="noopener noreferrer"&gt;Implemented state machine for simulator&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/369" rel="noopener noreferrer"&gt;Change the implementation of the priority queue to use a heap data structure&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tests for the Vue Simulator using Vitest
&lt;/h2&gt;

&lt;p&gt;Implemented Test cases for the Vue simulator using&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Vitest&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;JsDOM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@vue/test-utils&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Implementations - &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created a Test Environment for the testcases to run in the vite.config.ts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50l5gxbb1bol854dycan.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50l5gxbb1bol854dycan.png" alt="Image description" width="484" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wrote all the test cases under the spec folder using Vitest&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk9n524hwp26q3wfpkj1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk9n524hwp26q3wfpkj1.png" alt="Image description" width="444" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mocked some unnecessary libraries like codemirror uisng vi.mock&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fomxg6j5gf3w9ojjdv19d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fomxg6j5gf3w9ojjdv19d.png" alt="Image description" width="484" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Created a &lt;code&gt;/testdata&lt;/code&gt; folder under the spec folder for storing the testing data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Created a &lt;code&gt;/circuits&lt;/code&gt; folder to keep all the circuits elements data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After implementing all this we can finally run our test cases using &lt;code&gt;npm run test&lt;/code&gt; cmd&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4q6qpp4w7n1qhjg47e89.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4q6qpp4w7n1qhjg47e89.png" alt="Image description" width="575" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reference PRs -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/364" rel="noopener noreferrer"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/364&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Global CSS refactoring
&lt;/h2&gt;

&lt;p&gt;Global CSS present in the files -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;UX.css&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;main.stylesheet.css&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;have been transferred to component scoped based css&lt;/p&gt;

&lt;p&gt;Reference PRs -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/365" rel="noopener noreferrer"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/365&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This concludes my 12-week GSoC journey. I really enjoyed my time here, loved the community and its people, and would love to stay connected with the organization in the future as well.&lt;/p&gt;

</description>
      <category>google</category>
      <category>circuitverse</category>
      <category>webdev</category>
      <category>vue</category>
    </item>
    <item>
      <title>GSoC’24(CircuitVerse) Week 9 &amp; 10</title>
      <dc:creator>Niladri Adhikary</dc:creator>
      <pubDate>Fri, 09 Aug 2024 13:38:10 +0000</pubDate>
      <link>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-9-10-45me</link>
      <guid>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-9-10-45me</guid>
      <description>&lt;p&gt;The 2nd phase has begun, and I have started working on a new task: implementing the mobile view. As we know, the Vue simulator was not previously mobile responsive, so I suggested a new modern design, which you can find in the Figma link - &lt;a href="https://www.figma.com/design/u3T5Ns2Xe5esvKxJ3FS9Cy/Untitled" rel="noopener noreferrer"&gt;https://www.figma.com/design/u3T5Ns2Xe5esvKxJ3FS9Cy/Untitled&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am excited to implement it into the vue simulator, this weeks implementation that has been done are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Circuit Elements Panel&lt;/code&gt; mobile Component&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Quick Button&lt;/code&gt; mobile component&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Timing Diagram&lt;/code&gt; mobile component&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some mobile features also have been implemented&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Mobile touch&lt;/code&gt; implementation&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Zoom&lt;/code&gt; Implementation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Others&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;some responsive design for &lt;code&gt;testbench&lt;/code&gt; Components&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also a mobile simulator &lt;code&gt;store&lt;/code&gt; also has been created to circulate reactive data across mobile components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Circuit Elements Panel&lt;/code&gt; mobile Component&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0x82p432y28h3c3b6zbl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0x82p432y28h3c3b6zbl.png" alt="Image description" width="370" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Quick Button&lt;/code&gt; mobile component&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6vt4amgru8btmb615zpg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6vt4amgru8btmb615zpg.png" alt="Image description" width="370" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Timing Diagram&lt;/code&gt; mobile component&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhkcm7lqhizrp1emvhepq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhkcm7lqhizrp1emvhepq.png" alt="Image description" width="370" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reference PRs -&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/357" rel="noopener noreferrer"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/357&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/359" rel="noopener noreferrer"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/359&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/360" rel="noopener noreferrer"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/360&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This week was great; I had a lot of fun designing the mobile view. Hopefully, in the next few weeks, I will complete this implementation and start working on the next desktop application and tests for the simulator.&lt;/p&gt;

</description>
      <category>google</category>
      <category>coding</category>
      <category>webdev</category>
      <category>circuitverse</category>
    </item>
    <item>
      <title>GSoC’24(CircuitVerse) Week 7 &amp; 8</title>
      <dc:creator>Niladri Adhikary</dc:creator>
      <pubDate>Mon, 29 Jul 2024 05:10:58 +0000</pubDate>
      <link>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-7-8-33ig</link>
      <guid>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-7-8-33ig</guid>
      <description>&lt;p&gt;This were the last 2 weeks of the first phase, and I had to extend my phase 1 to 8 weeks due to exams, in these 2 weeks I focused on converting all jquery DOM manipulations to vue'reactives and typescipe integration.&lt;/p&gt;

&lt;h4&gt;
  
  
  Some of the files that were converted are:-
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Circuit.ts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;eventQueue.ts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;quinMcCluskey.ts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;customThemeAbstraction.ts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;applyTheme.vue&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;layoutMode.ts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;layoutNode.ts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;layoutBuffer.ts&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and also created a interface for array extension methods.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/336" rel="noopener noreferrer"&gt;feat(gsoc'24): circuit file converted to typescript + vue and array interface extension&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/338" rel="noopener noreferrer"&gt;feat(gsoc'24): Typescript Integration in eventQueue file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/339" rel="noopener noreferrer"&gt;feat(gsoc'24): typescript integration in quinMcCluskey file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/340" rel="noopener noreferrer"&gt;feat(gsoc'24): typescript integration in ApplyThemes.vue and customThemeAbstraction file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/341" rel="noopener noreferrer"&gt;feat(gsoc'24): ts + vue integration and jquery removal in layout files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Future Work
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Mobile View for the simulator&lt;/li&gt;
&lt;li&gt;Integration of test cases for the simulator&lt;/li&gt;
&lt;li&gt;Global stylesheets to scoped stylesheets&lt;/li&gt;
&lt;li&gt;Implementation of last year's stability improvements&lt;/li&gt;
&lt;li&gt;Remaing conversions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;I have learned a lot about Vue.js and TypeScript, and I have made significant progress in the project. Thanks to all my mentors for their guidance and support throughout this phase. I am looking forward to the next phase of the project.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>google</category>
      <category>code</category>
      <category>circuitverse</category>
    </item>
    <item>
      <title>GSoC’24(CircuitVerse) Week 5 &amp; 6</title>
      <dc:creator>Niladri Adhikary</dc:creator>
      <pubDate>Thu, 11 Jul 2024 07:35:59 +0000</pubDate>
      <link>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-5-6-44hd</link>
      <guid>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-5-6-44hd</guid>
      <description>&lt;p&gt;Typescript Integration and Migration of JQuery to Vue's reactives was the focus in week 5, and in week 6 I had exams so not much was done just some extensions to week 5 work&lt;/p&gt;

&lt;h3&gt;
  
  
  Some Typescript Integration and Migration of JQuery to Vue's reactives are :-
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;plotArea&lt;/li&gt;
&lt;li&gt;Timing Diagram panel&lt;/li&gt;
&lt;li&gt;app.ts,&lt;/li&gt;
&lt;li&gt;arrayHelper.ts,&lt;/li&gt;
&lt;li&gt;backgroundArea.ts,&lt;/li&gt;
&lt;li&gt;data.ts,&lt;/li&gt;
&lt;li&gt;moduleSetup.ts,&lt;/li&gt;
&lt;li&gt;sequential.ts&lt;/li&gt;
&lt;li&gt;verilogHelpers.ts&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  PlotArea and Timing Diagram Panel
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5l5asxprpetuboqc2ly.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5l5asxprpetuboqc2ly.png" alt="Image description" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;plotArea.js file was converted to typescript which allowed me to created interfaces and types for the plotArea and moved all the DOM manipulation into the vue's reactives under Timing diagram panel component along with all the listeners.&lt;/p&gt;

&lt;p&gt;Inside the Timing diagram component typescript was integrated and vue's reactives which were migrated from the plotArea file.&lt;/p&gt;

&lt;p&gt;A new pinia store timingDiagramStore was implemented to maintain the data flow for the timing diagram.&lt;/p&gt;

&lt;h3&gt;
  
  
  Typescript Integration in smaller files
&lt;/h3&gt;

&lt;p&gt;some smaller files that were previously in javascript have been converted to typescript as the changes were very minimal, I committed them in a single branch only.&lt;/p&gt;

&lt;h3&gt;
  
  
  PR Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;PlotArea and Timing Diagram panel - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/329" rel="noopener noreferrer"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/329&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ts integration in some files - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/330" rel="noopener noreferrer"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/330&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next weeks i will be focusing on finishing all my integrations for vue + typescript and begin with the mobile version.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>GSoC’24(CircuitVerse) Week 3 &amp; 4</title>
      <dc:creator>Niladri Adhikary</dc:creator>
      <pubDate>Sat, 22 Jun 2024 18:49:42 +0000</pubDate>
      <link>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-3-4-21fg</link>
      <guid>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-3-4-21fg</guid>
      <description>&lt;p&gt;This 2 weeks I have been focusing on Implementing the remaining components and VUE + TS Integration with removal of JQuery.&lt;/p&gt;

&lt;p&gt;Some of the Components that I have Implemented are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TestBench Panel.vue&lt;/li&gt;
&lt;li&gt;TestBench Creator.vue&lt;/li&gt;
&lt;li&gt;TestBench Validator.vue&lt;/li&gt;
&lt;li&gt;Alert MessageBox&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vue + Typescript Integration for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project.ts&lt;/li&gt;
&lt;li&gt;Utils.ts&lt;/li&gt;
&lt;li&gt;Testbench.ts&lt;/li&gt;
&lt;li&gt;Open Offline.vue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pania Store came really in handy to Implement the state management very nicely, and i quite love its Functionalities&lt;/p&gt;

&lt;h3&gt;
  
  
  Implementation of TestBench Components
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3e408cuwlvha5hp6nuyh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3e408cuwlvha5hp6nuyh.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As planned in my proposal I started with implementing the creator component using vuetify and converted all jQuery &amp;amp; DOM manipulations to Vue's reactives and typescript integration.&lt;/p&gt;

&lt;p&gt;Previously we were using the creator as a separate window, so this time Creating TestBenchCreator.vue eliminated the need to a extra window and the data transmission was done using pinia to transmit data between Creator and Testbench Panel component.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhz9fkbi70mrmjc52u6jc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhz9fkbi70mrmjc52u6jc.png" alt="Image description" width="800" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, the TestbenchPanel that was under the extra.vue file, was converted to Vue's reactives, all UI DOM manipulations that was previously there in the testbench.js was migrated to the component using Vue and Pinia.&lt;/p&gt;

&lt;p&gt;Other Testbench components like the testbench validator and some dialog boxes are migrated as well in the same folder.&lt;/p&gt;

&lt;p&gt;Also created a Testbench store in the pinia store folder for reactive state management of the test data.&lt;/p&gt;

&lt;p&gt;PR LINK - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/323"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/323&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Vue + Typescript Integration
&lt;/h3&gt;

&lt;p&gt;Typescript and Vue integrations were done in some files like project.ts, utils.ts, testbench.ts, Open Offline.vue Component initially more integrations will be done in the next weeks&lt;/p&gt;

&lt;p&gt;PR LINK - &lt;br&gt;
utils.ts - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/325"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/325&lt;/a&gt;&lt;br&gt;
project.ts - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/324"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/324&lt;/a&gt;&lt;br&gt;
Offline.vue - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/318"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/318&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gsoc</category>
      <category>google</category>
      <category>circuitverse</category>
      <category>webdev</category>
    </item>
    <item>
      <title>GSoC’24(CircuitVerse) Week 1 &amp; 2</title>
      <dc:creator>Niladri Adhikary</dc:creator>
      <pubDate>Sat, 15 Jun 2024 12:15:08 +0000</pubDate>
      <link>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-1-2-37gj</link>
      <guid>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-1-2-37gj</guid>
      <description>&lt;p&gt;The coding period has begun, and a lot of work has been done on understanding the codebase, creating new Vue components, and eliminating bugs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Implementation of LayoutElements Panel Vue Component
&lt;/h3&gt;

&lt;p&gt;Previously, the LayoutElements Panel was in the &lt;code&gt;extra.vue&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;First, I created a new Vue file for the LayoutElements Panel and moved the HTML part inside the &lt;code&gt;&amp;lt;template&amp;gt; &amp;lt;template/&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;Since the original codebase used vanilla JavaScript for some DOM manipulation, I converted these to Vue's reactive properties.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt;
  &lt;span class="na"&gt;v-for=&lt;/span&gt;&lt;span class="s"&gt;"(element, j) in group.elements"&lt;/span&gt;
  &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"icon subcircuitModule"&lt;/span&gt;
  &lt;span class="na"&gt;:key=&lt;/span&gt;&lt;span class="s"&gt;"`${i}-${j}`"&lt;/span&gt;
  &lt;span class="na"&gt;:id=&lt;/span&gt;&lt;span class="s"&gt;"`${group.type}-${j}`"&lt;/span&gt;
  &lt;span class="na"&gt;:data-element-id=&lt;/span&gt;&lt;span class="s"&gt;"j"&lt;/span&gt;
  &lt;span class="na"&gt;:data-element-name=&lt;/span&gt;&lt;span class="s"&gt;"group.type"&lt;/span&gt;
  &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="na"&gt;mousedown=&lt;/span&gt;&lt;span class="s"&gt;"dragElement(group.type, element, j)"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"icon-image"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;:src=&lt;/span&gt;&lt;span class="s"&gt;"`/img/${group.type}.svg`"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"img__description"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
       { element.label !== '' ? element.label : 'unlabeled' }}
    &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Additionally, I moved all related styles into the &lt;code&gt;&amp;lt;style&amp;gt; &amp;lt;style/&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7b1x9yqlkfhdqr3kehm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7b1x9yqlkfhdqr3kehm.png" alt="Image description" width="656" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PR Link - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/317"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/317&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Fixed Mini Map not rendering Issue
&lt;/h3&gt;

&lt;p&gt;Previously the mini map in the simulator was not rendering due to styling issues.&lt;/p&gt;

&lt;p&gt;Fixed it! using Changing some CSS properties&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkbs53gvqym1blysfk8ap.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkbs53gvqym1blysfk8ap.png" alt="Image description" width="481" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PR Link - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/316"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/316&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;I learned a lot by doing this work and am happy to start my contributions. I hope to produce even better work in the upcoming weeks.&lt;/p&gt;

</description>
      <category>gsoc</category>
      <category>google</category>
      <category>circuitverse</category>
      <category>webdev</category>
    </item>
    <item>
      <title>GSoC’24(CircuitVerse) Week 0 — Community Bonding</title>
      <dc:creator>Niladri Adhikary</dc:creator>
      <pubDate>Sat, 01 Jun 2024 15:19:19 +0000</pubDate>
      <link>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-0-community-bonding-1pni</link>
      <guid>https://dev.to/niladri_adhikary_f11402dc/gsoc24circuitverse-week-0-community-bonding-1pni</guid>
      <description>&lt;p&gt;Hi Everyone, I am Niladri Sekhar Adhikary, a B.Tech Computer Science student from Kolkata. I will be sharing my community bonding period for GSoC this year. To be honest, I was already somewhat familiar with the CircuitVerse community when I first got selected, thanks to my prior contributions which helped me get to know CircuitVerse and its community well. As a result, my community bonding period focused more on planning the timeline and getting ready for coding.&lt;/p&gt;

&lt;p&gt;At first, I had a meeting with my project mentors to plan the timeline and discuss some decisions required based on my GSoC proposal. We decided to finish up some small bug fixes and minor updates during the community bonding period itself.&lt;/p&gt;

&lt;p&gt;Here are some Pull Requests I created during Community Bonding Period:-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/312"&gt;Advance Options for embed view implemented.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/313"&gt;Fix for Timing Diagram increase decrease buttons.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A PR for all bug fixes and updates from the main repo. It is a single PR for all the updates that can be directly applied to the Vue simulator without any changes, with different commit for each issue — &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/314"&gt;Link.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Advance Options for embed view implemented
&lt;/h3&gt;

&lt;p&gt;The embedded view of CircuitVerse circuits can be used to display circuits in an iframe on other websites.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvnsi01dlqupr25c00u8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvnsi01dlqupr25c00u8.png" alt="Image description" width="800" height="488"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By clicking the Embed button on the bottom right, a dialog box can be opened, allowing the user to create a customised embed view for the circuit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2c90ksqgsjp8h0rak8rg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2c90ksqgsjp8h0rak8rg.png" alt="Image description" width="703" height="775"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see in the Advance option section user gets to decide which properties should be there in the embed view.&lt;/p&gt;

&lt;p&gt;The Embed view Advance option was already implemented in the previous year GSoC i.e in GSoC’22 by this PR — Link, now was the time to implement the same in the Vue Simulator. The implementation was a bit different, as we could now use Vue’s reactive nature to make the task easier.&lt;/p&gt;

&lt;p&gt;In the embed Component we will get the preference data from the params using the &lt;code&gt;useRoute&lt;/code&gt; method.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useRoute&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vue-router&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;route&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useRoute&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;hasDisplayTitle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;display_title&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;display_title&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;hasClockTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clock_time&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clock_time&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;hasFullscreen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fullscreen&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fullscreen&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;hasZoomInOut&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;zoom_in_out&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;zoom_in_out&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then we can use data to conditionally render components.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;v-if=&lt;/span&gt;&lt;span class="s"&gt;"hasZoomInOut.value"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"zoom-in-out-embed"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"zoom- wrapper"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can checkout the Pull Request here — &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/312"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/312&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Fix for Timing Diagram increase decrease buttons
&lt;/h3&gt;

&lt;p&gt;Previously, the increase and decrease buttons of the timing diagram were not working.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futbnxzku5dxs0oxeicgj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futbnxzku5dxs0oxeicgj.png" alt="Image description" width="703" height="98"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using Vue's reactives fixed the problem, link to the PR - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/313"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/313&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  A PR for all bug fixes and updates from the main repo
&lt;/h3&gt;

&lt;p&gt;Since decoupling of the new vue simulator some updates and bug fixes were made in the main simulator which needs to be updated in the vue simulator.&lt;/p&gt;

&lt;p&gt;It is a single PR for all the updates that can be directly applied to the Vue simulator without any changes, with different commit for each issue - &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/314"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/314&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;I have learned a lot more about the codebase and good practices. It was a good start, and I am now more excited to move on to the next tasks. Thanks to all my mentors who helped me plan the timeline for tasks; it helped me get a good start.&lt;/p&gt;

</description>
      <category>gsoc</category>
      <category>google</category>
      <category>circuitverse</category>
    </item>
  </channel>
</rss>
