## [Bug] Missing Hover Definitions and Concept Registry in Python Playground Lessons #153

Closed
opened 2026-05-17 22:07:55 +00:00 by enjin2310 · 1 comment

Classification

Type: Bug
Priority: Medium
Component: Python Playground / Lesson Concepts

Summary

In the Python Playground, hovering over syntax terms or keywords does not display definitions or concept documentation. This behavior is inconsistent with other playgrounds (e.g., JavaScript and C++), where hovering provides contextual tooltips and syntax explanations. The issue occurs specifically in Lesson 102 and related Python lessons.

Steps to Reproduce

  1. Navigate to learn.spikersoft.com/tools/python-playground.
  2. Open Lesson 20101 – Greet a Target or Lesson 102.
  3. Hover the pointer over any Python keyword (e.g., def, return, pass, name).
  4. Observe that no tooltip or concept definition appears.

Expected Behavior

  • Hovering over Python keywords should display contextual definitions or documentation.
  • The Lesson Concepts panel should populate with relevant syntax explanations.
  • The concept registry should automatically load definitions for highlighted terms.

Actual Behavior

  • No hover definitions appear for any syntax term.
  • The Lesson Concepts panel shows the message:
    “No registered concepts yet. This lesson’s text either has no highlighted terms or none of them are in the concept registry yet.”
  • The concept registry fails to initialize or link to the lesson content.

Evidence

The attached screenshot shows Lesson 20101 – Greet a Target with the Lesson Concepts panel empty and the message indicating missing registry data.

Environment

  • Browser: Microsoft Edge
  • OS: Windows 10
  • Lesson ID: 20101 (also affects 102)
  • Version: v2026.05.17a

Possible Root Cause

  • The concept registry for Python lessons may not be properly linked or loaded.
  • Missing metadata tags for syntax terms prevent hover tooltips from triggering.
  • The lesson configuration might lack concept mapping entries.

Suggested Fix

  • Verify that Python lessons include proper concept registry bindings.
  • Ensure hover tooltips are enabled for syntax highlighting components.
  • Synchronize the concept registry with the Python curriculum metadata.

Additional Notes

This issue reduces the educational value of the Python Playground by removing contextual guidance that helps learners understand syntax and function usage.

### Classification **Type:** Bug **Priority:** Medium **Component:** Python Playground / Lesson Concepts ### Summary In the **Python Playground**, hovering over syntax terms or keywords does not display definitions or concept documentation. This behavior is inconsistent with other playgrounds (e.g., JavaScript and C++), where hovering provides contextual tooltips and syntax explanations. The issue occurs specifically in **Lesson 102** and related Python lessons. ### Steps to Reproduce 1. Navigate to [learn.spikersoft.com/tools/python-playground](https://learn.spikersoft.com/tools/python-playground). 2. Open **Lesson 20101 – Greet a Target** or **Lesson 102**. 3. Hover the pointer over any Python keyword (e.g., `def`, `return`, `pass`, `name`). 4. Observe that no tooltip or concept definition appears. ### Expected Behavior - Hovering over Python keywords should display contextual definitions or documentation. - The **Lesson Concepts** panel should populate with relevant syntax explanations. - The concept registry should automatically load definitions for highlighted terms. ### Actual Behavior - No hover definitions appear for any syntax term. - The **Lesson Concepts** panel shows the message: *“No registered concepts yet. This lesson’s text either has no highlighted terms or none of them are in the concept registry yet.”* - The concept registry fails to initialize or link to the lesson content. ### Evidence The attached screenshot shows **Lesson 20101 – Greet a Target** with the **Lesson Concepts** panel empty and the message indicating missing registry data. ### Environment - **Browser:** Microsoft Edge - **OS:** Windows 10 - **Lesson ID:** 20101 (also affects 102) - **Version:** v2026.05.17a ### Possible Root Cause - The concept registry for Python lessons may not be properly linked or loaded. - Missing metadata tags for syntax terms prevent hover tooltips from triggering. - The lesson configuration might lack concept mapping entries. ### Suggested Fix - Verify that Python lessons include proper concept registry bindings. - Ensure hover tooltips are enabled for syntax highlighting components. - Synchronize the concept registry with the Python curriculum metadata. ### Additional Notes This issue reduces the educational value of the Python Playground by removing contextual guidance that helps learners understand syntax and function usage.
Owner

Resolved on master. The Python Concept Reference registry (PYTHON_CONCEPTS, ~45 entries) is now populated and wired into the Python playground exactly like the C# path (LANGUAGE_CONCEPT_REGISTRY + LanguageConceptRegistryService + the keyword-highlight handler). The empty "No registered concepts yet" state and the missing hover definitions were caused by the registry being empty/unwired at the time of the report (before the feature-based architecture revamp); the hover/index pipeline itself is language-agnostic, so with the registry present the pane populates and tooltips resolve.

Regression tests added in spikersoft-angular PR #28 drive the real registry service with the shipped data and assert the tokens you hovered (def, return, pass, print, None) resolve to the right concept, so this can't silently regress to the empty state again.

Resolved on `master`. The Python Concept Reference registry (`PYTHON_CONCEPTS`, ~45 entries) is now populated and wired into the Python playground exactly like the C# path (`LANGUAGE_CONCEPT_REGISTRY` + `LanguageConceptRegistryService` + the keyword-highlight handler). The empty "No registered concepts yet" state and the missing hover definitions were caused by the registry being empty/unwired at the time of the report (before the feature-based architecture revamp); the hover/index pipeline itself is language-agnostic, so with the registry present the pane populates and tooltips resolve. Regression tests added in spikersoft-angular PR #28 drive the real registry service with the shipped data and assert the tokens you hovered (`def`, `return`, `pass`, `print`, `None`) resolve to the right concept, so this can't silently regress to the empty state again.
Sign in to join this conversation.