analyticsA small bit of code for handling Google Analytics
channelsAn abstraction over WebSockets and other communication channels (like postMessage).
chatHandles the chat messages (except actual display, which is in ui.js).
consoleAn console replacement that collects messages and allows TogetherJS-specific log levels
cursorHandles the shared cursors, display and capturing the events. Also handles clicks and scrolls. Includes UI.
elementFinderGenerates something like a CSS selector for an element, and finds said elements based on selectors. A portable description of an element.
eventMakerCreates artificial events, like a fake click event.
formsHandles synchronization of forms, including CodeMirror and ACE support. Implements a portion of OT.
jqueryPluginsSome plugins for jQuery; doesn't export anything, just patches $.
linkifyDetects and adds links to plain text.
otOperational transformation support: what keeps big chunks of text in sync when multiple people are simultaneously editing those fields.
peersHandles the objects representing the peers and oneself.
playbackHandles the magic /playback command that plays recordings.
randomutilSome functions/methods for random numbers, really just for testing support.
recorderUsed by recorder.html, which is a kind of alternate mini-client used to record sessions when you put /record in the chat box.
sessionThe most important and most core module in the system. This sets up the channels, routes messages, tracks peers, and is used for inter-module communication using events.
startupHandles the logic of what to display when TogetherJS is first started up (including warning messages, introductory stuff, the share link, confirmation of joining the session).
storageAn abstraction (over localStorage) of per-tab and client storage.
templatesThis is generated from interface.html and other sources, including the content as inline strings.
templatingHandles creating new nodes based on DOM templates. Does some substitution based on specific class names.
togetherjsThis is the bootstrap code. It is included on all pages, defines the TogetherJS variable, and handles configuration and initial loading.
uiThis has most of the UI, meaning everything involving HTML, and reacting to that interface.
utilLots of support code in here. It doesn't depend on other things, and has fairly abstract general-purpose code. It includes a pattern for creating classes, assertions, events.
videosvisibilityApiHandles cross-browser tab visibility events
walkthroughImplements the walkthrough interface (content is in walkthrough.html).
webrtcHandles live audio chat.
whoLets clients peek into rooms and invite people from those rooms without joining the room
windowingHandles the creation of different windows, notifications, and modal windows.
youtubeVideosSupport for the YouTube video sync feature