Skip to content

Releases: Octopus5/QEDit

Release list

QEDit

Choose a tag to compare

@Octopus5 Octopus5 released this 17 Jul 19:15

Context: Problema și Soluția
Problema: Fizica particulelor elementare și mecanica cuantică reprezintă piloni fundamentali ai cunoașterii, însă caracterul lor profund abstract și complexitatea matematică creează bariere semnificative în procesul de învățare. În mediul educațional actual, manualele tradiționale și resursele statice nu reușesc să capteze esența dinamică a fenomenelor subatomice, informațiile fiind adesea fragmentate și greu de sintetizat. Pentru elevi și studenți, această disociere între teorie și realitatea vizuală duce inevitabil la o scădere a interesului pentru științele exacte și la percepția fizicii cuantice ca pe o disciplină aridă, inaccesibilă.
Soluția: QEDit intervine ca o punte inovatoare între complexitatea teoretică și înțelegerea intuitivă, transformând conceptele abstracte într-o experiență digitală interactivă și controlabilă. Aplicația redefineste modul în care interacționăm cu materia la nivel subatomic prin integrarea simulărilor în timp real cu tehnici avansate de gamification, oferind un mediu de explorare unde teoriile matematice prind viață vizual. QEDit centralizează și organizează riguros informația despre particulele elementare, oferind utilizatorilor instrumente puternice pentru a vizualiza, simula și valida ipoteze științifice. Astfel, aplicația nu doar facilitează accesul la cunoștințe, ci stimulează curiozitatea intelectuală, transformând studiul într-o aventură de explorare dinamică și interactivă, esențială pentru formarea viitorilor cercetători.
Modulele Funcționale ale Aplicației
Structura aplicației este organizată în jurul a trei piloni fundamentali, dezvoltați pentru a livra o experiență didactică exhaustivă:
Nucleul Științific (Simulări și Validare):
Catalogul Modelului Standard: O bază de date interactivă ce centralizează caracteristicile fundamentale ale quarcurilor, fermionilor și bosonilor, accesibile printr-un simplu click. Dispune de un mod suplimentar interactiv de tip arbore/celule, oferind o perspectivă vizuală atractivă asupra particulelor elementare.
Reactorul de Hadroni: Un modul bazat pe algoritmi avansați care verifică respectarea legilor de conservare, precum sarcina electrică, aroma și spinul. Utilizatorii pot combina liber quarcuri, primind explicații fizice imediate atunci când combinațiile contravin legilor cuantice.
Simulatorul de Coliziuni (LHC): O ilustrare grafică și dinamică a interacțiunilor cinematice dintre particule la diverse niveluri de energie, prezentând detalii despre marile descoperiri științifice realizate până în prezent.
Calculator: Un instrument avansat de calcul dedicat particulelor elementare și relativității, permițând determinarea unor mărimi esențiale precum energia cinetică, energia totală, rigiditatea sau câmpul magnetic.
Pilonul Educațional (Gamification):
Centrul de Documentare: Sinteze teoretice adaptate programei de liceu și mediului universitar, structurate sub îndrumarea științifică a doamnei profesoare de fizică Patrichi Ileana de la Colegiul Național "Școala Centrală" București, garantând acuratețea academică.
Evaluare Interactivă: Chestionare predictive și un joc de memorie axat pe corelarea particulelor cu proprietățile lor, menit să consolideze cunoștințele și să faciliteze reținerea intuitivă a simbolurilor specifice.
Experiența Utilizatorului (UI/UX):
O interfață adaptivă completă, dotată cu trei teme grafice (Dark, Light și un mod Cyberpunk imersiv), ce oferă localizare lingvistică nativă integrală în limbile Română, Engleză și Franceză.
Arhitectura Sistemului, Scalabilitate și Integrarea Tehnologică
Pentru a asigura o execuție fluidă și un consum minim de resurse, sistemul a fost proiectat cu un accent obsesiv pe performanță, scalabilitate orizontală, securitate binară, distribuție cross-platform și o amprentă minimă de memorie. Arhitectura este de tip Client-Server local, strict stratificată conform modelului Model-View-Controller (MVC) extins, separând complet logica de sistem de interfața grafică.

Backend, Managementul Memoriei și Securitate
Nucleul aplicației este propulsat exclusiv de limbajul Go (Golang), operând ca motor de calcul al aplicației.
Eficiență Nativă și Wails v2: Componenta Wails face legătura (binding) directă între funcțiile din Go și interfața grafică. Spre deosebire de framework-urile web clasice (precum Electron sau NW.js) care includ un motor Chromium masiv (~200MB), Wails folosește motorul web nativ pre-instalat pe sistemul gazdă (Edge WebView2 pe Windows și WebKit pe macOS/Linux). Această arhitectură reduce consumul de memorie RAM în idle la sub 50MB și scurtează timpul de pornire (Cold Start) la sub 150 de milisecunde.
Goroutines și Asincronicitate Reală: Pentru simulările matematice de mare intensitate (precum calculul a mii de evenimente Monte Carlo pentru collider), logica lansează goroutines mapate dinamic direct pe nucleele fizice/logice ale procesorului. Astfel, interfața UI din JavaScript rămâne complet fluidă, la 60 FPS, fără niciun freeze (frame drop).
Punte IPC (Inter-Process Communication) Bidirecțională: Comunicarea dintre Go și frontend se bazeaza pe un bridge IPC pe bază de pipe-uri locale ultra-rapide și WebSockets securizați ascunși. Apelurile sunt serializate în JSON, executate în thread-ul nativ Go și returnate ca un Promise JavaScript cu o latență de sub 1ms per apel.
Integrarea embed.FS și Securitatea Executabilului: La compilare (wails build -clean -m), tot conținutul frontend (HTML, CSS compilat de PostCSS/TailwindJIT, SVG-uri, fonturi) este convertit într-un fișier binar embed.FS invizibil și lipit direct în interiorul executabilului. La rulare, fișierele sunt citite direct din spațiul de memorie virtuală (Memory-Mapped I/O), neexistând request-uri HTTP care să fie blocate de antivirus. Executabilele sunt comprimate extrem (UPX), protejate contra reverse-engineering-ului.

Frontend și Optimizarea Radicală a Interfeței
Pentru a maximiza performanța, frontend-ul renunță la librării masive și Virtual DOM-uri (cum ar fi React, Vue sau Angular) în favoarea unei arhitecturi "bare-metal".
Vanilla JavaScript (ES6+) și HTML5 Semantic: Manipularea se face direct la nivelul Document Object Model (DOM). Prin instanțierea nativă a componentelor se evită complet overhead-ul de "reconciliation cycle", oferind o complexitate de timp constantă la modificarea telemetriei pe ecran (Zero-Latency Interface).
Motor Grafic HTML5 Canvas: Este responsabil pentru randarea optimă, la 60 FPS, a traiectoriilor complexe din simulatorul LHC și a animațiilor din reactor. Acesta lucrează în tandem cu Chart.js pentru a genera histograme live și grafice de tip radar (analiza particulelor), completate de iconografie vectorială FontAwesome.
Micro-Rutare (SPA Local): Sistemul Single Page Application nu se bazează pe dependințe de rutare externe. Interceptează click-urile prin arhitectura Event Delegation și asignează asincron clase CSS ce aplică tranziții accelerate hardware (transform și opacity) direct pe GPU.
Data Persistence (Offline-First): Aplicația este prin design 100% offline-ready. Setările, progresul utilizatorului și inventarul din reactor sunt salvate iterativ în window.localStorage. Pentru seturile masive de date (log-uri de MB/GB), frontend-ul apelează direct backend-ul Go pentru scrierea/citirea fișierelor de pe discul nativ, evitând limitele de 5MB ale browserului.

Stilizare, UI/UX și Tematizare Dinamică
Designul este randat în totalitate prin motorul Just-In-Time (JIT) al framework-ului utilitar Tailwind CSS, îmbinând funcționalismul cu o estetică modernă.
Liquid Glass & Glassmorphism: Interfața folosește sistemul de sticlărie hibridă (.liquid-glass). Acesta deformează optic fundalul prin backdrop-filter: blur(40px) saturate(180%), aplică profunzime și adaugă umbre volumetrice (box-shadow tridimensional). Împreună cu animațiile de tip frost-pulse, creează panouri flotante hiper-realiste.
Schimbarea Temelor Vizuale: Se realizează instantaneu la nivel de arbore de către sistemul CSS Custom Properties atașat elementului :root, transferând reflow-ul structural direct plăcii video. Interfața oferă trei experiențe vizuale complet distincte:
Modul luminos: Oferă un contrast puternic negru-pe-alb mat. A fost proiectat special pentru vizibilitatea textului și a graficelor intr-un mediu luminos.
Modul întunecat: Folosește o paletă clasică de tip terminal, construită pe griuri ardezie absorbante. Scopul său este să suprime radiația de lumină albastră a monitoarelor și să prevină epuizarea retiniană ("eye strain") în timpul simulărilor și sesiunilor lungi de lucru.
Modul cyberpunk: Transformă interfața introducând elemente retro-futuriste: accente de neon roz și turcoaz , o textură de fundal animată cu artefacte de tip scanline (filtru de monitor CRT) și o suprascriere a schemelor de culori din Chart.js, făcând axele graficelor să arate ca un terminal din anii ‘90

Accesibilitate (A11Y) și Internaționalizare (i18n)
Motor i18n Proprietar Async: Traducerea interfeței nu depinde de pachete externe greoaie. Folosește o mașinărie internă asincronă care indexează fișiere JSON și aplică clasa TreeWalker pentru a înlocui exclusiv nodurile de text (marcându-le cu atribute ca data-i18n). Viteza de transformare a interfeței este de sub 15 ms, garantând protecția totală a blocurilor de matematică din MathJax/LaTeX împotriva distorsiunilor de traducere.
Standarde de Accesibilitate: Elementele interactive sunt marcate cu atribute ARIA (aria-hidden="true", role="button", tabindex="0"). Contrastul textului, în special cel pentru formule, este aliniat la standardele WCAG 2.1, asigurându-se că baza de date teoretică poate fi parcursă eficient și de către utilizatorii care se bazează pe screen-readere din cauza deficiențelor de vedere majore.

Impactul Social și Aplicabilitatea Didactică
Ca răspuns la nevoile comunității educaționale, QEDit se impune ca o soluție cu un impact social, depășind statutul unui simplu proiect de programare:
Egalitate în ...

Read more

QEDit

Choose a tag to compare

@Octopus5 Octopus5 released this 12 May 18:38
69bdd1c

QEDit este o aplicație educațională desktop interactivă concepută pentru a ajuta la procesul de invatarea și analiza datelor din fizica particulelor elementare și a Modelului Standard.

Descriere
QEDit transformă conceptele abstracte ale fizicii subatomice într-o experiență digitală palpabilă. Aplicația este structurată în mai multe module cheie:

Catalogul Modelului Standard: O bază de date interactivă care prezintă proprietățile fundamentale (masă, sarcină, spin, generație) ale quarcilor, leptonilor și bosonilor.
Reactor de Hadroni: Un laborator de sinteză unde utilizatorii pot combina quarci pentru a crea particule compuse (barioni), respectând rețetele fizice reale.
Simulator de Coliziuni (LHC): O replică digitală a sistemelor de control de la Large Hadron Collider, permițând setarea parametrilor de fascicul și simularea experimentelor istorice (precum descoperirea Bosonului Higgs sau a Quarcului Top).
Centru de Documentare: O resursă academică ce include glosare de termeni, cronologii ale descoperirilor și informații despre forțele fundamentale și cosmologie.
Gamification: Module de Quiz și Joc de Memorie cu clasament local pentru a verifica și consolida cunoștințele dobândite.

Interfața oferă o experiență imersivă prin animații complexe pe canvas, efecte de tip "liquid glass" și suport complet pentru teme (Dark, Light, Cyberpunk) și limbi străine (Română, Engleză, Franceză).

Tehnologii Folosite
Backend & Shell
Go (Golang): Limbajul principal pentru logica de sistem și gestionarea resurselor.
Wails v2: Framework-ul utilizat pentru a împacheta aplicația într-un executabil desktop nativ, folosind tehnologii web pentru interfață.

Frontend
JavaScript (ES6+): Logica interactivă, gestionarea stării jocului și animațiile UI.
HTML5 & CSS3: Structura aplicației.
Tailwind CSS: Framework pentru styling modern, responsiv și gestionarea temelor.
Chart.js: Utilizat pentru redarea histogramelor live în simulatorul de collider și pentru graficele radar de comparare a particulelor.
HTML5 Canvas: Folosit pentru animațiile de fundal și vizualizarea 3D a tunelului de coliziune.
FontAwesome: Biblioteca de pictograme pentru interfața utilizatorului.