(조잡한 효과 전면 대체 및 고급화)
이 계획서는
xslide.kr
의 프리미엄 디자인 강화를 위해 기존의 단순하거나 조잡했던 동적 배경(특히 파티클, 플라즈마, 3D 격자 등)을 해상도 독립적이며 매우 트렌디하고 세련된 벡터/그라디언트 기반 동적 배경 시스템으로 개편하기 위한 설계안입니다.
사용자 검토 요구사항
IMPORTANT
- 조잡한 효과의 고급 대체안:
-
particles(파티클) ➔ "웨이브 (Liquid Wave)": 조잡한 먼지 날림 대신, 애플 스타일의 반투명하고 리퀴드한 사인파 레이어가 겹쳐 흐르는 프리미엄 연출. -
grid(3D 격자) ➔ "토포 라인 (Abstract Contour Lines)": 부자연스럽고 거친 격자선 대신, 정밀 기술/디자인 슬라이드에 적합한 유려한 지형학 등고선(Topographic Wave Lines) 연출. -
plasma(플라즈마) ➔ "글래스모피즘 (Glassmorphic Flow)": 색 왜곡이 심하고 거칠었던 노이즈 플라즈마 대신, 최근 가장 유행하는 흐릿한 프로스트 글래스(Frosted Glass) 카드 오브젝트가 부드러운 그라디언트 위를 유영하는 감각적인 연출.
-
- 다크 & 라이트 최적화: 모든 벡터 및 CSS 요소들은 해상도에 무관하게 깨짐이 없이 선명하게 유지되며, 다양한 화면 크기에 맞춰 스케일링됩니다.
- 동기화 보장: 에디터(
editor.js), 프레젠테이션 내보내기용 스크립트(events.js), 공유 뷰어(viewer.html) 전반에 걸쳐 동일한 디자인과 모션이 동일하게 실행되도록 통합합니다.
제안된 변경 사항
1. 에디터 UI 및 레이블 변경
[MODIFY]
-
data-bg-dynamic="particles"의 레이블을 **"파티클"**에서 **"웨이브"**로 변경하고, 아이콘을ph-sparkle에서ph-wave-sine으로 수정합니다. -
data-bg-dynamic="grid"의 레이블을 **"3D 격자"**에서 **"토포 라인"**으로 변경하고, 아이콘을ph-grid-nine에서ph-activity로 수정합니다. -
data-bg-dynamic="plasma"의 레이블을 **"플라즈마"**에서 **"글래스"**로 변경하고, 아이콘을ph-waves에서ph-square-half로 수정합니다. - 세부 옵션 패널의 텍스트 레이블 역시 테마에 어울리도록 수정합니다 (예: "격자 선 색상" ➔ "라인 색상", "입자색" ➔ "웨이브 색상" 등).
2. 프리미엄 동적 배경 프리셋 상세 설계
①
aurora
(오로라)
- 디자인: macOS/Siri 스타일의 고급스러운 모핑 그라디언트 메쉬.
- 구현: 3개의 거대한 블러 원형 레이어(
blur(120px))를 배치하고, 각각 독자적인 느린 타원 궤도로 부드럽게 순환시킵니다.
②
particles
(웨이브 / Wave)
- 디자인: 애플 테크 프레젠테이션 스타일의 반투명하고 리퀴드한 3중 사인파(Sine Wave) 레이어의 흐름.
- 구현: Canvas API를 활용해 위상과 파장 주기가 다른 3개의 물결선을 그리고 겹쳐 흐르게 만듭니다.
③
grid
(토포 라인 / Topo Lines)
- 디자인: 첨단 테크 및 기획 발표에 최적화된 물리학 등고선/지형선 연출.
- 구현: Canvas를 사용하여 유기적으로 굽이치는 4~5줄의 추상 등고선 라인을 렌더링하고 위상을 매우 느리게 변화시킵니다.
④
liquid
(리퀴드 / 모핑 블롭)
- 디자인: 젤리나 물방울처럼 부드럽게 유기적으로 결합하고 떨어지는 모핑 액체.
- 구현: CSS
border-radius키프레임 애니메이션과mix-blend-mode: screen을 조합해 다채로운 색감의 물방울들이 흐느적거리는 느낌을 연출합니다.
⑤
breathing
(숨쉬기 / 스튜디오 조명)
- 디자인: 고급 스튜디오 조명 느낌의 중앙 하이라이트 펄스.
- 구현: 중앙의 소프트 방사형 그라디언트 광량이 깊고 차분한 호흡 템포에 맞춰 크기와 불투명도가 스케일링됩니다.
⑥
shifting
(시프팅 / 코스믹 그라디언트)
- 디자인: 은은한 새벽하늘을 형상화한 다중 리니어 그라디언트의 부드러운 순환.
- 구현:
background-size: 400% 400%그라디언트를 대각선 방향으로 미세하게 슬라이딩하여 무한 순환시킵니다.
⑦
plasma
(글래스 / Glassmorphic Flow)
- 디자인: 흐릿한 파스텔 배경 위에 투명한 프로스트 글래스(반투명 유리) 패널들이 떠다니는 세련된 트렌디 연출.
- 구현: 파스텔톤 백드롭 그라디언트를 바탕에 깔고, 흰색 미세 테두리와 흐림 필터(
backdrop-filter: blur(20px)), 그림자를 가진 라운드 패널 3~4개를 3D 레이어화하여 공간감 있게 유영시킵니다.
⑧
spotlight
(스포트라이트)
- 디자인: 조명이 천천히 움직이며 캔버스를 훑는 무대 효과.
- 구현: GSAP을 활용하여 스포트라이트 중심점을 8자 무한 궤적(
figure-8) 형태로 정밀하게 회전/이동시킵니다.
3. 파일별 변경 계획
[MODIFY]
- 동적 배경 관련 레이블과 아이콘 클래스를 교체합니다.
[MODIFY]
-
window.applyDynamicBackground함수 내부의 분기를 전면 리팩토링합니다.
[MODIFY]
- 뷰어의
renderDynamicBackground및initParticles,initGrid함수를 에디터 사양과 동일한 수준으로 업그레이드 및 동기화합니다.
[MODIFY]
- HTML 내보내기 템플릿 코드의
initDynamicBGs내 드로잉 루틴 및 태그 빌더를 신규 사양으로 변경합니다.
검증 계획
- 에디터 내 동적 배경 옵션을 번갈아 선택하며 실시간 썸네일과 에디터 화면에 끊김 없이 고화질 렌더링이 이루어지는지 검사합니다.
- 슬라이드 뷰어 및 HTML 저장 파일에서 등고선(Grid), 웨이브(Particles), 글래스모피즘(Plasma) 등의 연출이 정상 동작하는지 검증합니다.

댓글 (2)
조잡한 효과 전면 대체 및 명칭 변경 (index.html):
기존의 파티클, 3D 격자, 플라즈마 등 거칠거나 활용도가 떨어지던 테마들을 트렌디하고 세련된 프리미엄 효과로 변경하고, 사이드 패널 UI 레이블과 아이콘을 교체했습니다.
"파티클" ➔ "웨이브" (아이콘: ph-wave-sine)
"3D 격자" ➔ "토포 라인" (아이콘: ph-waves)
"플라즈마" ➔ "글래스" (아이콘: ph-square-half)
세부 슬라이더 및 색상 변경 옵션의 가이드 문구 또한 등고선/파형 설정에 직관적이도록 "웨이브 색상", "웨이브 곡선 수", "라인 색상", "라인 움직임 속도" 등으로 조정했습니다.
프리미엄 벡터 모션 드로잉 엔진 구현 (editor.js, viewer.html, events.js):
오로라 (aurora): macOS Siri 스타일의 고급형 다중 레이어 그라디언트 메쉬로 재구현하고, 미세한 페이퍼 노이즈 질감을 추가해 해상도 깨짐 없는 고품격 백그롭을 제공합니다.
웨이브 (particles): HTML5 Canvas에 부드럽게 넘실거리며 겹쳐 흐르는 3중 반투명 물결(사인파 리본) 렌더러를 탑재하여 모던한 랜드스케이프를 연출합니다.
토포 라인 (grid): 소실점 격자선 대신 유기적인 수학 공식(Sine/Cosine)에 의해 실시간으로 파동이 움직이는 추상 지형학적 등고선 루프를 렌더링합니다.
글래스 (plasma): 아름다운 4색 파스텔 광원 배경 위에 실시간 3D 미세 흔들림이 적용된 반투명 프로스트 글래스(Frosted Glass Card)들이 몽환적으로 흐르는 글래스모피즘 효과를 구현했습니다.
리퀴드/숨쉬기/시프팅/스포트라이트: 색상 혼합 모드(mix-blend-mode), 블러 필터 강도, 애니메이션 경로(8자 무한대 궤적 figure-8 등)를 보정하여 더욱 현대적이고 매끄러운 움직임을 제공합니다.
에디터, 프레젠테이션 뷰어, HTML 내보내기 3단 동기화 완료:
에디터 미리보기 화면뿐만 아니라, 공유/프레젠테이션 뷰어(viewer.html) 및 **저장/내보내기한 단독 HTML 파일(events.js 템플릿)**에서도 모든 종류의 동적 배경 모션 그래픽이 100% 동일하게 렌더링되도록 스크립트와 드로잉 루프를 동기화했습니다.
변경된 자바스크립트 전체 파일에 대해 구문 정합성 검사(node -c)를 모두 마쳤으며 에러 없이 정상적으로 컴파일됨을 검증했습니다.
개편 내용의 상세 정보는
[구현 결과 안내서]
에서 확인하실 수 있습니다. 에디터 배경 설정 탭에서 직접 동적 배경을 적용하여 해상도와 관계없이 선명하고 트렌디한 슬라이드 배경들을 만나보세요!
웨이브 (Wave) 및 토포 라인 (Topo Lines) 동작 정지 문제 해결:
에디터(editor.js)와 뷰어(viewer.html) 등에서 첫 프레임 렌더링 시 canvas 요소가 DOM에 완전히 삽입되기 전에 애니메이션 루프(draw()) 내부에서 parentNode 존재 여부를 검사해 루프가 즉시 종료되던 버그(동작하지 않고 멈춤)를 해결합니다.
요소 삽입 코드를 드로잉 시작 전으로 앞당기거나 DOM 삽입 타이밍을 보장하여 끊김 없는 애니메이션을 제공합니다.
리퀴드 (Liquid) 화면 껌뻑임(Flicker) 해결:
border-radius 속성을 실시간으로 애니메이션하는 것은 브라우저가 매 프레임 대형 레이아웃 및 리페인트를 다시 수행하도록 유도해 큰 성능 저하 및 화면 깜빡임을 유발합니다.
border-radius를 고정된 유기적 형태로 두고, GPU 가속이 적용되어 껌뻑임이 전혀 없는 transform (이동 x/y, 회전 rotation, 크기 scale)만을 활용해 부드럽게 병합하고 유영하도록 연출을 개선합니다.
세부 옵션(크기, 색상, 속도 등)의 완벽한 저장 및 렌더링 연동:
기존에 사이드바 UI에만 존재하고 실제 슬라이드 상태 및 뷰어/내보내기 HTML에 연결되지 않았던 liquid, breathing, shifting, plasma, spotlight 등의 세부 제어 값(색상, 속도, 크기 등)을 상태(state.slides[i].bgDynamicProps)와 매핑합니다.
에디터(editor.js), 프레젠테이션 내보내기(events.js 내부의 템플릿 코드 및 런타임 스크립트), 공유 뷰어(viewer.html)에 모두 동일하게 세부 옵션을 렌더링하도록 일관되게 구현합니다.
댓글 쓰기