Frontmatter
| id | 8799 |
| title | Simplify MagicMoveText by removing caching and text replacement |
| state | Closed |
| labels | airefactoring |
| assignees | tobiu |
| createdAt | Jan 19, 2026, 9:52 AM |
| updatedAt | Jan 19, 2026, 10:08 AM |
| githubUrl | https://github.com/neomjs/neo/issues/8799 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 19, 2026, 10:08 AM |
Simplify MagicMoveText by removing caching and text replacement
tobiu assigned to @tobiu on Jan 19, 2026, 9:59 AM

tobiu
Jan 19, 2026, 10:07 AM
Input from Gemini 3 Pro:
✦ Refactored
MagicMoveTextto remove caching and text node replacement logic, simplifying the component and relying on the efficient "keep spans" behavior. Updated Portal Hero usage. Verified negligible performance impact (1.5%) vs significant stability gains.
tobiu closed this issue on Jan 19, 2026, 10:08 AM
Based on performance analysis (1.5% impact), removing the complex caching logic (
useCache,measureCache,cacheClearInterval) to improve stability and reduce code. Also removingreplaceWithTextNodeconfig and logic, making the "keep spans" behavior (Hero section default) the standard. This allows for smoother subsequent animations without DOM thrashing from text-to-span conversion.