{"id":31729811,"url":"https://github.com/rjohnpaul/conn3d","last_synced_at":"2026-05-08T14:02:43.619Z","repository":{"id":314874399,"uuid":"1057071826","full_name":"RJohnPaul/Conn3D","owner":"RJohnPaul","description":"A cooler way to visualize labs through AR","archived":false,"fork":false,"pushed_at":"2025-09-15T09:21:48.000Z","size":147203,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-09T07:17:49.397Z","etag":null,"topics":["arvr","augmented-reality","nextjs","unity"],"latest_commit_sha":null,"homepage":"https://connthreed.vercel.app/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RJohnPaul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-15T08:36:17.000Z","updated_at":"2025-09-15T09:21:54.000Z","dependencies_parsed_at":"2025-09-15T11:36:32.009Z","dependency_job_id":null,"html_url":"https://github.com/RJohnPaul/Conn3D","commit_stats":null,"previous_names":["rjohnpaul/conn3d"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RJohnPaul/Conn3D","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJohnPaul%2FConn3D","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJohnPaul%2FConn3D/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJohnPaul%2FConn3D/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJohnPaul%2FConn3D/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RJohnPaul","download_url":"https://codeload.github.com/RJohnPaul/Conn3D/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJohnPaul%2FConn3D/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32783452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arvr","augmented-reality","nextjs","unity"],"created_at":"2025-10-09T07:17:28.107Z","updated_at":"2026-05-08T14:02:43.513Z","avatar_url":"https://github.com/RJohnPaul.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Conn3D (Connection-3D)\n\n![Home Dashboard](https://github.com/RJohnPaul/Conn3D/blob/45e74934e32dbf64a9e1433391d5c0e569a835a8/starboy.png)\n\n---\n\nAn immersive, mobile‑first Augmented Reality (AR) virtual electronics lab designed to bridge the gap between theoretical knowledge and practical engineering education.\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://nextjs.org\"\u003e\u003cimg alt=\"Next.js\" src=\"https://img.shields.io/badge/Next.js-15-black\" /\u003e\u003c/a\u003e\n\t\u003cimg alt=\"React\" src=\"https://img.shields.io/badge/React-19-149eca\" /\u003e\n\t\u003cimg alt=\"Tailwind\" src=\"https://img.shields.io/badge/TailwindCSS-4-38bdf8\" /\u003e\n\t\u003cimg alt=\"Status\" src=\"https://img.shields.io/badge/Status-Alpha-orange\" /\u003e\n\t\u003cimg alt=\"Node\" src=\"https://img.shields.io/badge/Node-%3E=18.x-339933\" /\u003e\n\t\u003cimg alt=\"License\" src=\"https://img.shields.io/badge/License-TBD-lightgrey\" /\u003e\n\t\u003cimg alt=\"PRs\" src=\"https://img.shields.io/badge/PRs-Welcome-success\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003ci\u003eProject status: Early content and architectural scaffold. Core AR \u0026 simulation layers implemented.\u003c/i\u003e\u003c/p\u003e\n\n---\n\n## Table of Contents\n1. [Overview](#1-overview)  \n2. [Vision](#2-vision)  \n3. [Core Principles](#3-core-principles)  \n4. [Features](#4-features-current--in-progress)  \n5. [Services Offered](#5-services-offered-concept-scope)  \n6. [Technology Stack](#6-technology-stack)  \n7. [Architecture \u0026 Structure](#7-architecture--structure)  \n8. [UI Components](#8-ui-components-high-level-responsibilities)  \n9. [Getting Started](#9-getting-started-local-development)  \n10. [Available Scripts](#10-available-scripts)  \n11. [Deployment](#11-deployment)  \n12. [Roadmap](#12-roadmap-planned-enhancements)  \n13. [Accessibility](#accessibility-checklist)  \n14. [Performance Strategy](#performance-strategy)  \n15. [Contribution Guide](#13-contributing)  \n16. [FAQs](#14-faqs-sample)  \n17. [License](#15-license)  \n19. [Acknowledgements](#acknowledgements)  \n\n---\n\n## 1. Overview\nConn3D delivers a fully interactive virtual electronics laboratory accessible from any modern mobile device. It harnesses AR to let learners place and manipulate circuit components in real-world space, encouraging spatial reasoning, safe experimentation and intuitive understanding of hardware fundamentals.\n\n## 2. Vision\nTo revolutionize technical education globally by providing every aspiring engineer with equitable access to a hands-on, high-fidelity electronics workspace—regardless of location or financial constraints.\n\n## 3. Core Principles\n- Interactive: Learning through tangible manipulation and immediate feedback.  \n- Intuitive: Natural gestures and visual clarity reduce cognitive friction.  \n- Accessible: Mobile-first experience lowers hardware and cost barriers.  \n\n## 4. Features (Current / In Progress)\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\u003ctr\u003e\u003cth\u003eArea\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003cth\u003eStatus\u003c/th\u003e\u003cth\u003eNext Step\u003c/th\u003e\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\u003ctr\u003e\u003ctd\u003eLanding Narrative\u003c/td\u003e\u003ctd\u003eHero + structured educational sections\u003c/td\u003e\u003ctd\u003eImplemented\u003c/td\u003e\u003ctd\u003eRefine copy \u0026 accessibility review\u003c/td\u003e\u003c/tr\u003e\n\t\t\u003ctr\u003e\u003ctd\u003eComponent Architecture\u003c/td\u003e\u003ctd\u003eModular React components (App Router)\u003c/td\u003e\u003ctd\u003eImplemented\u003c/td\u003e\u003ctd\u003eAdd test coverage\u003c/td\u003e\u003c/tr\u003e\n\t\t\u003ctr\u003e\u003ctd\u003eStyling System\u003c/td\u003e\u003ctd\u003eTailwind CSS utility-first\u003c/td\u003e\u003ctd\u003eImplemented\u003c/td\u003e\u003ctd\u003eEstablish design tokens\u003c/td\u003e\u003c/tr\u003e\n\t\t\u003ctr\u003e\u003ctd\u003eAR Preview Layer\u003c/td\u003e\u003ctd\u003ePlaceholder conceptual content\u003c/td\u003e\u003ctd\u003ePending\u003c/td\u003e\u003ctd\u003eEvaluate WebXR vs Native\u003c/td\u003e\u003c/tr\u003e\n\t\t\u003ctr\u003e\u003ctd\u003eSimulation Engine\u003c/td\u003e\u003ctd\u003eReal-time circuit feedback\u003c/td\u003e\u003ctd\u003ePlanned\u003c/td\u003e\u003ctd\u003eDraft data model \u0026 solver\u003c/td\u003e\u003c/tr\u003e\n\t\t\u003ctr\u003e\u003ctd\u003eCloud Persistence\u003c/td\u003e\u003ctd\u003eProfiles, saved circuits\u003c/td\u003e\u003ctd\u003ePlanned\u003c/td\u003e\u003ctd\u003eDefine schema\u003c/td\u003e\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\n## 5. Services Offered (Concept Scope)\n| Service | Description |\n|---------|-------------|\n| Mobile AR App | Transforms any flat surface into an interactive electronics bench. |\n| Real-Time Simulation | Immediate circuit feedback via a custom simulation layer (planned). |\n| Virtual Component Library | Expanding catalog of 3D electronic parts. |\n| Safe Workspace | Risk-free experimentation without physical damage or hazards. |\n\n## 6. Technology Stack\n| Layer | Choice | Rationale |\n|-------|--------|-----------|\n| Framework | Next.js 15 (App Router) | File-based routing, streaming, server components |\n| Runtime | React 19 | Concurrent features, future-proof for interactive AR panels |\n| Styling | Tailwind CSS 4 | Rapid iteration, consistent spacing/typography scale |\n| UI Elements | Headless UI, Heroicons | Accessible primitives without opinionated styling |\n| Fonts | Geist (next/font) | Automatic optimization \u0026 variable font control |\n| Planned AR | ARCore / ARKit / WebXR bridge | Device-native tracking \u0026 portability |\n| Simulation Engine | Custom lightweight solver | Fine-grained control over performance \u0026 accuracy |\n| Backend (Future) | Firebase / AWS | Realtime sync, auth, scalable storage |\n| Analytics (Future) | PostHog / Plausible | Privacy-friendly usage insights |\n\n## 7. Architecture \u0026 Structure\n```\nsrc/\n\tapp/\n\t\tlayout.js        # Root layout, font setup, metadata\n\t\tpage.js          # Landing page composition\n\t\thero.jsx         # Conn3D overview \u0026 sectional narrative\n\t\tfeature.jsx      # Highlighted feature blocks\n\t\tcta.jsx          # Call-to-action section\n\t\tbanner.jsx       # Top banner (announcements / messaging)\n\t\tnavbar.jsx       # Navigation shell (future expansion)\n\t\tstats.jsx        # Placeholder for metrics / impact highlights\n\t\tteam.jsx         # Team introduction\n\t\tfaq.jsx          # Frequently asked questions section\n\t\tfooter.jsx       # Footer / links\n\t\tglobals.css      # Tailwind base + project-level styles\n```\nSeparation of concerns: each semantic content block lives in an isolated component, enabling future progressive enhancement (e.g., hydration boundaries, streamed sections, dynamic AR previews, or lazy-loaded simulation widgets).\n\n## 8. UI Components (High-Level Responsibilities)\n- `Hero`: Narrative core (About, Vision, Services, Technology, Impact, Outlook).  \n- `Feature`: Space for showcasing differentiated capabilities.  \n- `CTA`: Drives user engagement (signup / waitlist / demo scheduling).  \n- `Faq`: Structured Q\u0026A to reduce friction.  \n- `Team`: Human credibility layer.  \n- `Stats`: Designed for future adoption metrics, learning outcomes or performance indicators.  \n\n## 9. Getting Started (Local Development)\nPrerequisites:\n- Node.js 18+ (verify with `node -v`)\n- Git\n- A package manager (npm included by default)\n\nClone \u0026 install:\n```bash\ngit clone https://github.com/RJohnPaul/Conn3D.git .\nnpm install\n```\n\nDevelopment server:\n```bash\nnpm run dev\n```\nVisit: http://localhost:3000\n\nProduction build preview:\n```bash\nnpm run build\nnpm start\n```\n\n### Directory Conventions\n- Use the `app/` directory for route-based composition (Next.js App Router).  \n- Co-locate component-level styles or keep to utility-first Tailwind classes.\n- Go to the `AR Assets` folder to gain intel on the AR Codebase\n\n## 10. Available Scripts\n| Script | Purpose |\n|--------|---------|\n| `npm run dev` | Start local development server with hot reload. |\n| `npm run build` | Create an optimized production build. |\n| `npm run start` | Run the production build locally. |\n\n## 11. Deployment\nRecommended: Vercel (first-class support for Next.js).  \nBasic flow:\n1. Push to main or open a pull request.  \n2. Vercel detects framework and builds automatically.  \n3. Inspect preview deployment.  \n4. Merge to production branch for live release.  \n\nEnvironment variables (future): simulation backends, feature flags, analytics keys. None currently required.\n\n## 12. Roadmap (Planned Enhancements)\n| Phase | Milestones | Deliverables | Exit Criteria |\n|-------|-----------|--------------|---------------|\n| 1 | Foundation | Accessible landing, component audit, metrics baseline | CLS \u003c 0.1, Lighthouse A11y \u003e 95 |\n| 2 | AR Prototype | Basic placement of 3D components (stub interactions) | Stable 30+ FPS on mid-tier device |\n| 3 | Simulation MVP | Ohmic + reactive elements, live value overlays | \u003c 10ms step calc for small circuits |\n| 4 | Persistence \u0026 Collab | Auth, save/load, share links | Multi-user edit latency \u003c 300ms |\n| 5 | Intelligent Tutor | Contextual hints, adaptive challenges | 75%+ task success in user tests |\n| 6 | Advanced Components | MCUs, sensors, renewable modules | Verified component test suite |\n\n### AR \u0026 Simulation Conceptual Layers\n1. Scene Management (entity/component registry)  \n2. Tracking \u0026 Spatial Anchors (ARCore/ARKit abstraction)  \n3. Physics/Electrical Solver (incremental time steps)  \n4. Interaction Layer (gesture → semantic intent)  \n5. Visualization (probes, overlays, waveform inspectors)  \n6. Persistence Sync (CRDT or operational transforms)  \n\n### Data Model Draft (Planned)\n```ts\nCircuit {\n\tid: string;\n\tcomponents: ComponentInstance[]; // typed refs\n\tnets: Net[];                     // connectivity graph\n\tmetadata: { title?: string; version: number; createdAt: ISODate };\n}\n```\n\n\u003e This model will evolve once simulation constraints and collaborative editing semantics are formalized.\n\n## Accessibility Checklist\n| Area | Status | Notes |\n|------|--------|-------|\n| Semantic Headings | In Progress | Ensure single H1, descending order |\n| Color Contrast | Pending Review | Add token palette \u0026 test contrasts |\n| Focus States | Basic | Need visible outline normalization |\n| Aria Labels | Pending | Add to interactive navigation elements |\n| Reduced Motion | Not Implemented | Add prefers-reduced-motion handling |\n\n## Performance Strategy\n| Layer | Intent |\n|-------|--------|\n| Code Splitting | Use dynamic import for heavy AR bundles |\n| Streaming | Leverage React Server Components where static narrative suffices |\n| Asset Policy | Prefer responsive images / vector icons (no raster for simple shapes) |\n| CSS | Tailwind JIT purging for minimal bundle |\n| Simulation | Web Worker / WASM exploration for isolation |\n| Caching | HTTP caching for static assets; future SW for offline library |\n\nPlanned metrics: First Contentful Paint, Time to Interactive, Simulation Step Latency.\n\n## 13. Contributing\nContributions are welcome.\n\nWorkflow:\n1. Fork repository  \n2. Branch naming: `feat/`, `fix/`, `chore/`, `docs/`  \n3. Commit convention (Conventional Commits): `feat(hero): add AR roadmap section`  \n4. Ensure build succeeds: `npm run build`  \n5. Open PR with: context, before/after (screenshots if UI), test notes  \n\nCoding Guidelines:\n- Keep components cohesive; extract only after 2–3 repetitions.  \n- Prefer composition over inheritance.  \n- Enforce accessible markup (run automated Lighthouse / axe).  \n- Avoid global state until justified; lean on props \u0026 server components.  \n- Document non-trivial decisions in a short `DECISIONS.md` (future).  \n\nSecurity \u0026 Privacy (Future Phases):\n- Principle of least privilege for backend services.  \n- Input validation on circuit definitions.  \n- Opt-in analytics with anonymization.  \n\n## 14. FAQs (Sample)\n| Question | Answer |\n|----------|--------|\n| Will a native mobile version exist? | Planned—initial AR experiments will determine delivery path (WebXR vs native wrapper). |\n| How are circuits simulated? | A custom lightweight engine (in design) will model basic electrical behavior with real-time feedback. |\n| Will advanced components (MCUs, sensors) be included? | Yes—phase expansion includes microcontrollers, renewable energy modules and more. |\n| Is offline use supported? | Intended in future builds with local caching for component libraries. |\n\n\n---\n\nFor questions or collaboration inquiries, open an issue or start a discussion thread.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjohnpaul%2Fconn3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frjohnpaul%2Fconn3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjohnpaul%2Fconn3d/lists"}