1. A computer-implemented method for creating one or more “experience streams” for use in enabling interactive narratives, comprising using a computer to perform steps for: defining an “experience stream” as including a set of “data binding” elements that define and populate an environment through which the experience stream runs and a set of “trajectory” elements comprising any combination of “keyframes”, “transitions”, and “markers”; wherein the set of data binding elements includes “environment data” comprising elements including any combination of images, video, and audio; wherein the set of data binding elements further includes zero or more “artifacts” comprising one or more objects logically embedded in an image; wherein the set of data binding elements further includes zero or more highlighted regions within an image; said keyframes each comprising information states that define states of corresponding elements of the environment data at one or more points in time; said keyframes each further comprising a particular environment-to-viewport mapping at a particular point in time; wherein each environment-to-viewport mapping is defined by one or more layout constraints that dictate a size and position of each viewport relative to each other viewport in the environment; and said “markers” being used to specify a particular point in a logical sequence of an interactive narrative constructed by combining multiple experience streams.