Original PR: https://github.com/dscyrescotti/Memola/pull/42 Author: @dscyrescotti Created: 6/10/2024 Status: ✅ Merged Merged: 6/10/2024 Merged by: @dscyrescotti
Base: main ← Head: feature/eraser-optimization
main
feature/eraser-optimization
e9708ae
1151d1b
20e653c
c3a14bd
87b53e0
99abf94
90de631
63aced9
89b97be
9c10e46
21 files changed (+488 additions, -118 deletions)
📝 Memola.xcodeproj/project.pbxproj (+4 -0) 📝 Memola.xcodeproj/xcshareddata/xcschemes/Memola.xcscheme (+6 -0) 📝 Memola/Canvas/Contexts/GraphicContext.swift (+154 -57) 📝 Memola/Canvas/Core/Canvas.swift (+3 -2) 📝 Memola/Canvas/Geometries/Primitives/Quad.swift (+10 -0) 📝 Memola/Canvas/Geometries/Stroke/Strokes/EraserStroke.swift (+84 -0) 📝 Memola/Canvas/Geometries/Stroke/Strokes/PenStroke.swift (+89 -15) 📝 Memola/Canvas/History/History.swift (+16 -4) 📝 Memola/Canvas/RTree/RTree.swift (+11 -3) 📝 Memola/Canvas/RenderPasses/EraserRenderPass.swift (+24 -6) 📝 Memola/Canvas/RenderPasses/GraphicRenderPass.swift (+22 -0) 📝 Memola/Canvas/View/Bridge/ViewController/CanvasViewController.swift (+0 -3) 📝 Memola/Canvas/View/Canvas/CanvasView.swift (+3 -3) 📝 Memola/Features/Memo/Memo/MemoView.swift (+3 -6) 📝 Memola/Features/Memo/PenDock/PenDock.swift (+5 -5) 📝 Memola/Features/Memo/Toolbar/Toolbar.swift (+19 -13) 📝 Memola/Features/Memos/MemosView.swift (+1 -0) ➕ Memola/Persistence/Objects/EraserObject.swift (+20 -0) 📝 Memola/Persistence/Objects/QuadObject.swift (+1 -0) 📝 Memola/Persistence/Objects/StrokeObject.swift (+2 -1)
Memola.xcodeproj/project.pbxproj
Memola.xcodeproj/xcshareddata/xcschemes/Memola.xcscheme
Memola/Canvas/Contexts/GraphicContext.swift
Memola/Canvas/Core/Canvas.swift
Memola/Canvas/Geometries/Primitives/Quad.swift
Memola/Canvas/Geometries/Stroke/Strokes/EraserStroke.swift
Memola/Canvas/Geometries/Stroke/Strokes/PenStroke.swift
Memola/Canvas/History/History.swift
Memola/Canvas/RTree/RTree.swift
Memola/Canvas/RenderPasses/EraserRenderPass.swift
Memola/Canvas/RenderPasses/GraphicRenderPass.swift
Memola/Canvas/View/Bridge/ViewController/CanvasViewController.swift
Memola/Canvas/View/Canvas/CanvasView.swift
Memola/Features/Memo/Memo/MemoView.swift
Memola/Features/Memo/PenDock/PenDock.swift
Memola/Features/Memo/Toolbar/Toolbar.swift
Memola/Features/Memos/MemosView.swift
Memola/Persistence/Objects/EraserObject.swift
Memola/Persistence/Objects/QuadObject.swift
Memola/Persistence/Objects/StrokeObject.swift
...and 1 more files
This PR includes the optimization for eraser stroke generation storing erasers in EraserObject. Plus, it also fixes memory leak issues.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
No dependencies set.
The note is not visible to the blocked user.
📋 Pull Request Information
Original PR: https://github.com/dscyrescotti/Memola/pull/42
Author: @dscyrescotti
Created: 6/10/2024
Status: ✅ Merged
Merged: 6/10/2024
Merged by: @dscyrescotti
Base:
main← Head:feature/eraser-optimization📝 Commits (10+)
e9708aefeat: save quads by batch1151d1bfeat: store eraser stroke in eraser object20e653cfeat: create new pen using last pen if selected one is eraserc3a14bdrefactor: clean up87b53e0feat: save memo before dismissing canvas view99abf94feat: save stroke as soon as it is created at the beginning of touch90de631bug: remove eraser stroke adding into graphic context63aced9feat: save title changes89b97befeat: fetch eraser objects instead of loading from stroke9c10e46feat: remove erasers in graphic context📊 Changes
21 files changed (+488 additions, -118 deletions)
View changed files
📝
Memola.xcodeproj/project.pbxproj(+4 -0)📝
Memola.xcodeproj/xcshareddata/xcschemes/Memola.xcscheme(+6 -0)📝
Memola/Canvas/Contexts/GraphicContext.swift(+154 -57)📝
Memola/Canvas/Core/Canvas.swift(+3 -2)📝
Memola/Canvas/Geometries/Primitives/Quad.swift(+10 -0)📝
Memola/Canvas/Geometries/Stroke/Strokes/EraserStroke.swift(+84 -0)📝
Memola/Canvas/Geometries/Stroke/Strokes/PenStroke.swift(+89 -15)📝
Memola/Canvas/History/History.swift(+16 -4)📝
Memola/Canvas/RTree/RTree.swift(+11 -3)📝
Memola/Canvas/RenderPasses/EraserRenderPass.swift(+24 -6)📝
Memola/Canvas/RenderPasses/GraphicRenderPass.swift(+22 -0)📝
Memola/Canvas/View/Bridge/ViewController/CanvasViewController.swift(+0 -3)📝
Memola/Canvas/View/Canvas/CanvasView.swift(+3 -3)📝
Memola/Features/Memo/Memo/MemoView.swift(+3 -6)📝
Memola/Features/Memo/PenDock/PenDock.swift(+5 -5)📝
Memola/Features/Memo/Toolbar/Toolbar.swift(+19 -13)📝
Memola/Features/Memos/MemosView.swift(+1 -0)➕
Memola/Persistence/Objects/EraserObject.swift(+20 -0)📝
Memola/Persistence/Objects/QuadObject.swift(+1 -0)📝
Memola/Persistence/Objects/StrokeObject.swift(+2 -1)...and 1 more files
📄 Description
Description
This PR includes the optimization for eraser stroke generation storing erasers in EraserObject. Plus, it also fixes memory leak issues.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.