Skip to content

feat(studios): add Line Studio and Function Studio interactive learning modules - #348

Merged
jgupta05072003-code merged 51 commits into
vicharanashala:matrix-mysticsfrom
Jatin-nicon:Line-function
Oct 10, 2026
Merged

jgupta05072003-code merged 51 commits into
vicharanashala:matrix-mysticsfrom
Jatin-nicon:Line-function

Conversation

@Jatin-nicon

@Jatin-nicon Jatin-nicon commented Sep 30, 2026 •

Copy link
Copy Markdown

📌 Summary

This PR introduces two complete, interactive mathematical discovery studios to Tenali:

  1. Line Studio (Cluster 2: Embodied Line Geometry & The Line Rule)
  2. Function Studio (Cluster 3: Rules Beyond the Line & Function Notation)

Both modules provide an inquiry-first learning environment where students discover mathematical principles organically through dynamic GeoGebra canvases before formal algebraic names and notations are introduced.


🚀 Key Modules Added

1. Line Studio (client/src/modules/LineStudio)

A 10-step pedagogical journey uncovering straight-line geometry and the invariant $y = ax + b$:

  • Dynamic GeoGebra Integration (GeoGebraLineLab):
    • Live coordinate grid with interactive point placement, dynamic guidelines, and line plotting.
    • Smart viewport bounding: automatically calculates the farthest plotted coordinate across all 5 verification points ($A$ through $E$) to zoom and frame the canvas cleanly.
  • Inquiry Progression:
    • Explores steepness/slope ratio ($\Delta y / \Delta x$) and y-intercept intuitively.
    • Step 7 refined with accessible language ("slowly" instead of "gradually").
    • Unobstructed display for steepness and intercept values in Question 9.
    • Concludes with the Naming Handover Ceremony, formally naming the slope-intercept rule only after the student has earned the concept.
  • Robust Answer Evaluation (answerEvaluator.js):
    • Validates equations, points, and slope inputs with tolerance for algebraic equivalents.
    • Complete unit test suite (answerEvaluator.test.js).

2. Function Studio (client/src/modules/FunctionStudio)

A 10-step inquiry module transitioning from straight lines to generalized functions and functional notation $f(x)$:

  • Rules Beyond the Line:
    • Investigates non-linear curves ($y = x^2$) and absolute value shapes ($y = |x|$).
    • Contrasts single-valued rules with rules that violate the one-input-one-output pattern ($y^2 = x$).
    • Step 6 designed as a purely conceptual checkpoint comparing well-formed vs. broken rules.
  • Formal Notation & Evaluation ($f(x)$):
    • Strict line plotting and functional rule definition ($f(x) = ax + b$).
    • GeoGebra Algebra View panel simulation for function evaluation ($f(2)$, $f(4)$).
    • Inverse rule exploration ($f(a) = y$, finding input $a$ given output $y$) across 3 progressive stages.
  • Clean Input UX & Anti-Spoil Design:
    • Placeholders guide input format without leaking answers (e.g. e.g. a = ? or number, e.g. f(...), and generic '?' placeholders).
    • Sanitized validation messages in equationParser.js so errors never reveal target values.
  • Algebra Engine (equationParser.js):
    • Multi-format parser supporting $y = ax + b$, $f(x) = ax + b$, points $(x, y)$, and inverse queries ($a = k$).

3. Application Integration

  • Registered both LineStudio and FunctionStudio within client/src/App.jsx and tile catalog (features/tiles.js).
  • Warm parchment and Tenali Teal visual design system consistency applied across all trays, formula bars, and dialogs.

🧪 Verification & Quality Checks

  • Client Build: npm run build completed cleanly in client/ (0 errors, 0 warnings).
  • Local Execution: Tested full flows end-to-end on localhost:5173 backed by localhost:4000.
  • Responsiveness: Verified layout and GeoGebra canvas behavior across different viewport sizes.
  • Unit Tests: Ran answerEvaluator.test.js for Line Studio evaluator checks.

Jatin-nicon and others added 30 commits September 12, 2026 17:22
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       df7b7b1
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       0b3b94f
…ties, and typed observation workflows

- Add complete Set 01 (Point to Dimension) 16 conceptual questions across Stages 1-5

- Implement answer-based typed inputs and author rubric checks for observation/reflection questions (Q1, Q3, Q4, Q6, Q7, Q10, Q11, Q13)

- Retain multiple-choice format for Q2, Q5, Q8, Q9, Q12, Q14, Q15, Q16

- Add interactive simulations: The Square (wall collisions), The Canvas (1 vs 2 directions), and Verification

- Refine terminology from 'circle' to 'drawn dot on paper' to eliminate conceptual ambiguity

- Enhance Question 3 zoom model to cover the point at 1x and reveal the zero-dimensional center upon magnification
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       57512ba
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       beaa6ad
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       df03233
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       5e7773f
…nt plotter integration, and option shuffling
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       9a47992
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       a23ba8a
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       c94f8db
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       c00ab11
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       a2b435b
…(Cluster 2)

Add LineStudio module exploring the equation of a line from equal movement along Cartesian points. Implement GeoGebra 2D graphing lab with strict coordinate syntax, 1:1 square grid scaling, and robust engine synchronization.
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       3997dd1
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       a3daceb
Jatin-nicon and others added 17 commits September 23, 2026 18:36
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       23964a5
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       09f775a
…ndover

- Expanded progression to 10 questions covering discovery, slope/intercept exploration, and equation building
- Implemented conceptual evaluator for slider observations (Q6) and equation answers (Q9)
- Added Q7 (increasing a / anti-clockwise rotation) and Q8 (intercept b / passing at y)
- Streamlined the Naming Handover to recap core observations without cluttered GeoGebra canvas
- Removed redundant challenges, bullet checklists, and repetitive slider subtexts
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       d069365
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       d171706
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       653f1b0
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       e09f75f
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       33c22e8
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       7812f5d
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       e1f3aff
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       0424e18
Auto-generated by the update-readme workflow.
- Refreshed leaderboard with current commit + PR counts
- Synced real names & avatars from GitHub API
- Updated repo snapshot numbers
- Regenerated full contributor cards in CONTRIBUTORS.md
- Regenerated point-wise CHANGELOG.md (commit-by-commit log)

Triggered by: schedule  (cron every 12h or manual)
Commit:       1b3376b
@github-actions

github-actions Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ Parikshak — 1 issue found

  • ❌ No linked issue — This PR description does not contain Closes #N (or Fixes #N / Resolves #N) for an issue already on the tracker. Every PR here must map to a listed issue — nothing self-invented. Add the link and this check will re-run automatically on your next push.
  • ✅ No merge conflict

This is Parikshak, an automated, comment-only check — it never closes or approves a PR. A human reviewer still makes the final call. See CONTRIBUTING.md for the full contribution rules.

@sipmap

sipmap Bot commented Sep 30, 2026

Copy link
Copy Markdown

💡 Heads up — this PR touches 36 files. Consider marking it as a draft until CI is green and you're ready for review. That helps reviewers focus on finished work first.

- Introduce Dimension Studio covering sets (S x P, S x S, S^2) to R, R^2, R^3, and R^n
- Provide interactive 2D and 3D visualizers with tactile sliders
- Add final Dimensional Master Ceremony with mathematical hierarchy ladder
- Connect tiles and navigation routes in App.jsx and tiles.js
@jgupta05072003-code
jgupta05072003-code merged commit b15ce49 into vicharanashala:matrix-mystics Oct 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants