devwinsoft/devian/11-ui-popup-canvas-panel
Trust tier 3
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install devwinsoft/devian/11-ui-popup-canvas-panelSKILL.md
11-ui-popup-canvas-panel — UIPopupCanvas / UIPopupPanel
Status: ACTIVE AppliesTo: v1
Purpose
popup overlay canvas와 panel layer root를 정의한다.
Implementation Location (3-path mirror)
| 경로 | 역할 | |
|---|---|---|
framework-cs/upm/com.devian.foundation/Samples~/UIPackage/Runtime/Popup/ | UPM mirror | |
framework-cs/apps/UnityExample/Packages/com.devian.foundation/Samples~/UIPackage/Runtime/Popup/ | Packages mirror | |
framework-cs/apps/UnityExample/Assets/Samples/Devian Foundation/0.1.0/UIPackage/Runtime/Popup/ | 현재 workspace 구현 기준 |
UIPopupCanvas
UIBaseCanvas<UIPopupCanvas>, IPoolableUIPopupPanel _panel을 소유한다NormalizeCanvasRect()로 full-stretch rect를 강제한다- bootstrap 후
Init()되어panel을 expose한다 - public
OnPoolSpawned()/OnPoolDespawned()는 base_HandlePoolSpawned()/_HandlePoolDespawned()bridge다 - canvas/panel은 init once를 유지하고, respawn 시 base helper가 canvas-owned component와 panel-owned subtree를 재초기화한다
UIPopupPanel
UIBasePanel<UIPopupCanvas>UIPopupDim과PopupRoot를 소유한다- manager가 spawn한
UIPopupFrameBase를PopupRoot에 attach / detach 한다 AttachFrame(frame)는 frame을PopupRoot에 붙인 뒤 아직 init 전이면frame._Init(owner.canvas)+frame._InitComplete()를 호출한다- panel 아래 시각 계층은 다음을 기준으로 정리한다
UIPopupDim
DimchildGameObject에 붙는 shared modal layer component- 같은
GameObject의Image와CanvasGroup를 사용한다 RequireComponent(typeof(Image)),RequireComponent(typeof(CanvasGroup))규약으로 고정한다IPointerClickHandler로 dim click을 manager에 전달한다Button/EventTrigger는 사용하지 않는다
Modal State
ApplyModalState(bool showDim, bool blockBehind, bool closeOnDimClick)가 담당한다.
- dim 표시 여부
- blocker 여부
- dim click 허용 여부
panel은 UIPopupDim.ApplyState(...)로 위 상태를 위임한다. dim color/alpha는 prefab Image의 원본 값을 사용한다 (스크립트에서 덮어쓰지 않음). dim과 blocker는 항상 top popup frame policy 기준으로 계산한다.
Input Gate Boundary
- shared dim/blocker는
UIPopupDim이 담당한다 - popup 간 top-only input gate는
UIPopupFrameBase의 rootCanvasGroup가 담당한다 UIPopupPanel은 popup별 input gate를 직접 관리하지 않는다
Editor Install
UIPopupPanelEditor가 Edit Mode inspector button을 제공한다Install Missing은Dim과PopupRootchild를 생성하고 reference를 연결한다Dim에는Image,CanvasGroup,UIPopupDim을 설치한다Normalize Layout는 두 child rect를 full-stretch로 다시 맞춘다
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/devian-unity/23-ui-package/12-ui-popup-system/11-ui-popup-canvas-panel/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/devwinsoft/devian/11-ui-popup-canvas-panel)