Skip to content

docs: @mandujs/fast 단일 성능 패키지 도입 기획서 추가#155

Open
RaptBliss wants to merge 1 commit intomainfrom
docs/mandu-fast-package-proposal
Open

docs: @mandujs/fast 단일 성능 패키지 도입 기획서 추가#155
RaptBliss wants to merge 1 commit intomainfrom
docs/mandu-fast-package-proposal

Conversation

@RaptBliss
Copy link
Collaborator

요약

  • Mandu 전용 단일 성능 패키지 @mandujs/fast 도입 제안 문서를 추가했습니다.
  • 문서 경로: docs/plans/15_mandu_fast_package_proposal.md

포함 내용

  • 배경/목표/비목표
  • MVP 범위 (VirtualList, GPU Capability, PerformancePanel)
  • API 초안
  • 아키텍처 원칙 (island-safe, progressive enhancement, measurable first)
  • 단계별 실행 계획(Phase 0~5)
  • KPI/리스크/출시 전략/Exit Criteria

기대 효과

  • "빠른 렌더링" 목적에 맞춘 단일 진입점 제공
  • 사용자 도입 난이도 감소 및 Mandu 최적화 패턴 표준화
  • 향후 perf budget/CI 게이트로 확장 가능한 기반 확보

@gemini-code-assist
Copy link

Summary of Changes

Hello @RaptBliss, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 Pull Request는 Mandu 프레임워크의 성능 최적화를 위한 전용 패키지인 @mandujs/fast의 도입 기획서를 추가합니다. 이 문서는 고성능 UI 구현의 복잡성을 줄이고, Mandu의 철학에 부합하는 단일화된 성능 개선 솔루션을 제공하는 것을 목표로 합니다. 제안서는 핵심 기능, 아키텍처 원칙, 개발 단계, 예상되는 리스크 및 대응 방안을 포괄적으로 다루며, Mandu 생태계 내에서 성능 개선을 위한 명확한 방향을 제시합니다.

Highlights

  • 새로운 성능 패키지 제안 문서 추가: Mandu 전용 단일 성능 패키지인 @mandujs/fast의 도입을 제안하는 상세 기획서가 추가되었습니다.
  • MVP 범위 정의: 제안서는 Virtual Rendering (VirtualList/VirtualGrid), GPU Capability + Rendering Adapter, Runtime Performance Metrics를 포함하는 MVP(Minimum Viable Product) 범위를 명확히 정의합니다.
  • 아키텍처 원칙 및 개발 로드맵 제시: Island-safe, Progressive Enhancement, Measurable First 등의 아키텍처 원칙과 Phase 0부터 Phase 5까지의 단계별 개발 계획이 상세히 설명되어 있습니다.
  • 기대 효과 및 성공 기준 명시: 패키지 도입을 통해 사용자 경험 개선, Mandu 최적화 패턴 표준화 등의 기대 효과와 함께, MVP 성공을 위한 구체적인 Exit Criteria가 제시되었습니다.
Changelog
  • docs/plans/15_mandu_fast_package_proposal.md
    • @mandujs/fast` 패키지 도입에 대한 상세 기획서가 추가되었습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

새로운 단일 성능 패키지 @mandujs/fast 도입을 위한 기획서 추가 잘 보았습니다. 배경, 목표, MVP 범위, 아키텍처 원칙, 리스크 관리 등 프로젝트 제안에 필요한 내용이 매우 체계적으로 잘 정리되어 있습니다. 제안된 패키지는 Mandu 프레임워크의 성능을 일관되게 개선하고 사용자 경험을 향상시키는 데 크게 기여할 것으로 기대됩니다.

리뷰에서는 문서의 명확성을 더욱 높이기 위해 두 가지 제안을 드렸습니다. 첫째, 성능 목표(KPI) 중 하나인 '스크롤 프레임 유지율 개선'을 보다 구체적이고 측정 가능한 지표로 수정하는 것을 제안했습니다. 둘째, API 초안에 언급된 일부 함수들이 MVP 기능 범위에 설명되지 않은 불일치점을 지적하고, 이를 해소할 방안을 제시했습니다.

전반적으로 매우 훌륭한 기획 문서이며, 제안된 내용을 바탕으로 성공적인 패키지 개발이 이루어지기를 바랍니다.

Comment on lines +71 to +80
```ts
import {
VirtualList,
VirtualGrid,
useGpuCapability,
createRenderAdapter,
PerformancePanel,
usePerfMarks,
} from "@mandujs/fast";
```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

"5. API 초안"에 포함된 import 문과 "4. 기능 범위 (MVP)"에 설명된 기능 간에 약간의 불일치가 보입니다.

import 문에는 VirtualGrid, createRenderAdapter, usePerfMarks가 포함되어 있지만, MVP 기능 범위에서는 VirtualList, useGpuCapability, PerformancePanel만 설명되어 있습니다.

문서의 명확성을 위해 다음 중 하나를 고려해볼 수 있습니다.

  1. MVP 범위에 VirtualGrid, createRenderAdapter, usePerfMarks에 대한 간략한 설명을 추가합니다.
  2. 또는, MVP 범위에 포함되지 않는다면 API 초안의 import 문에서 해당 항목들을 제거하거나 주석으로 "MVP 이후"라고 표시하여 혼동을 줄일 수 있습니다.

VirtualGrid는 8. 개발 단계(Phase 1)에 언급되어 있지만, MVP 범위에 명시적으로 포함되지 않아 독자가 혼란을 느낄 수 있습니다.


- 10,000 row 리스트 기준
- 메모리 사용량 40% 이상 절감(기준 대비)
- 스크롤 프레임 유지율 개선

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

"7. 성능 목표 (MVP KPI)" 섹션의 목표가 구체적이어서 좋습니다. 다만 "스크롤 프레임 유지율 개선"이라는 목표는 다소 모호하게 느껴집니다. 이 문서의 "Measurable First" 원칙에 따라, 더 측정 가능한 목표를 설정하는 것을 제안합니다.

예를 들어, 다음과 같이 구체화할 수 있습니다.

  • "고속 스크롤 중 60fps 유지율 95% 이상 달성"
  • "Long Frame(>16.7ms) 발생 빈도 50% 감소"

이렇게 하면 목표 달성 여부를 더 명확하게 판단할 수 있을 것입니다.

@konamgil konamgil force-pushed the docs/mandu-fast-package-proposal branch from 7e79154 to d49684d Compare March 3, 2026 04:58
@coderabbitai
Copy link

coderabbitai bot commented Mar 3, 2026

Warning

Rate limit exceeded

@konamgil has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 29 minutes and 58 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 4f8a0ae and d49684d.

📒 Files selected for processing (1)
  • docs/plans/15_mandu_fast_package_proposal.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/mandu-fast-package-proposal

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant