Skip to content

US-YW8: Import Scene Timeline Data #134

@smith-and-web

Description

@smith-and-web

User Story

As a yWriter user who tracks story chronology,
I want to have my scene date/time data preserved,
So that I can reference timeline information while drafting.

Parent Epic: #123

yWriter XML Structure

<SCENE>
  <ID>1</ID>
  <Title>The Package Arrives</Title>
  
  <!-- Absolute date/time -->
  <Date>2024-03-15</Date>
  <Time>14:30</Time>
  
  <!-- Relative story day -->
  <Day>3</Day>
  <Hour>14</Hour>
  <Minute>30</Minute>
  
  <!-- Duration -->
  <LastsDays>0</LastsDays>
  <LastsHours>2</LastsHours>
  <LastsMinutes>30</LastsMinutes>
</SCENE>

Timeline Fields

Field Description Format
<Date> Absolute calendar date YYYY-MM-DD or varies
<Time> Absolute time HH:MM
<Day> Story day number Integer
<Hour> Hour of day 0-23
<Minute> Minute of hour 0-59
<LastsDays> Scene duration (days) Integer
<LastsHours> Scene duration (hours) Integer
<LastsMinutes> Scene duration (minutes) Integer

Use Cases

  1. Chronological ordering: Sort scenes by timeline position
  2. Timeline visualization: Show scene sequence on a timeline
  3. Continuity checking: Verify scene durations don't overlap
  4. Reference while drafting: "This scene happens on Day 3, afternoon"

Mapping to Kindling

Timeline data is metadata that doesn't map directly to beats or prose. Options:

  1. Scene metadata: Store as scene-level attributes
  2. Custom fields: If Kindling supports custom metadata fields
  3. Notes: Convert to text in scene notes
  4. Timeline view: If Kindling has timeline visualization (future)

Acceptance Criteria

  • Imports Date field from scenes
  • Imports Time field from scenes
  • Imports Day field (story day number)
  • Imports Hour and Minute fields
  • Imports duration fields (LastsDays, LastsHours, LastsMinutes)
  • Timeline data displays in scene metadata panel
  • Empty/missing timeline fields handled gracefully
  • Chronological sorting possible based on imported dates (if supported)

Edge Cases

  • Partial data: Only Day set, no Date or Time
  • Invalid dates: Malformed date strings
  • Conflicting data: Both absolute (Date) and relative (Day) set
  • Duration without start: Scene has duration but no start time

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: importImport functionalityenhancementNew feature or requestrelease:futurev2.0+ Future ExpansionywriteryWriter import integration

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions