cyclecad 2.1.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/BILLING-IMPLEMENTATION-SUMMARY.md +425 -0
  2. package/BILLING-INDEX.md +293 -0
  3. package/BILLING-INTEGRATION-GUIDE.md +414 -0
  4. package/COLLABORATION-INDEX.md +440 -0
  5. package/COLLABORATION-SYSTEM-SUMMARY.md +548 -0
  6. package/DELIVERABLES.txt +296 -445
  7. package/DOCKER-BUILD-MANIFEST.txt +483 -0
  8. package/DOCKER-FILES-REFERENCE.md +440 -0
  9. package/DOCKER-INFRASTRUCTURE.md +475 -0
  10. package/DOCKER-README.md +435 -0
  11. package/Dockerfile +33 -55
  12. package/ENHANCEMENT_COMPLETION_REPORT.md +383 -0
  13. package/ENHANCEMENT_SUMMARY.txt +308 -0
  14. package/FEATURE_INVENTORY.md +235 -0
  15. package/FUSION360_FEATURES_SUMMARY.md +452 -0
  16. package/FUSION360_PARITY_ENHANCEMENTS.md +461 -0
  17. package/FUSION360_PARITY_SUMMARY.md +520 -0
  18. package/FUSION360_QUICK_REFERENCE.md +351 -0
  19. package/MODULE_API_REFERENCE.md +712 -0
  20. package/MODULE_INVENTORY.txt +264 -0
  21. package/PWA-FILES-CREATED.txt +350 -0
  22. package/QUICK-START-TESTING.md +126 -0
  23. package/STEP-IMPORT-QUICKSTART.md +347 -0
  24. package/STEP-IMPORT-SYSTEM-SUMMARY.md +502 -0
  25. package/app/css/mobile.css +1074 -0
  26. package/app/icons/generate-icons.js +203 -0
  27. package/app/index.html +1342 -5031
  28. package/app/js/app.js +1312 -514
  29. package/app/js/billing-ui.js +990 -0
  30. package/app/js/brep-kernel.js +933 -981
  31. package/app/js/collab-client.js +750 -0
  32. package/app/js/mobile-nav.js +623 -0
  33. package/app/js/mobile-toolbar.js +476 -0
  34. package/app/js/modules/animation-module.js +497 -3
  35. package/app/js/modules/billing-module.js +724 -0
  36. package/app/js/modules/cam-module.js +507 -2
  37. package/app/js/modules/collaboration-module.js +513 -0
  38. package/app/js/modules/constraint-module.js +1266 -0
  39. package/app/js/modules/data-module.js +544 -1146
  40. package/app/js/modules/formats-module.js +438 -738
  41. package/app/js/modules/inspection-module.js +393 -0
  42. package/app/js/modules/mesh-module-enhanced.js +880 -0
  43. package/app/js/modules/plugin-module.js +597 -0
  44. package/app/js/modules/rendering-module.js +460 -0
  45. package/app/js/modules/scripting-module.js +593 -475
  46. package/app/js/modules/sketch-module.js +998 -2
  47. package/app/js/modules/step-module-enhanced.js +938 -0
  48. package/app/js/modules/surface-module.js +312 -0
  49. package/app/js/modules/version-module.js +420 -0
  50. package/app/js/offline-manager.js +705 -0
  51. package/app/js/responsive-init.js +360 -0
  52. package/app/js/touch-handler.js +429 -0
  53. package/app/manifest.json +211 -0
  54. package/app/offline.html +508 -0
  55. package/app/sw.js +571 -0
  56. package/app/tests/billing-tests.html +779 -0
  57. package/app/tests/brep-tests.html +980 -0
  58. package/app/tests/collab-tests.html +743 -0
  59. package/app/tests/mobile-tests.html +1299 -0
  60. package/app/tests/pwa-tests.html +1134 -0
  61. package/app/tests/step-tests.html +1042 -0
  62. package/app/tests/test-agent-v3.html +719 -0
  63. package/cycleCAD-Architecture-v2.pptx +0 -0
  64. package/docker-compose.yml +225 -0
  65. package/docs/BILLING-HELP.json +260 -0
  66. package/docs/BILLING-README.md +639 -0
  67. package/docs/BILLING-TUTORIAL.md +736 -0
  68. package/docs/BREP-HELP.json +326 -0
  69. package/docs/BREP-TUTORIAL.md +802 -0
  70. package/docs/COLLABORATION-HELP.json +228 -0
  71. package/docs/COLLABORATION-TUTORIAL.md +818 -0
  72. package/docs/DOCKER-HELP.json +224 -0
  73. package/docs/DOCKER-TUTORIAL.md +974 -0
  74. package/docs/MOBILE-HELP.json +243 -0
  75. package/docs/MOBILE-RESPONSIVE-README.md +378 -0
  76. package/docs/MOBILE-TUTORIAL.md +747 -0
  77. package/docs/PWA-HELP.json +228 -0
  78. package/docs/PWA-README.md +662 -0
  79. package/docs/PWA-TUTORIAL.md +757 -0
  80. package/docs/STEP-HELP.json +481 -0
  81. package/docs/STEP-IMPORT-TUTORIAL.md +824 -0
  82. package/docs/TESTING-GUIDE.md +528 -0
  83. package/docs/TESTING-HELP.json +182 -0
  84. package/fusion-vs-cyclecad.html +1771 -0
  85. package/nginx.conf +237 -0
  86. package/package.json +1 -1
  87. package/server/Dockerfile.converter +51 -0
  88. package/server/Dockerfile.signaling +28 -0
  89. package/server/billing-server.js +487 -0
  90. package/server/converter-enhanced.py +528 -0
  91. package/server/requirements-converter.txt +29 -0
  92. package/server/signaling-server.js +801 -0
  93. package/tests/docker-tests.sh +389 -0
  94. package/~$cycleCAD-Architecture-v2.pptx +0 -0
@@ -0,0 +1,747 @@
1
+ # cycleCAD Mobile Tutorial
2
+
3
+ Complete guide to using cycleCAD on mobile and tablet devices.
4
+
5
+ ## Table of Contents
6
+
7
+ 1. [Supported Devices & Browsers](#supported-devices--browsers)
8
+ 2. [Getting Started](#getting-started)
9
+ 3. [Touch Gestures](#touch-gestures)
10
+ 4. [Mobile UI Overview](#mobile-ui-overview)
11
+ 5. [Working with Panels](#working-with-panels)
12
+ 6. [3D Viewport Touch Controls](#3d-viewport-touch-controls)
13
+ 7. [Creating a Sketch on Mobile](#creating-a-sketch-on-mobile)
14
+ 8. [Viewing STEP Files](#viewing-step-files)
15
+ 9. [Using the Bottom Toolbar](#using-the-bottom-toolbar)
16
+ 10. [Tips for Effective Mobile CAD](#tips-for-effective-mobile-cad)
17
+ 11. [Performance Optimization](#performance-optimization)
18
+ 12. [Known Limitations](#known-limitations)
19
+ 13. [Troubleshooting](#troubleshooting)
20
+
21
+ ## Supported Devices & Browsers
22
+
23
+ ### Tablets
24
+ - **iPad** (7th gen and newer) — Recommended for optimal experience
25
+ - **iPad Pro** (all models) — Best performance and screen real estate
26
+ - **Samsung Galaxy Tab** — S7 and newer recommended
27
+ - **Android tablets** (10" and larger) — Works well
28
+ - **Microsoft Surface** (tablet mode) — Full support
29
+
30
+ ### Phones
31
+ - **iPhone 12** and newer — Recommended minimum
32
+ - **iPhone SE** (2nd gen) — Supported but cramped
33
+ - **Samsung Galaxy S20** and newer — Recommended
34
+ - **Android phones** (6" and larger) — Works better than smaller screens
35
+ - **Foldable devices** — Tested on Samsung Galaxy Z Fold/Flip
36
+
37
+ ### Browsers
38
+ - **Safari** (iOS 14+) — Recommended for iPhones/iPads (best performance)
39
+ - **Chrome** (iOS/Android) — Fully supported
40
+ - **Firefox** (iOS/Android) — Supported
41
+ - **Edge** (iOS/Android) — Supported
42
+ - **Samsung Internet** — Fully supported on Samsung devices
43
+
44
+ **Minimum Requirements:**
45
+ - Screen: 480px wide (landscape phone) or taller (portrait)
46
+ - RAM: 2GB+
47
+ - Storage: 500MB free for app cache
48
+ - Connection: 4G LTE or WiFi recommended
49
+
50
+ ## Getting Started
51
+
52
+ ### First Launch
53
+ 1. Navigate to **cyclecad.com/app** on your mobile device
54
+ 2. Allow browser permissions:
55
+ - Microphone (optional, for voice commands)
56
+ - Camera (optional, for AR features)
57
+ - Storage (for saving files)
58
+ 3. Browser will download ~50MB of app data on first load
59
+ 4. Tap **"Open App"** to start
60
+
61
+ ### Offline Access
62
+ cycleCAD works offline after first load. Your work is saved to device storage:
63
+ - **Auto-save**: Every 30 seconds
64
+ - **Manual save**: Tap **Settings** → **Save Project**
65
+ - **Cloud sync**: Requires Pro account (coming Q3 2026)
66
+
67
+ ### Landscape vs Portrait
68
+ - **Landscape (480+ px wide)**: Full UI with left panel, viewport, right panel
69
+ - **Portrait (<480 px wide)**: Single-panel mode, swipe to navigate
70
+
71
+ The app automatically adapts. On notch devices (iPhone X+), safe areas are respected.
72
+
73
+ ## Touch Gestures
74
+
75
+ ### Single-Finger Gestures
76
+
77
+ #### Tap (Quick touch and release)
78
+ - **On 3D part**: Select the part, show info panel
79
+ - **On button**: Activate the button
80
+ - **On tree item**: Expand/collapse folder or select feature
81
+ - **On viewport**: Deselect current part
82
+
83
+ #### Double-Tap
84
+ - **On 3D part**: Fit selected part to viewport with zoom animation
85
+ - **On toolbar button**: Activate and show tool options
86
+ - **On 3D area**: Fit all parts to view
87
+
88
+ #### Long-Press (Press for 500ms)
89
+ - **On 3D part**: Show context menu with options:
90
+ - Hide/Show
91
+ - Isolate
92
+ - Move
93
+ - Delete
94
+ - Export STL
95
+ - Copy properties
96
+ - **On tree item**: Show advanced options
97
+ - **On toolbar**: Show tool tip and keyboard shortcut hint
98
+
99
+ #### Swipe (Drag and release)
100
+ - **Left swipe**: Open right properties panel
101
+ - **Right swipe**: Open left model tree panel
102
+ - **Up swipe**: Expand timeline or expand bottom sheet
103
+ - **Down swipe**: Collapse timeline or close bottom sheet
104
+
105
+ ### Two-Finger Gestures
106
+
107
+ #### Pinch (Two fingers apart/together)
108
+ - **Spread (apart)**: Zoom in
109
+ - **Pinch (together)**: Zoom out
110
+ - **Scale**: Controlled by how fast you move
111
+ - Works over 3D viewport and sketcher canvas
112
+
113
+ #### Two-Finger Rotate
114
+ - **Clockwise**: Rotate viewport clockwise
115
+ - **Counter-clockwise**: Rotate viewport counter-clockwise
116
+ - Useful for viewing part from different angles without using buttons
117
+ - Works smoothly with pinch (independent gestures)
118
+
119
+ #### Two-Finger Pan
120
+ - **Drag together**: Pan the viewport left/right/up/down
121
+ - Used to move the view without rotating
122
+ - Right-click equivalent on desktop
123
+
124
+ ### Three-Finger Gesture
125
+
126
+ #### Three-Finger Tap
127
+ - Triggers **Undo** (Ctrl+Z equivalent)
128
+ - Useful shortcut without accessing menu
129
+ - Four-finger tap = Redo
130
+
131
+ ### Context Menu (Long-Press)
132
+
133
+ When you long-press a part or feature:
134
+
135
+ ```
136
+ ┌────────────────────────┐
137
+ │ Select │
138
+ ├────────────────────────┤
139
+ │ 👁️ Hide │
140
+ │ 🔍 Isolate │
141
+ │ ➡️ Move │
142
+ │ 📋 Copy │
143
+ │ ✂️ Cut │
144
+ │ 🗑️ Delete │
145
+ │ 📊 Properties │
146
+ │ 💾 Export STL │
147
+ │ 🔗 Suppress │
148
+ └────────────────────────┘
149
+ ```
150
+
151
+ Press the X button or swipe down to close.
152
+
153
+ ## Mobile UI Overview
154
+
155
+ ### Portrait Phone (<480px width)
156
+
157
+ **Header** (44px)
158
+ - Hamburger menu button (⋯ three lines)
159
+ - App title
160
+
161
+ **3D Viewport** (Main area)
162
+ - Full available space
163
+ - Touch to interact with model
164
+ - Long-press for context menu
165
+
166
+ **Bottom Toolbar** (44px)
167
+ - 6-8 most-used tools
168
+ - Icons only (no labels in portrait)
169
+ - Tap ⋯ "More" for full grid
170
+
171
+ **Safe Areas**
172
+ - Top: notch (iPhone X+)
173
+ - Bottom: home indicator
174
+
175
+ ```
176
+ ┌─────────────────────────────┐
177
+ │ ≡ cycleCAD │ ← Menu (44px header)
178
+ ├─────────────────────────────┤
179
+ │ │
180
+ │ │
181
+ │ 3D Viewport │ ← Touch to interact
182
+ │ │
183
+ │ │
184
+ ├─────────────────────────────┤
185
+ │ ✏️ 🧊 📐 👁️ ⚙️ ⋯ │ ← Toolbar (44px)
186
+ └─────────────────────────────┘
187
+ ```
188
+
189
+ ### Landscape Phone (480-600px)
190
+
191
+ Same as portrait, but narrower sidebar panels.
192
+
193
+ ```
194
+ ┌────────────────────────────────────────┐
195
+ │ ≡ cycleCAD │
196
+ ├────────────────────────────────────────┤
197
+ │ 📂 │ │ ⚙️ │
198
+ │ ▼ │ 3D Viewport │ ▼ │
199
+ │ │ │ │
200
+ ├────┤ ├────┤
201
+ │ ✏️ 🧊 📐 👁️ ⚙️ ⋯ ... │
202
+ └────────────────────────────────────────┘
203
+ ```
204
+
205
+ ### Tablet Portrait (600-900px)
206
+
207
+ ```
208
+ ┌──────────────────────────────────────────┐
209
+ │ cycleCAD Menu Menu Bar │
210
+ ├────────┬─────────────────────────┬────────┤
211
+ │ Model │ │ Props │
212
+ │ Tree │ 3D Viewport │ Panel │
213
+ │ │ │ │
214
+ │ (260) │ │ (280) │
215
+ └────────┴─────────────────────────┴────────┘
216
+ │ Toolbar - Full width │
217
+ └──────────────────────────────────────────┘
218
+ ```
219
+
220
+ ### Tablet Landscape (900px+)
221
+
222
+ Full desktop layout with all panels visible side-by-side.
223
+
224
+ ## Working with Panels
225
+
226
+ ### Left Panel (Model Tree)
227
+
228
+ **Opening** (if not visible):
229
+ - **Landscape/Portrait**: Swipe right or tap hamburger menu → "Model"
230
+ - **Tablet**: Always visible as sidebar
231
+
232
+ **Tree Features**:
233
+ - Expand/collapse feature folders
234
+ - Tap feature name to select and highlight in 3D view
235
+ - Long-press for context menu:
236
+ - Suppress/unsuppress feature
237
+ - Rename feature
238
+ - Delete feature
239
+ - Show/hide feature
240
+ - Reorder features
241
+
242
+ **Closing**:
243
+ - Swipe left or tap viewport
244
+
245
+ ### Right Panel (Properties)
246
+
247
+ **Opening** (if not visible):
248
+ - **Landscape/Portrait**: Swipe left or tap right-panel icon
249
+ - **Tablet**: Always visible as sidebar
250
+
251
+ **Properties Tab**:
252
+ - Current selection details
253
+ - Dimensions and parameters
254
+ - Material and appearance
255
+ - Edit directly on the card
256
+
257
+ **Chat Tab** (AI):
258
+ - Ask questions about the model
259
+ - Get suggestions
260
+ - Describe what you want to do
261
+
262
+ **Closing**:
263
+ - Swipe right or tap viewport
264
+
265
+ ### Bottom Sheet (More Options)
266
+
267
+ When you tap ⋯ "More" button:
268
+
269
+ ```
270
+ ┌─────────────────────────┐
271
+ │ ────── (drag handle) │
272
+ │ │
273
+ │ ✏️ Sketch Tools │ ← Category
274
+ │ │
275
+ │ [icon] [icon] [icon] │
276
+ │ Tool Tool Tool │
277
+ │ │
278
+ │ 🧊 Solid Tools │
279
+ │ │
280
+ │ [icon] [icon] [icon] │
281
+ │ │
282
+ └─────────────────────────┘
283
+ ```
284
+
285
+ **Usage**:
286
+ - Drag handle to resize
287
+ - Scroll to see all tools
288
+ - Tap tool to select it
289
+ - Bottom sheet auto-closes after tool selection
290
+ - Swipe down to close manually
291
+
292
+ ## 3D Viewport Touch Controls
293
+
294
+ ### Rotation
295
+ - **1 finger drag**: Rotate model around center
296
+ - **2 fingers rotate**: Free rotation (around all axes)
297
+ - Smooth momentum scrolling
298
+
299
+ ### Zoom
300
+ - **Pinch in/out**: Zoom in/out
301
+ - **Double-tap**: Fit selection to view
302
+ - **Double-tap empty area**: Fit all to view
303
+ - Min/max zoom limits prevent going too close or far
304
+
305
+ ### Pan (Move)
306
+ - **2 fingers drag**: Pan the viewport
307
+ - **Right-click equivalent**: Two-finger drag without rotating
308
+ - Useful for repositioning without orbiting
309
+
310
+ ### Center Model
311
+ - **Tap center button** in view controls (bottom-right)
312
+ - Or **double-tap** on a part to center it
313
+
314
+ ### Reset View
315
+ - **Tap home button** in view controls
316
+ - Resets to default front view and fit-all
317
+ - Works from any orientation
318
+
319
+ ### View Presets
320
+ - **Tap view button** (bottom-right)
321
+ - Shows 6 preset views:
322
+ - Front (Z-)
323
+ - Back (Z+)
324
+ - Top (Y+)
325
+ - Bottom (Y-)
326
+ - Left (X-)
327
+ - Right (X+)
328
+ - Tap any preset for instant view change
329
+
330
+ ### ViewCube (Corner Indicator)
331
+ - Located top-right of viewport
332
+ - Shows current orientation
333
+ - Tap faces/edges/corners to snap to that view
334
+ - Long-press and drag to rotate continuously
335
+
336
+ ## Creating a Sketch on Mobile
337
+
338
+ ### Starting a Sketch
339
+
340
+ 1. **Tap ✏️ Sketch button** in toolbar
341
+ 2. Select **Face or Plane**:
342
+ - Tap the face/plane in 3D view
343
+ - Or choose from dropdown (XY/YZ/XZ planes)
344
+ 3. **Canvas appears** as overlay on 3D view
345
+
346
+ ### Sketch Tools
347
+
348
+ **Available in portrait bottom toolbar**:
349
+ - ✏️ **Line**: Tap to start, tap points to draw
350
+ - ⬜ **Rectangle**: Tap corner 1, corner 2
351
+ - ⭕ **Circle**: Tap center, tap edge point
352
+ - ⌒ **Arc**: Tap start, tap arc point, tap end
353
+
354
+ **More tools** (tap ⋯ More):
355
+ - Polyline (continuous lines)
356
+ - Bezier curve
357
+ - Ellipse
358
+ - Construction line
359
+ - Point
360
+ - Dimension tool
361
+ - Constraint tool
362
+
363
+ ### Drawing Lines
364
+
365
+ ```
366
+ Tap canvas to start
367
+
368
+ [Point 1] ← First tap
369
+
370
+ [Point 2] ← Drag and tap
371
+
372
+ [Point 3] ← Continue tapping
373
+
374
+ Double-tap → Finish line
375
+ ```
376
+
377
+ ### Grid & Snapping
378
+
379
+ - **Grid visible** when zoomed in
380
+ - **Snapping enabled** automatically:
381
+ - Snap to grid points
382
+ - Snap to endpoints
383
+ - Snap perpendicular
384
+ - Snap tangent
385
+ - Toggle grid: **Settings → Grid**
386
+
387
+ ### Constraints
388
+
389
+ After drawing, add constraints:
390
+
391
+ 1. **Tap constraint button** (📐)
392
+ 2. **Select constraint type**:
393
+ - Horizontal/Vertical
394
+ - Parallel/Perpendicular
395
+ - Equal length
396
+ - Tangent
397
+ - Distance/Angle
398
+ - Fixed point
399
+ 3. **Select geometry** to constrain
400
+ 4. **Enter value** if required
401
+
402
+ ### Finishing Sketch
403
+
404
+ 1. **Tap ✓ Done** button (top-right)
405
+ 2. Sketch converts to 3D face
406
+ 3. Ready for next operation
407
+
408
+ ## Viewing STEP Files
409
+
410
+ ### Importing STEP Files
411
+
412
+ 1. **Tap File → Import** or **⋯ More → Import**
413
+ 2. **Choose source**:
414
+ - Camera/Photos (if saved to device)
415
+ - iCloud Drive (if signed in)
416
+ - Files app
417
+ - Drag and drop on web app
418
+ 3. **Wait for import** (may take 1-3 minutes for large files)
419
+ 4. **Model loads** in 3D viewport
420
+
421
+ ### File Limitations (Mobile)
422
+
423
+ - **Max file size**: 100MB (browser limit)
424
+ - **Max parts**: ~500 parts recommended
425
+ - For larger files:
426
+ - Use desktop cycleCAD or Fusion 360
427
+ - Split STEP assembly into sub-assemblies
428
+ - Export individual parts
429
+
430
+ ### Viewing Imported Models
431
+
432
+ - **Rotate**: Drag with 1 finger
433
+ - **Zoom**: Pinch with 2 fingers
434
+ - **Pan**: Drag with 2 fingers
435
+ - **View presets**: Tap view button
436
+ - **Hide parts**: Long-press → Hide
437
+ - **Select part**: Tap to highlight
438
+
439
+ ### Exporting Back
440
+
441
+ After modifying:
442
+
443
+ 1. **Tap 💾 Export** in toolbar
444
+ 2. **Choose format**:
445
+ - STL (3D printing)
446
+ - OBJ (universal)
447
+ - glTF (web viewing)
448
+ - JSON (cycleCAD native)
449
+ 3. **Download** to device
450
+ 4. **Share** via email, cloud, etc.
451
+
452
+ ## Using the Bottom Toolbar
453
+
454
+ ### Portrait Mode (Phone)
455
+
456
+ Icons only, 6-8 tools:
457
+
458
+ ```
459
+ │ ✏️ 🧊 📐 👁️ ⚙️ ⋯ │
460
+ ```
461
+
462
+ - **✏️ Sketch**: Enter sketch mode
463
+ - **🧊 Solid**: Extrude, revolve, etc.
464
+ - **📐 Measure**: Measure distances/angles
465
+ - **👁️ View**: Preset views and options
466
+ - **⚙️ Settings**: App settings
467
+ - **⋯ More**: Full tool grid
468
+
469
+ ### Landscape Mode (Phone)
470
+
471
+ Same icons, but with text labels.
472
+
473
+ ### Tablet Mode
474
+
475
+ Full toolbar visible at top or side, with all buttons and labels.
476
+
477
+ ### Customizing Toolbar
478
+
479
+ **Settings → Toolbar**:
480
+ - Reorder tools with drag-and-drop
481
+ - Add/remove tools from quick bar
482
+ - Set auto-hide behavior
483
+ - Adjust opacity
484
+
485
+ ### Tool Options
486
+
487
+ Some tools have sub-options:
488
+
489
+ 1. **Tap and hold** the tool button (1 second)
490
+ 2. Menu appears with options
491
+ 3. Tap desired option
492
+ 4. Tool activates with that setting
493
+
494
+ Example for **Extrude**:
495
+ - Extrude up
496
+ - Extrude down
497
+ - Extrude symmetric
498
+ - Extrude new part
499
+
500
+ ## Tips for Effective Mobile CAD
501
+
502
+ ### 1. Orientation Strategy
503
+
504
+ **Portrait mode**:
505
+ - Good for: Reading text, using tree, making sketches
506
+ - Not ideal for: Viewing complex assemblies, precise selection
507
+
508
+ **Landscape mode**:
509
+ - Good for: Viewing large models, precise work
510
+ - Better touch real estate
511
+ - **Recommendation**: Use landscape for detailed work
512
+
513
+ ### 2. Touch Accuracy
514
+
515
+ - **Larger parts**: Easy to select
516
+ - **Small parts**: Zoom in first (pinch out)
517
+ - **Overlapping parts**: Use tree to select
518
+ - **Double-tap**: Center view before detailed work
519
+
520
+ ### 3. Sketching on Phone
521
+
522
+ - Sketches are cramped on phone screens
523
+ - **Landscape mode** is essential for sketching
524
+ - For complex sketches:
525
+ - Start on phone
526
+ - Finish on tablet/desktop
527
+ - Use cloud sync (Pro) to switch devices
528
+
529
+ ### 4. Battery & Performance
530
+
531
+ **Battery usage**:
532
+ - Disable auto-save if not needed (Settings)
533
+ - Reduce quality on older devices
534
+ - Disable shadows/reflections
535
+ - Close other apps
536
+
537
+ **Performance tips**:
538
+ - Hide assemblies you're not working on
539
+ - Reduce part count (isolate what you need)
540
+ - Restart app if sluggish
541
+ - Close and reopen project
542
+
543
+ ### 5. Screen Glare
544
+
545
+ For working outdoors:
546
+ - Rotate to landscape for better angle
547
+ - Use screen brightness control
548
+ - Work in shade when possible
549
+ - Consider anti-glare screen protector
550
+
551
+ ### 6. Precision Work
552
+
553
+ For accurate measurements:
554
+ - **Zoom in** to where you're working
555
+ - Use **dimension constraints** in sketches
556
+ - Use **measurement tool** for verification
557
+ - Reference parts with **dimensions shown**
558
+
559
+ ### 7. Project Organization
560
+
561
+ On mobile:
562
+ - Keep projects small (under 50 parts)
563
+ - Use clear naming conventions
564
+ - Organize features in logical order
565
+ - Add comments to complex features
566
+
567
+ ## Performance Optimization
568
+
569
+ ### Device Settings
570
+
571
+ **Enable High Performance Mode** (if available):
572
+ - Settings → Battery → High Performance
573
+ - Increases frame rate and responsiveness
574
+
575
+ **Browser Optimization**:
576
+ - Clear cache regularly: **Settings → Clear Cache**
577
+ - Disable browser extensions
578
+ - Use latest browser version
579
+ - Disable background tabs
580
+
581
+ ### App Settings
582
+
583
+ **Graphics Quality**:
584
+ - **Settings → Graphics → Quality**
585
+ - Options:
586
+ - Low (faster, less detailed)
587
+ - Medium (balanced, recommended)
588
+ - High (slower, very detailed)
589
+
590
+ **Shadows**:
591
+ - Can be disabled for performance: **Settings → Shadows**
592
+ - Saves ~20% GPU load
593
+
594
+ **Anti-aliasing**:
595
+ - Smooth edges: Usually enabled
596
+ - Disable if needed for speed
597
+
598
+ **Model Simplification**:
599
+ - **Hide unused parts**: Select and tap ✏️ eye button
600
+ - **Isolate part**: Long-press → Isolate
601
+ - **Delete hidden parts**: Right-click → Delete Hidden
602
+
603
+ ### Network
604
+
605
+ - **Auto-save**: Toggle in Settings (saves bandwidth)
606
+ - **Cloud sync**: Available Pro only
607
+ - **Offline work**: Fully supported, sync when connected
608
+
609
+ ## Known Limitations
610
+
611
+ ### Mobile Limitations
612
+
613
+ 1. **File Size**: Max 100MB (browser limit)
614
+ 2. **Part Count**: 500+ parts may slow down
615
+ 3. **Resolution**: Lower viewport resolution on older devices
616
+ 4. **Export Format**: Limited to STL, OBJ, glTF (not DWG)
617
+ 5. **Collaboration**: Not available on mobile (Pro feature, desktop only)
618
+ 6. **Plugins**: Not supported on mobile
619
+
620
+ ### Touch Interaction
621
+
622
+ 1. **Precision**: Touch is less accurate than mouse/trackpad
623
+ 2. **Multi-select**: Hold Shift not supported; use tree instead
624
+ 3. **Keyboard**: On-screen keyboard cramped; use physical if possible
625
+ 4. **Context menu**: Via long-press, not right-click
626
+ 5. **Dragging**: Limited; use tree panel instead
627
+
628
+ ### Performance
629
+
630
+ 1. **3D rendering**: 30-60 FPS on tablets, 20-30 FPS on phones
631
+ 2. **Large sketches**: May lag with 100+ constraints
632
+ 3. **Import time**: 1-3 minutes for 100MB files
633
+ 4. **Export time**: 30s-2min depending on format and size
634
+
635
+ ## Troubleshooting
636
+
637
+ ### App Won't Load
638
+
639
+ **Problem**: Blank screen or "Loading..." forever
640
+
641
+ **Solutions**:
642
+ 1. **Hard refresh** browser: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows)
643
+ 2. **Clear cache**: **Settings → Clear Cache**
644
+ 3. **Restart browser**: Close all tabs, reopen
645
+ 4. **Restart device**: Full power cycle
646
+ 5. **Check connection**: Ensure good WiFi or 4G LTE
647
+
648
+ ### Touch Not Responding
649
+
650
+ **Problem**: Taps not registering or slow response
651
+
652
+ **Solutions**:
653
+ 1. **Clean screen**: Remove dust/oil (common on phones)
654
+ 2. **Hard restart app**: Close and reopen
655
+ 3. **Restart device**: Sometimes helps
656
+ 4. **Check for updates**: Browser and app updates
657
+ 5. **Use older version**: If recent update broken, downgrade browser
658
+
659
+ ### Model Won't Import
660
+
661
+ **Problem**: "Import failed" or blank import dialog
662
+
663
+ **Solutions**:
664
+ 1. **File size**: Check file is under 100MB
665
+ 2. **Format**: Ensure it's valid STEP (.stp or .step)
666
+ 3. **File corruption**: Try different file
667
+ 4. **Browser compatibility**: Try Chrome instead of Safari
668
+ 5. **Network**: Ensure stable connection during import
669
+
670
+ ### Performance Lag
671
+
672
+ **Problem**: Slow, choppy interaction
673
+
674
+ **Solutions**:
675
+ 1. **Reduce quality**: **Settings → Graphics → Low**
676
+ 2. **Hide parts**: Hide parts you're not using
677
+ 3. **Restart app**: Close and reopen
678
+ 4. **Close other apps**: Free up device memory
679
+ 5. **Disable shadows**: **Settings → Shadows → Off**
680
+ 6. **Zoom out**: May improve performance on very complex models
681
+
682
+ ### Viewport Touch Not Working
683
+
684
+ **Problem**: Can't rotate/zoom model with touch
685
+
686
+ **Solutions**:
687
+ 1. **Check gesture**: Ensure you're using correct gesture
688
+ - Single drag = rotate (not pan)
689
+ - Pinch = zoom (two fingers apart/together)
690
+ - Two-finger drag = pan
691
+ 2. **Restart app**: Close and reopen
692
+ 3. **Test in different area**: Try tapping 3D view center
693
+ 4. **Check for overlay**: Modal or panel may be intercepting touches
694
+
695
+ ### Saving Issues
696
+
697
+ **Problem**: Changes not saving or "Save failed"
698
+
699
+ **Solutions**:
700
+ 1. **Check space**: Ensure device has free storage space
701
+ 2. **Check network**: For cloud save, ensure connected
702
+ 3. **Permissions**: Go to Settings → App Permissions → Storage
703
+ 4. **Auto-save**: Enable in **Settings → Auto-save**
704
+ 5. **Manual save**: Try **File → Save Project**
705
+
706
+ ### Export Not Working
707
+
708
+ **Problem**: Export button unresponsive or download fails
709
+
710
+ **Solutions**:
711
+ 1. **Check format**: STL/OBJ/glTF supported; not DWG
712
+ 2. **File size**: Ensure project not >100MB
713
+ 3. **Browser permission**: Allow downloads in browser settings
714
+ 4. **Restart download**: Try exporting again
715
+ 5. **Use email**: Export and email yourself file instead
716
+
717
+ ### Sketch Canvas Not Appearing
718
+
719
+ **Problem**: Clicked sketch but canvas didn't open
720
+
721
+ **Solutions**:
722
+ 1. **Select face first**: Must select a face/plane before sketching
723
+ 2. **Deselect and retry**: Click viewport to deselect, try again
724
+ 3. **Restart**: Close and reopen app
725
+ 4. **Zoom in**: Sometimes canvas appears but off-screen; zoom to find it
726
+
727
+ ### ViewCube Not Responding
728
+
729
+ **Problem**: Can't rotate via ViewCube or view presets not working
730
+
731
+ **Solutions**:
732
+ 1. **Tap center**: Tap cube corner/edge precisely
733
+ 2. **Rotate gesture**: Use two-finger rotate instead
734
+ 3. **View button**: Use preset view buttons instead
735
+ 4. **Reset**: Double-tap empty area to reset view
736
+
737
+ ---
738
+
739
+ ## Support & Feedback
740
+
741
+ Found a bug? Have feature request?
742
+
743
+ - **Report issue**: https://github.com/vvlars-cmd/cyclecad/issues
744
+ - **Email support**: support@cyclecad.com (coming soon)
745
+ - **Chat with AI**: In-app chat for quick help
746
+
747
+ Last updated: March 2026