This page documents each configurable parameter, the currently allowed input range in the app UI, and why it can matter for Visual Snow symptom tracking. Explanations are practical rather than diagnostic and are intended for patient-clinician communication and consistent logging.
Version scope: mobile app controls and questionnaire fields currently implemented in the app codebase.
The Visual Snow Simulator operates entirely offline on a Zero-Knowledge Architecture.
All parameters described below fall under this strict local-only policy.
| Config | Min | Max / Options | Explanation |
|---|---|---|---|
| Intensity | 0.0 | 1.0 | This controls how dominant the static is over the camera/background view. It is one of the most direct severity proxies for baseline symptom burden in day-to-day logging. |
| Transparency (Alpha) | 0.0 | 1.0 | This controls how opaque the static layer appears. Tracking alpha helps separate "amount of static" from "how intrusive it feels" under different environments. |
| Grain Size | 0.5 | 30.0 | This adjusts the perceived particle/coarseness scale of visual snow. Larger grain can better match users who describe chunkier noise rather than fine TV-like shimmer. |
| Speed | 0.1 | 3.0 | This sets temporal movement speed of the static. Capturing speed matters because some users report symptom worsening as flicker dynamics increase, not just brightness. |
| Pattern | - | Random, Circular, Brownian, Linear | This selects the motion model used by the static generator. Different patterns can map better to individual descriptions and improve consistency across repeated sessions. |
| Config | Min | Max / Options | Explanation |
|---|---|---|---|
| Enabled | Off | On | This toggles floater simulation as a separate domain from static. Keeping this explicit helps avoid blending multiple symptom classes into one severity score. |
| Count | 0 | 50 | This controls the number of particles rendered as floaters. Count helps model visual clutter load and supports comparison across trigger conditions. |
| Min Size | 0.005 | 0.1 | This sets the lower size boundary for floater particles. It captures whether users perceive mostly fine debris versus larger spots. |
| Max Size | 0.01 | 0.2 | This sets upper particle size for floaters. Logging max size helps represent sporadic large opacities that can disproportionately affect reading and focus. |
| Transparency | 0.0 | 1.0 | This controls floater opacity. Opacity often changes perceived disability independently of raw count and should be tracked separately. |
| Gyro Sensitivity | 0.0 | 0.02 | This adjusts motion coupling to head/device movement. It is useful for users who report stronger floater drift when moving. |
| Brownian Drift | 0.0 | 0.002 | This sets random micro-movement strength of floaters. It helps approximate spontaneous jitter for more realistic symptom matching. |
| Damping | 0.5 | 0.999 | This controls how quickly floater motion settles. Higher damping creates smoother inertia while lower values create quicker stops and can feel less physiologic. |
| Color | - | Black, Gray, Brown, Red, Navy | This approximates perceived floater tint. While subjective, color can help users describe symptom type more concretely to clinicians. |
| Shape | - | Circle, Worm, Cluster | This selects floater morphology. Shape tracking can support pattern matching in longitudinal symptom diaries. |
| Config | Min | Max / Options | Explanation |
|---|---|---|---|
| Enabled | Off | On | This toggles blue-field style dot phenomena. Separation from static is important because entoptic complaints may track different triggers. |
| Count | 20 | 400 | This controls number of dots. Count can reflect symptom density and response to light/context changes. |
| Transparency | 0.0 | 1.0 | This sets dot opacity and perceived prominence. It helps estimate symptom intrusiveness independent of count. |
| Speed | 0.1 | 5.0 | This controls motion speed of the blue-field particles. Motion rate can better match reports of fast darting versus slow drift. |
| Size | 0.5 | 5.0 | This scales particle size. Logging size supports more precise phenotyping between subtle and overt entoptic sensations. |
| Dot Shape | - | Circle, Arc, Spark | This chooses rendered dot style. It improves descriptive fidelity and repeatability across sessions. |
| Movement | - | Linear, Squiggly, Circular | This chooses particle trajectory model. Different movement classes are useful for matching subjective reports and subgrouping records. |
| Color | - | White, Lt.Blue, Yellow, Green | This sets particle color impression. Color variation may capture context-sensitive symptom appearance and user-specific phenotype. |
| Config | Min | Max / Options | Explanation |
|---|---|---|---|
| Aura Intensity | 0.0 | 1.0 | This sets overall migraine-like aura strength. Tracking aura separately from static is important because flare patterns can differ in timing and triggers. |
| Aura Type | - | Scotoma, Fortification | This captures aura morphology category. Type consistency across sessions can help clinicians interpret symptom reproducibility. |
| Photopsia Intensity | 0.0 | 1.0 | This controls intensity of flash-like photopsia effects. It supports documenting episodic spikes that may not align with baseline static levels. |
| Glare | Off | On | This enables starburst/glare simulation. It can represent light sensitivity burden and night-driving discomfort patterns. |
| Rainbow Halo | Off | On | This toggles chromatic halo effects around bright sources. Recording this helps distinguish refractive/light artifact complaints from noise-based symptoms. |
| Near Object Halo | Off | On | This toggles close-range halo behavior. It can capture reading or indoor-light difficulties that are not obvious in general severity scores. |
| Config | Min | Max / Options | Explanation |
|---|---|---|---|
| Enabled | Off | On | This enables edge-emphasis post-processing. It is useful for users describing luminous contours or edge shimmer. |
| Edge Alpha | 0.0 | 1.0 | This controls overlay opacity of glowing edges. It provides a direct intensity proxy for this specific distortion mode. |
| Softness (Process Scale) | 32 | 240 | This changes processing scale used by edge extraction. Lower detail yields broader soft glow, while higher detail yields tighter edge halos. |
| Levels Black | 0.0 | 0.4 | This shifts low-end thresholding of detected edges. It helps tune whether faint edges appear or are suppressed. |
| Levels White | 0.6 | 1.0 | This sets high-end clipping for edge luminance. It affects highlight roll-off and can model over-bright edge perception. |
| Levels Gamma | 0.2 | 3.0 | This applies non-linear response to edge intensity. Gamma helps fit contrast behavior to individual perception. |
| Gaussian Blur | 0 | 6 | This smooths edge signal spatially. Blur controls whether edges feel crisp, smeared, or halo-like. |
| Colorize Strength | 0.0 | 1.0 | This blends grayscale edges toward tint color. It can represent chromatic aberration-style experiences around contours. |
| Displace X | -60 | 60 | This offsets secondary edge ghost horizontally. It can mimic directional ghosting or channel misregistration. |
| Displace Y | -60 | 60 | This offsets secondary edge ghost vertically. Logging displacement helps encode orientation-specific visual disturbance. |
| Tint | - | White, Cyan, Yellow, Pink, Purple | This chooses edge tint color. Color profile can improve communication of subjective light distortion quality. |
| Config | Min | Max / Options | Explanation |
|---|---|---|---|
| Enabled | Off | On | This enables cloud-like dynamic field overlay. It helps represent non-point noise textures that some users report. |
| Alpha | 0.0 | 1.0 | This controls cloud overlay opacity. It is a direct visibility metric for cloud-domain distortion. |
| Speed | 0.1 | 5.0 | This sets temporal evolution rate of cloud fields. Fast dynamics can be tracked separately from static flicker speed. |
| Scale | 0.25 | 4.0 | This sets spatial frequency/size of cloud structures. It differentiates coarse haze-like fields from fine texture patterns. |
| Base Hue | 0 | 360 | This sets base color angle of the cloud model. It helps capture dominant tint in color-linked distortion episodes. |
| Hue Range | 10 | 180 | This controls color variability around base hue. Higher range creates multi-hue dynamics useful for richer symptom matching. |
| Saturation | 0.0 | 1.0 | This controls color intensity from grayscale to vivid. It can model whether the distortion feels neutral or strongly chromatic. |
| Contrast | 0.0 | 2.0 | This controls separation between bright and dark cloud regions. Contrast captures perceived harshness and visual interference load. |
| Soft Light Blend | Off | On | This chooses blend strategy with background imagery. Blend mode can significantly change comfort and realism across environments. |
| Config | Min | Max / Options | Explanation |
|---|---|---|---|
| Visual Vibration | 0.0 | 1.0 | This controls micro-shake/jitter intensity in the scene. It can reflect instability complaints that are distinct from static density. |
| Diplopia Intensity | 0.0 | 1.0 | This controls amount of double-vision separation. It is useful for documenting intermittent binocular-like ghosting burden. |
| Diplopia Direction | 0 | 360 | This sets angular direction of image separation. Direction tracking supports more structured symptom description for clinical review. |
| Diplopia Rotation | 0 | 360 | This rotates duplicated image component. It can model skewed/tilted ghost images that simple horizontal shifts cannot represent. |
| Palinopsia Enabled | Off | On | This toggles afterimage/trailing simulation. Keeping this explicit is important because palinopsia can have different trigger profiles than static. |
| Palinopsia Type | - | Hallucinatory, Illusory | This classifies the afterimage style category. Type consistency can help identify subpatterns in longitudinal logs. |
| Palinopsia Area | - | Circle, WholeScreen | This sets spatial extent of afterimage effect. Extent can strongly influence functional impact during tasks like reading or navigation. |
| Ghost Layers | 1 | 5 | This controls number of trail layers. Layer count quantifies visual persistence complexity. |
| Opacity | 0.05 | 0.6 | This controls transparency of afterimage traces. Opacity is often the key determinant of interference with text or edges. |
| Layer Spacing | 5 | 120 | This sets spacing between trails in pixels. Spacing helps encode perceived temporal delay and displacement feel. |
| Circle Radius | 0.1 | 0.6 | This controls active radius when circular palinopsia mode is used. It distinguishes central-field versus broader involvement. |
| Motion Tracking Weight | 0.0 | 1.0 | This blends between manual and sensor-derived trail direction. It helps users represent whether trails follow motion context or fixed direction. |
| Manual Trail Angle | 0 | 360 | This sets fixed trail angle when motion weighting is reduced. It captures directional afterimage bias reports. |
| Afterimage Rotation | 0 | 360 | This rotates ghost copies relative to scene. Rotation can model more complex distortive geometry in patient reports. |
| Config | Min | Max / Options | Explanation |
|---|---|---|---|
| Enabled | Off | On | This toggles audio symptom simulation in parallel with visual settings. It supports logging multimodal symptom episodes in one session. |
| Volume | 0.0 | 1.0 | This sets tinnitus loudness model. Loudness tracking can help correlate sensory load with anxiety, sleep, and stress fields. |
| Base Pitch | 100 Hz | 15000 Hz | This sets main tone frequency. Frequency range logging helps characterize subjective tinnitus profile across sessions. |
| Type | - | Tone, White, Pink, Brown, FM, Multi, Pulse | This picks synthesis mode for tinnitus audio. Mode differences can better match subjective sound quality and improve report fidelity. |
| FM Depth | 10 Hz | 2000 Hz | This is used in frequency-variation mode to set modulation depth. It can represent wavering pitch instability over time. |
| Pulse Rate | 0.5/s | 10.0/s | This is used in pulsing mode to control beat frequency. Pulse characteristics can be useful contextual metadata during flare tracking. |
| Question | Range / Type | Why It May Be Relevant to VS |
|---|---|---|
| Anxiety | 0-10 slider | Anxiety can increase symptom salience and discomfort even when visual parameters are unchanged. Repeated logging helps detect whether symptom spikes are stress-linked or visually driven. |
| Depression | 0-10 slider | Mood burden is common in chronic sensory disorders and can alter coping capacity. Tracking this provides context for quality-of-life interpretation. |
| Stress | 0-10 slider | Stress is a frequent self-reported trigger for symptom worsening. Including it helps identify trigger-response patterns across weeks. |
| Sleep | 0-12 hours slider | Sleep disruption is often associated with poorer sensory tolerance. Recording sleep enables practical correlation checks with next-day symptom severity. |
| Energy | 0-10 slider | Energy level helps estimate functional impact beyond raw visual severity. Low energy with stable visual settings may indicate broader symptom load. |
| Triggers | Free text | Trigger context (light, caffeine, workload, etc.) is essential for individualized pattern detection. Free text allows factors not yet standardized in the model. |
| Notes | Free text | Notes capture qualitative nuance that sliders cannot express. This supports better clinician interpretation during case review. |
| Save as Preset | Boolean | Presets let users reapply known symptom profiles quickly and consistently. This improves reproducibility of comparisons over time. |
| Import from Health Connect | Optional permissioned import | Sleep and activity metadata can improve contextual interpretation of symptom sessions. It reduces manual entry burden and improves adherence to logging. |
These are optional self-reported checklist items. They are relevance signals for pattern exploration and should not be interpreted as diagnostic conclusions.
| Question | Why It May Be Relevant to VS Patterning |
|---|---|
| Long-term or childhood antibiotic use | Useful as a broad history marker when exploring developmental or systemic context. It may help stratify cohorts for hypothesis generation. |
| Logged medications (past or current) | Medication exposure can influence sensory perception or comorbid symptoms. Capturing this helps avoid misattributing temporal changes. |
| Nose in vision that feels abnormal | May reflect altered visual filtering/awareness complaints. It helps document atypical perceptual salience patterns. |
| Nystagmus (involuntary eye movement) | Eye-movement disorders can interact with perceived visual instability. Including this provides clinically relevant context. |
| Blood flow or circulation issues | Vascular context is commonly explored in chronic neurologic symptom discussions. This supports subgroup analysis without implying causality. |
| High blood pressure | Blood pressure history can be useful covariate information in symptom trend analysis. It may help explain periods of altered visual comfort. |
| Kidney disease | Systemic health conditions can affect fatigue, stress response, and medication burden. This may indirectly influence symptom experience. |
| Severe head injury during childhood | Prior head trauma is a relevant neurologic history marker. It can guide exploratory comparisons in cohort analytics. |
| Brain inflammation after accidents or infections | Neuroinflammatory history may be relevant in differential patterning. Logging it supports structured retrospective review. |
| Stressful periods that caused trauma | Psychophysiologic load can amplify symptom severity perception. This helps contextualize high-burden periods in logs. |
| High stress hormones or chronic stress | Chronic stress can affect sensory threshold and sleep architecture. Tracking this may clarify stress-linked flare trajectories. |
| Cyclical Cushing's or high cortisol | Endocrine variability can alter neurologic and mood symptoms. This is useful metadata in temporal analyses. |
| ADHD | Attention regulation can influence symptom salience and coping strategies. Including it can improve personalization of interpretation. |
| Neurodivergent traits | Different sensory processing profiles may affect how symptoms are experienced and reported. This supports more nuanced subgrouping. |
| Dyslexia | Reading/visual processing history may relate to functional impact framing. It can refine interpretation of task-specific burden. |
| Allergies | Allergic states can influence fatigue, sleep, and overall symptom load. This helps contextualize non-visual contributors. |
| Insect bites (e.g., caterpillar exposure) | Environmental exposure is captured as broad context metadata. It supports exploratory association checks in cohorts. |
| MTHFR gene variant | Genetic context is optional and non-diagnostic here. It may be used only for high-level subgroup exploration. |
| Ptosis (drooping eyelids) | Ocular/neuromuscular signs can influence perceived visual effort. This can be relevant to functional symptom interpretation. |
| Memory inhibition or memory issues | Cognitive symptoms often co-occur with chronic sensory strain. Including these fields helps represent total burden. |
| Repetitive nightmares | Sleep disturbance indicators can correlate with next-day symptom severity. This adds useful temporal context. |
| Neuronal excitability symptoms (e.g., sensory sensitivity) | Hyperexcitability features are conceptually relevant to sensory syndrome profiling. This field supports hypothesis-oriented clustering. |
| Family history of similar symptoms | Family patterning can be relevant for epidemiologic interpretation. It helps identify potential hereditary clustering signals. |