perf(app/members): 카드 스와이프 성능 최적화 및 스케일 조정

- AnimatedBuilder child 캐싱으로 매 프레임 rebuild 방지
- RepaintBoundary 추가로 리페인트 범위 제한
- 양옆 카드 스케일 비율 조정 (0.15 → 0.25)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
caadiq 2026-01-15 09:40:47 +09:00
parent fcf800f975
commit 033047ebdb

View file

@ -208,15 +208,20 @@ class _MembersViewState extends ConsumerState<MembersView> with TickerProviderSt
itemBuilder: (context, index) {
return AnimatedBuilder(
animation: _pageController,
// child를 rebuild
// RepaintBoundary로
child: RepaintBoundary(
child: _buildMemberCard(membersState.members[index], controller),
),
builder: (context, child) {
double value = 1.0;
if (_pageController.position.haveDimensions) {
value = (_pageController.page! - index).abs();
value = (1 - (value * 0.15)).clamp(0.0, 1.0);
value = (1 - (value * 0.25)).clamp(0.0, 1.0);
}
return Transform.scale(
scale: Curves.easeOut.transform(value),
child: _buildMemberCard(membersState.members[index], controller),
child: child,
);
},
);