From a903a5eed3f5a42bff2196772f2d1ccf968cdad4 Mon Sep 17 00:00:00 2001 From: dscyrescotti Date: Sat, 11 May 2024 10:41:59 +0700 Subject: [PATCH] refactor: clean up --- Memola/Canvas/Core/Canvas.swift | 4 ++-- Memola/Canvas/Geometries/Stroke/Stroke.swift | 3 --- Memola/Persistence/Core/Persistence.swift | 6 ++++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Memola/Canvas/Core/Canvas.swift b/Memola/Canvas/Core/Canvas.swift index c94e09a..51a56c3 100644 --- a/Memola/Canvas/Core/Canvas.swift +++ b/Memola/Canvas/Core/Canvas.swift @@ -20,7 +20,7 @@ final class Canvas: NSManagedObject, Identifiable { let gridContext = GridContext() let viewPortContext = ViewPortContext() - let maximumZoomScale: CGFloat = 25 + let maximumZoomScale: CGFloat = 28 let minimumZoomScale: CGFloat = 3.1 var transform: simd_float4x4 = .init() @@ -42,11 +42,11 @@ final class Canvas: NSManagedObject, Identifiable { // MARK: - Actions extension Canvas { func load() { + state = .loading let start = Date().formatted(.dateTime.minute().second().secondFraction(.fractional(5))) for stroke in graphicContext.strokes { if let stroke = stroke as? Stroke { stroke.loadVertices() - NSLog("[Memola] - \(stroke.quads.count) quads") } } let end = Date().formatted(.dateTime.minute().second().secondFraction(.fractional(5))) diff --git a/Memola/Canvas/Geometries/Stroke/Stroke.swift b/Memola/Canvas/Geometries/Stroke/Stroke.swift index 6832aa1..f5e0759 100644 --- a/Memola/Canvas/Geometries/Stroke/Stroke.swift +++ b/Memola/Canvas/Geometries/Stroke/Stroke.swift @@ -85,9 +85,6 @@ extension Stroke: Drawable { } func draw(device: MTLDevice, renderEncoder: MTLRenderCommandEncoder) { - if isEmpty { - loadVertices() - } guard !isEmpty else { return } prepare(device: device) renderEncoder.setFragmentTexture(texture, index: 0) diff --git a/Memola/Persistence/Core/Persistence.swift b/Memola/Persistence/Core/Persistence.swift index a488b68..9005f5f 100644 --- a/Memola/Persistence/Core/Persistence.swift +++ b/Memola/Persistence/Core/Persistence.swift @@ -19,6 +19,12 @@ class Persistence { shared.persistentContainer.viewContext }() + static var backgroundContext: NSManagedObjectContext = { + let context = shared.persistentContainer.newBackgroundContext() + context.automaticallyMergesChangesFromParent = true + return context + }() + private lazy var viewContext: NSManagedObjectContext = { persistentContainer.viewContext }()