Analysis Catalog: phrase rows

Abierto
#188 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
typescript
Área
frontend

Línea de trabajo

Empieza resolviendo o revisando el blocker #187 y, después, inspecciona la implementación existente de Analysis Catalog para filas de tokens y sus rutas de búsqueda, ordenación, filtrado y mutación. Añade las pestañas Tokens/Phrases y las filas de frases con el comportamiento indicado para surface, gloss, count y usage location. El trabajo está terminado cuando los análisis de frases se pueden buscar, editar, fusionar y eliminar, y la eliminación disuelve la agrupación de frases sin cambiar el texto de los tokens ni la segmentación.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Add phrase analyses to the Analysis Catalog (#186) as their own list.

Blocked by #187 (dedupe phrase payloads on write). Until phrase payloads are deduped, a phrase row would be a read-time grouping over N identical records rather than a real row: counts would have to be computed by grouping on content, editing would be an N-way fan-out write, and delete would mean "remove N payloads and N links". Doing that first and unpicking it later is strictly worse than waiting — after #187 a phrase row is a record with links, exactly like a token row, and everything the catalog already does applies unchanged.

Scope once unblocked

  • A second list (the panel gains tabs at this point: Tokens / Phrases, each trigger showing its count).
  • One row per distinct PhraseAnalysis: surface form, gloss, usage count, usage locations from phraseAnalysisLinks[].tokens[].tokenRef.
  • Search over surface form + gloss using the same search fold as token rows.
  • Sort and filters reuse the token implementations; the facet-derivation rule (hide any facet with fewer than two distinct values) applies unchanged.
  • Edit, merge, and delete are analysis-keyed and global, matching the token mutations.

Delete semantics

Deleting a phrase analysis dissolves the grouping — the member tokens stop being a phrase and revert to individual tokens. This is consistent with the principle that delete removes recorded analysis and never changes the text or its segmentation: the token sequence is untouched, only the phrase-level analysis goes. Worth confirming this reads correctly to users, since the visible effect is an arc disappearing.

Why phrases are unreachable until this ships

A phrase gloss lives in no token analysis, so nothing in a token-only catalog surfaces it. This is the real cost of the token-only v1 and the reason this issue exists rather than being folded into #186.

Blocked by: #187. Follow-up to #186.

Lenguaje dominante
TypeScript
Estrellas
2
Forks
0
Merge medio
1 d 6 h
PR fusionados (30 d)
88

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de sillsdev/interlinearizer-extension

Todos los issues de sillsdev/interlinearizer-extension

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.