mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Spec, plan, and full implementation of the AI-message streaming animation in ChatMessageRichDataBubbleContentNode. Extracts TextRevealController into a shared StreamingTextReveal submodule; precomputes per-character rects in V2 layout (RTL-safe, glyph-ink bounds); splits InstantPageV2TextView into render container + render view with a reveal mask layer; implements mask + snippet pop-in reveal; adds a per-text-view reveal cost map + applyReveal extension; switches reveal cost to a width-based unit; sizes / clips the bubble to the revealed prefix during streaming; aligns the Thinking… header with TextBubble; floors table cell reveal cost at cell frame width; includes layout closing pad in revealedContentSize; documents the non-obvious invariants in CLAUDE.md.
38 lines
1.4 KiB
Text
38 lines
1.4 KiB
Text
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
|
|
|
|
swift_library(
|
|
name = "InstantPageUI",
|
|
module_name = "InstantPageUI",
|
|
srcs = glob([
|
|
"Sources/**/*.swift",
|
|
]),
|
|
copts = [
|
|
"-warnings-as-errors",
|
|
],
|
|
deps = [
|
|
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
|
|
"//submodules/AsyncDisplayKit:AsyncDisplayKit",
|
|
"//submodules/CheckNode:CheckNode",
|
|
"//submodules/Display:Display",
|
|
"//submodules/Postbox:Postbox",
|
|
"//submodules/TelegramCore:TelegramCore",
|
|
"//submodules/TelegramPresentationData:TelegramPresentationData",
|
|
"//submodules/TelegramUIPreferences:TelegramUIPreferences",
|
|
"//submodules/TextFormat:TextFormat",
|
|
"//submodules/GalleryUI:GalleryUI",
|
|
"//submodules/MusicAlbumArtResources:MusicAlbumArtResources",
|
|
"//submodules/LiveLocationPositionNode:LiveLocationPositionNode",
|
|
"//submodules/MosaicLayout:MosaicLayout",
|
|
"//submodules/LocationUI:LocationUI",
|
|
"//submodules/AppBundle:AppBundle",
|
|
"//submodules/LocationResources:LocationResources",
|
|
"//submodules/UndoUI:UndoUI",
|
|
"//submodules/TranslateUI:TranslateUI",
|
|
"//submodules/Tuples:Tuples",
|
|
"//third-party/SwiftMath:SwiftMath",
|
|
"//submodules/ComponentFlow:ComponentFlow",
|
|
],
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|