💡 translate: shift an element's paint without affecting flow
Les mainteneurs répondent en général sous 17 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Calme
- Stack technique
- c, typescript
- Domaine
- cli
Piste de recherche
Commencez par le test en échec dans test/translate.test.ts, puis lisez les définitions de layout dans ops.ts:97-120 et ops.ts:245-253, suivies du décodage des groupes de layout dans src/clayterm.c:499-516. Vérifiez que translate est appliqué après le layout de flux, qu’il déplace les descendants peints et les limites signalées, qu’il préserve le placement des frères et sœurs, et qu’il modifie la sortie attendue de "AB " en " BA ".
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Is your feature request related to a problem?
There's no way to nudge an element a few cells from where layout placed it while leaving its neighbors put. The only offset tool today is floating, which pulls the element out of flow so siblings reflow to fill the gap. A fixed(5) row holding element a (text A) followed by text B renders "AB "; we can't shift A two cells right while B stays put, since anything that moves A collapses B back to column 0. That rules out small visual nudges (badges, carets, hover) that shouldn't disturb surrounding layout.
Describe the solution you'd like
A render-time translate that shifts an element's painted cells (and its descendants') by {x, y} after flow layout, mirroring the CSS translate property (exact name TBD). It does not change layout: the element keeps its computed flow slot and siblings don't move. It's purely a visual displacement, with the element's reported bounds following the shift so hit-testing stays correct. Above, a keeps its slot at x=0, B stays at column 1, and a paints two cells over to yield " BA ".
const node = open("a", {
layout: {
translate: { x: 2, y: 0 },
},
});
Describe alternatives you've considered
floating removes the element from flow (siblings collapse), so it can't do an in-place nudge. Post-processing the rendered grid in TS can't see clip regions, backgrounds, or descendant bounds, and info.bounds would still report the un-shifted position—breaking hit-testing and hover. A renderer-side translate keeps bounds and paint in sync.
Additional context
Failing test case on nm/repro/translate (test · diff). Today bounds.x is 0 instead of 2 and the row renders "AB " instead of " BA ". This likely lives in ops.ts:97-120 (the pack layout group has no translate slot) and ops.ts:245-253 (OpenElement.layout has no translate field), with the render-time shift applied where the layout group is decoded (src/clayterm.c:499-516).
- Langage dominant
- TypeScript
- Étoiles
- 43
- Forks
- 2
- Merge moyen
- 12 j 19 h
- PR mergées (30 j)
- 6
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de bombshell-dev/tty
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
bombshell-dev/tty#61 · 1 réaction ·
Les mainteneurs répondent en général sous 17 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
bombshell-dev/tty#129 ·
Les mainteneurs répondent en général sous 17 jours
-
question
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 38/100
bombshell-dev/tty#112 ·
Les mainteneurs répondent en général sous 17 jours
-
enhancement high priority
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
bombshell-dev/tty#83 · 2 commentaires ·
Les mainteneurs répondent en général sous 17 jours
-
🐛 VS16 (U+FE0F) emoji measured at the wrong widthPeut-être pris @natemoo-re l’a pris il y a 128 jours. Ouvertebug
bombshell-dev/tty#81 · 1 personne assignée ·
Les mainteneurs répondent en général sous 17 jours
Toutes les issues de bombshell-dev/tty
Issues similaires
-
ui(ListToolbar): search takes the full row on a phone instead of sharing it with the result countOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour
-
priority:high
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
immich-app/immich#32426 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue hacktoberfest help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
libredb/libredb-studio#1756 ·
Les mainteneurs répondent en général sous 1 jour