Visual Story Map Generator

Add Story Scene/Chapter

Scene Manager

Untitled Narrative

World: Fantasy World | Type: Novel Outline

Add your first scene to begin mapping the story flow.

Project Metadata

World: | Type:

I. Story Flow & Synopsis

Phase Scene Title Core Conflict / Summary POV / Focus Action

II. Phase Legend

  • SETUP: Introduces character, setting, and the Inciting Incident.
  • RISING ACTION: Series of escalating challenges, trials, and failures.
  • CLIMAX: Highest point of tension; the central conflict is resolved or altered.
  • RESOLUTION: The falling action, wrap-up, and return to the new normal.

No scenes added.

'; return; } scenes.forEach((scene, index) => { const div = document.createElement('div'); div.className = `manager-item mgr-${scene.phase}`; div.innerHTML = `
${index + 1}. ${scene.title} (${scene.phase})
`; container.appendChild(div); }); } // --- PDF Export --- function generatePDF() { if (scenes.length === 0) { alert("Please add scenes to the map before generating the PDF."); return; } const template = document.getElementById('pdf-template'); const pdfTbody = document.getElementById('pdf-tbody'); // 1. Transfer Metadata document.getElementById('pdf-title-copy').innerText = document.getElementById('disp-title').innerText; document.getElementById('pdf-world').innerText = document.getElementById('cfg-world').value; document.getElementById('pdf-type').innerText = document.getElementById('cfg-type').value; // 2. Fill Table Content pdfTbody.innerHTML = ''; scenes.forEach((entry, index) => { pdfTbody.innerHTML += ` ${entry.phase.toUpperCase()} ${index + 1}. ${entry.title} ${entry.conflict} ${entry.pov || 'N/A'} [ ] `; }); // 3. Generate PDF template.style.display = 'block'; const opt = { margin: 0.5, filename: 'Story_Map_Outline.pdf', image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2 }, jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' } }; html2pdf().set(opt).from(template).save().then(() => { template.style.display = 'none'; }); } return { switchTab, updateMeta, addScene, deleteScene, generatePDF }; })();
Scroll to Top