LearnNewsExamplesServices
Frontmatter
id8799
titleSimplify MagicMoveText by removing caching and text replacement
stateClosed
labels
airefactoring
assigneestobiu
createdAtJan 19, 2026, 9:52 AM
updatedAtJan 19, 2026, 10:08 AM
githubUrlhttps://github.com/neomjs/neo/issues/8799
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 19, 2026, 10:08 AM

Simplify MagicMoveText by removing caching and text replacement

Closed v11.23.0 airefactoring
tobiu
tobiu commented on Jan 19, 2026, 9:52 AM

Based on performance analysis (1.5% impact), removing the complex caching logic (useCache, measureCache, cacheClearInterval) to improve stability and reduce code. Also removing replaceWithTextNode config 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.

tobiu added the ai label on Jan 19, 2026, 9:52 AM
tobiu added the refactoring label on Jan 19, 2026, 9:52 AM
tobiu assigned to @tobiu on Jan 19, 2026, 9:59 AM
tobiu referenced in commit 57ef9ab - "refactor: Simplify MagicMoveText by removing caching and text replacement (#8799)" on Jan 19, 2026, 10:07 AM
tobiu
tobiu Jan 19, 2026, 10:07 AM

Input from Gemini 3 Pro:

✦ Refactored MagicMoveText to 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