This commit is contained in:
commit
8f085a28d3
3220 files changed
+985495
No files matched your search
@@ -0,0 +1 @@
|
||||
[{"id": 22746, "html_url": "https://gitea.hmac.kr/Kyeongmin/C.E.L_Slide_test2/issues/75#issuecomment-22746", "pull_request_url": "", "issue_url": "https://gitea.hmac.kr/Kyeongmin/C.E.L_Slide_test2/issues/75", "user": {"id": 28, "login": "Kyeongmin", "login_name": "", "source_id": 0, "full_name": "이경민", "email": "kyeongmin@noreply.localhost", "avatar_url": "https://gitea.hmac.kr/avatars/d883a35f9197b080b2a0c535c3f9357dcd5c7d40b3c42bd8f40218cb94609a8e", "html_url": "https://gitea.hmac.kr/Kyeongmin", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2025-12-30T10:51:04+09:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 1, "username": "Kyeongmin"}, "original_author": "", "original_author_id": 0, "body": "[Claude #1] Stage 1 problem review — IMP-47A\n\n## Root cause verification (all 4 frontend issues + uncommitted Codex diff)\n\n### U1 — iframe slide clipping (sandbox missing allow-scripts)\n- **Symptom**: slide pushed down / clipped inside iframe.\n- **Verified path**:\n - `Front/client/src/components/SlideCanvas.tsx:296` → `sandbox=\"allow-same-origin\"` (no allow-scripts).\n - `Front/client/src/components/SlideCanvas.tsx:191-193` → frontend appends `?embedded=1` to final.html URL.\n - `templates/phase_z2/slide_base.html:9-20` → `embedded_mode == \"auto\"` branch ships an inline `<script>` that reads `?embedded=1` (or `window.self !== window.top`) and adds `html.embedded` class.\n - `templates/phase_z2/slide_base.html:38-46` → `html.embedded` resets standalone body CSS (`display:flex; align-items:center; min-height:100vh; padding:20px 0`).\n - `src/phase_z2_pipeline.py:2082` → backend default `embedded_mode=\"auto\"`. So embedded class application depends on the script running.\n- **Causal chain**: sandbox blocks script → `html.embedded` never set → standalone body centering applies → 1280×720 slide pushed by flex/padding inside iframe.\n- **Fix**: sandbox = `\"allow-same-origin allow-scripts\"` (frontend-only, 1-token change).\n\n### U2 — frame candidate single-source (committed) vs 3-source merge (issue ask)\n- **Verified path**:\n - HEAD `Front/client/src/services/designAgentApi.ts:511-516` (per `git show HEAD`) currently uses a ternary fallback: `candidate_evidence.length > 0 ? candidate_evidence : (v4_all_judgments?.length > 0 ? v4_all_judgments : v4_candidates)`. Only **one** source is consumed → user sees fewer candidates than backend actually emits.\n - Working-tree (Codex pre-edit) at the same lines already replaces this with a `Map<template_id, candidate>` dedup that pushes all three sources in priority order, then sorts by `LABEL_PRIORITY` + confidence desc and caps at `TOP_N_FRAMES = 6`.\n- **Verdict**: Codex pre-edit matches issue spec exactly — template_id dedup, label-priority sort already present, TOP_N_FRAMES cap unchanged. No hidden behavior change beyond the merge.\n- **Adopt-as-is** in Stage 3 (no rollback, no separate commit).\n\n### U3 — handleGenerate stale-closure deps\n- **Verified path**:\n - HEAD `Front/client/src/pages/Home.tsx:380` deps `[state.uploadedFile]` only.\n - `handleGenerate` body (Home.tsx:243-379) reads: `state.uploadedFile`, `state.slidePlan`, `state.userSelection.overrides.{layout_preset,zone_frames,zone_geometries,zone_sections}`, and `effectiveSlidePlan` which itself reads `pendingZones`, `state.slidePlan`, `pendingLayout` (Home.tsx:458-463).\n - Working-tree (Codex pre-edit) deps = `[state.uploadedFile, state.slidePlan, state.userSelection, pendingZones, pendingLayout]`.\n- **Causal chain**: with HEAD deps, after first generate the closure freezes the empty `userSelection` / `slidePlan=null` baseline. User changes layout/frame → `setState` updates state → but the `onClick={handleGenerate}` reference is still the stale closure → `overrides` computed against frozen sourcePlan → backend gets empty override payload → no apparent effect of user picks.\n- **Verdict**: Codex pre-edit deps are the minimum-correct set. `state.userSelection` covers all `.overrides.*` fields (referential). `effectiveSlidePlan` is derived from listed deps. Adopt-as-is.\n\n### U4 — pending layout overlay signal\n- **Verified path**:\n - `Front/client/src/components/LayoutPanel.tsx:226-236` → card \"적용하기\" button calls `onApplyLayout` → Home.tsx:122-155 `handleApplyPendingLayout` → sets `pendingLayout`, `hasPendingChanges=true`, switches right tab to `frame`.\n - `Front/client/src/components/LeftMdxPanel.tsx:294-314` → when `hasPendingChanges=true`, the bottom button transforms into amber **선택대로 재생성하기** with pulsing dot + \"Pending Changes\" badge + helper copy.\n - `Front/client/src/components/SlideCanvas.tsx:236, 240, 361-389` → slide-body overlay shows `Pending layout: {id}` hint and a cancel affordance.Line truncated
|
||||
Reference in new issue
Block a user