Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 20, 2025

Implements an interactive rhyme dictionary that groups and visualizes verse endings from the cantoria archive, enabling poets and researchers to explore rhyme patterns across 980+ verses.

Implementation

Core extraction logic (/view/src/lib/rhymes.ts)

  • Extracts final words from verses, normalizes for grouping (removes accents, punctuation)
  • Groups by phonetic suffix (last 2-4 letters)
  • Provides filtering (by letter, style) and sorting (frequency, alphabetical)

UI (/view/src/routes/rimas.tsx)

  • Hero with real-time stats (436 unique endings, 980 verses analyzed)
  • Multi-dimensional filtering: text search, style selector, A-Z navigation, frequency/alpha sort
  • Expandable cards show grouped words with full verse context (cantoria, cantador, style)
  • Responsive layout with consistent Vilanova color palette

Navigation (/view/src/main.tsx, /view/src/components/site-header.tsx)

  • Route registered at /rimas
  • Link added to desktop and mobile headers

Example usage

// Extraction produces structured rhyme data
const rhymes = extractAllRhymes(cantorias);
// => 980 RhymeWord objects with normalized + original forms

const groups = groupRhymesByEnding(rhymes);
// => Map<string, RhymeGroup> keyed by suffix
//    "-ente" => 48 verses (independente, valente, serpente)
//    "-oano" => 32 verses (alagoano)

Data analyzed

  • 12 cantorias with complete verses
  • Top rhymes: -ente (48), -oano (32), -mar (23), -ano (20), -eiro (20)
  • Distribution: Décima (280v), Galope (220v), Martelo (176v), Desafio (170v)

Documentation

/DICIONARIO-RIMAS.md covers feature overview, use cases (poets, students, researchers), and technical implementation details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • npm.jsr.io
    • Triggering command: npm install (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Eu quero que você crie uma página de dicionário de rimas que será uma bela visualização em cima do acervo de cantorias e repentes e músicas agrupando as palavras finais dos versos e os versos também por suas rimas de tal forma que possamos rapidamente navegar e ver vários exemplos


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Add dictionary page for rhyme visualization Add rhyme dictionary page with interactive visualization and filtering Nov 20, 2025
Copilot AI requested a review from lucis November 20, 2025 18:39
@github-actions
Copy link

github-actions bot commented Nov 20, 2025

🚀 Preview Deployment Ready!

Your changes have been deployed to a preview environment:

🔗 View Preview

This preview will be automatically updated with new commits to this PR.


Deployed from commit: 6c19aad

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants