Deleted a ton of view controllers.  The record-related stuff I saved in a different, local folder on my computer before deleting it.
AccelModel: removed period performSelector: afterDelay: style accelerometer checking, and replaced with queue-handler type callback.  Cleared out a ton of analysis logic, it’s going to have to be rewritten anyway.  For now, the model doesn’t remember any accelerometer data past the most recent datum.  The model now fires off notifications when it gets new data, cleaner than delegation since we want multiple classes to know.
AccelModelDelegate: removed; the accelerometer model won’t have a protocol or a delegate anymore.  That system will be replaced by notifications.
FirstViewController: registered VC for model notifications to test that feature.
GraphViewController: commented out anything that prevented me from building; besides that, nothing.  This whole VC is in limbo; may not last long anyways.
LevelBubbleView: began work on a custom view to show a stylized 2D bubble level.  This will serve as a visual indicator to the user to lay the phone flat on the test surface.
FirstViewController: removed an annoying NSLog; added a test button to do stuff.
LevelBubbleView: started drawing code.
AccelerometerModel: added a ton of strings that act as keys for a bunch of new info that’s now included in the model’s notifications, including: raw and averaged accelerometer data per axis, and raw and averaged angle-to-axis data per axis.  Turns out I didn’t need any of the angle-to-axis data in the implementation, but it’s staying for now because it could be useful.  Also added averaging of a set number of values, even when not actively “tracking” the data.  I plan to make a distinction between updating, which keeps the raw and averaged values current, and tracking, which is updating and also does forthcoming interpretation of the data for timespans greater than strictly required by the averaging.
FirstVC: made the VC tell the LevelBubbleView about new acceleration data.  Experimented with device rotation settings.
LevelBubbleView: initial working version of the bubble view.  It draws the outer circle, and the indicator is animated into the proper position, no matter the device’s orientation.  It also checks and compensates for device orientation, but at the moment, the intervening animation is choppy.
AccelerometerModel: began implementing a hold-detection method to determine if and how long the device has been in a flat state.
LevelBubbleView: added centering mark, the circle into which the indicator fits when it is centered; removed “orientation dot”