Skip to main content

view-composition

Change or review UIKitUltra view composition internals inside the UIKitUltra source repository. Use for BodyBuilder, BodyBuilderItem, View+Body, View+Add, ForEach, stack insertion/removal, subscriptions, and composition diff behavior; not for ordinary downstream view construction.

معلومات المصدر

المستودع
swiftstream/Ultra
آخر نشاط في المصدر
٢١ سبتمبر ٢٠٢٦ في ٢٠:٢٢
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٦٢٨
التفرعات
٣٦

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
view-composition
description
Change or review UIKitUltra view composition internals inside the UIKitUltra source repository. Use for BodyBuilder, BodyBuilderItem, View+Body, View+Add, ForEach, stack insertion/removal, subscriptions, and composition diff behavior; not for ordinary downstream view construction.
# Maintain UIKitUltra View Composition Use this LOCAL contributor skill for built-in composition/runtime source work. ## Load the smallest decision-complete context 1. Assume root/architecture/skill routing already selected this skill and `VIEW_COMPOSITION.md`; do not re-read `AGENTS.md`/`SKILL_INDEX.md` unless that context is genuinely missing or stale. 2. Use [`VIEW_COMPOSITION.md`](../../architecture/VIEW_COMPOSITION.md) as the primary owner. 3. Add only the supporting contract the change needs: - [`RUNTIME_MODEL.md`](../../architecture/RUNTIME_MODEL.md) for insertion/update lifecycle; - [`MUTATION_MODEL.md`](../../architecture/MUTATION_MODEL.md) for subscriptions/diff callbacks; - [`FLUENT_CHAIN_CONTRACT.md`](../../architecture/FLUENT_CHAIN_CONTRACT.md) for changed public composition APIs. 4. Use [`SOURCE_MAP.md`](../../SOURCE_MAP.md) only if the affected source location/ownership is not already known. ## Plan checklist - Identify affected composition entrypoints such as `body`, `addItem`, `add(views:at:)`, stack add paths, or `ForEach`. - Classify the impact as DSL, runtime, or cross-layer. - Identify subscription/diff handling changes and repeated-setup listener risk. - Preserve explicit insertion/removal ordering and object identity. ## Implementation rules - Preserve reference/object identity; do not introduce value-view copy semantics. - Keep insertion ordering explicit and consistent with current composition ownership. - If changing `ForEach` subscriptions, keep begin/listener/end update flow and listener ownership explicit. - Treat diff `modifications` handling as explicit policy; do not imply support that is not implemented. - Do not add a second composition/runtime model to compensate for one local edge case. ## Audit Verify: - fluent composition-facing chain continuity remains intact; - `ForEach` insertions/deletions and any intentionally supported modifications remain safe; - no hidden lifecycle regression appears in view/stack insertion/removal; - repeated setup does not silently accumulate listeners/subscriptions; - runtime docs change only if durable update timing/ownership actually changed; - unrelated source/governance remains untouched. Stop and re-plan if the work requires a new composition ownership/lifecycle mechanism rather than an implementation inside current UIKitUltra architecture.
عرض على GitHub