Compositor for Windows & macOS release 0.8.1 is available! 🎉 What’s New? This is a bugfix-focused patch release for Compositor 0.8. It fixes a number of problems with document navigation, image handling, and the clipboard. Bugfixes Image source position may be wrong #758 Inserting or deleting an image does not update figures in navigator #756 Inserting or deleting a table does not update tables…
The next version of Compositor for Windows & macOS, release 0.8 is available! 🎉 What’s New? This release focuses on document navigation and inspector panels. The headline items are the new document navigator, a first batch of contextual inspectors, and a number of polish and stability improvements across both the Windows and macOS apps. Document Navigator #699 , #726 , #730 , #731 What was…
As a follow-up to my post about using Tracy as an instrumentation profiler for Swift apps on Windows, here’s a write-up of my experience with the Windows-native performance tools, Windows Performance Recorder (WPR) and Windows Performance Analyzer (WPA). Getting the Tools The tools are part of the Windows Performance Toolkit, and can be installed either via the Visual Studio Installer, or the…
The next prototype of Compositor for Windows & macOS, release 0.7 is available! 🎉 What’s New? This release focuses on source editor improvements. The headline items are syntax highlighting, basic code completion, and a number of navigation and editing features that make working with larger documents much more enjoyable. Syntax Highlighting in Source Editor #671 The source editor (the pane below…
The next prototype of Compositor for Windows, release 0.6 is now available! 🎉 What’s New? This release mainly focuses on improvements to the source editor, plus some bugfixes and other smaller improvements. Line Numbers in Source Editor #676 There’s now a gutter with line numbers in the source editor, an essential feature for effective source editing: The line with the light blue background is…
The next prototype of Compositor for Windows, release 0.5 is finally available! 🎉 What’s New? Cross-Platform Source Editor Foundation #636 I have implemented a cross-platform source code editor foundation from scratch. This means that the code that powers the source editor is now shared between Windows and macOS. The idea was that I don’t want to maintain two separate implementations of the…
Here’s a write-up of my experience with integrating Tracy, a very impressive profiler, into Compositor (on both Windows and macOS platforms) to get a detailed picture of what’s happening inside the app at runtime. What is Tracy? Tracy is a frame-based instrumentation profiler that allows you to visualize and analyze the performance of your application in great detail: Frame-based means that it is…
Compositor for Windows release 0.4.1 is available! 🎉 What’s New? This bugfix release fixes two crashes. Bugfixes Crash when updating package index #663 Crash when focusing page #664 Your Feedback is Much Appreciated! If the installer doesn’t work for you, please let me know. If the app doesn’t launch or crashes, please let me know. If something doesn’t work, please let me know. In general, any…
The next prototype of Compositor for Windows, release 0.4 is available! 🎉 Managing Expectations A lot of progress has been made, but this is still a rough prototype. Expect things to not work here and there. There are also currently two known crashers on Windows ( #663 , #664 ). This version also doesn’t have any error reporting UI yet. So if you are trying to open a file that has errors, you’ll…
After a bit of a summer break, the next public prototype of Compositor for Windows is now available! 🎉 What’s New? From a user’s perspective, Compositor for Windows 0.3 will still look very barebones and borderline unusable. And it is, it’s a prototype. But under the hood, this version now has all the important bits in place for… Basic WYSIWYG Editing The app still opens the bundled User Guide on…
People have been asking me for a long time if there will ever be a Windows version of my previously Mac-only app Compositor. Today, I am releasing the first public prototype of a Windows version of Compositor ! 🎉 Compositor for Windows 0.2 This is (obviously) an early prototype that doesn’t offer much useful functionality. All it does is typeset and render the bundled User Guide . Here’s what the…
After a long hiatus, Compositor 1.27 is finally out! This release brings a much improved source editor with line numbers, syntax error highlighting, and basic code completion. Overall it feels like a big step forward with respect to practical usability of the app, at least to me. Let me know what you think, I’d be very interested in feedback. Here’s what’s new in this release . As usual, the…
Compositor 1.26 brings a new source editor, to replace the admittedly clunky floating source editor window. Here’s what’s new in this release . As usual, the complete list of fixed bugs and new features can also be found on Github . Improvements Source code panel #521 The document window now has an expandable panel (shortcut: ^S ) that hosts a new source editor: The WYSIWYG editor and the source…
After a very long pause since the last release, Compositor 1.25 is finally available, with one innocent-looking feature addition, fueled by some bigger improvements under the hood . But first of all, sorry once again to keep you all waiting for so long. The main reason for the long hiatus was that in 2023 I had three major house renovation projects going on, and that consumed a lot of my time and…
After having more or less abandoned Compositor almost two years ago due to a lack of energy, I’m reviving development, and here’s my plan how to move forward. But first, let’s briefly recap what happened so far. I started work on Compositor in March 2015. Here’s the git history of the first few commits: Some of the initial (La)TeX typesetting and rendering capabilities had been carried over from…
Compositor 1.17 brings mostly bugfixes, plus some improvements. Here’s a selection of what’s new in this release . As usual, the complete list of fixed bugs and new features can also be found on Github . Improvements Equation labels #489 The formula inspector panel now has a Label field that lets you add a label to an equation: Add a date field to the document properties inspector #117 The…
Compositor 1.16 brings some formula-related improvements and bugfixes. Here’s a selection of what’s new in this release . As usual, the complete list of fixed bugs and new features can also be found on Github . Improvements Added equation numbering position document option #531 By default, equation numbers are shown to the right of numbered math envionments when using the article document class to…
After an unprecedented long stall of the release pipeline, Compositor 1.15 is finally here with a big addition: (the beginnings of) a graphical formula editor . But first of all, sorry to keep you all waiting for so long. The main reason for the long absence of new releases was that I completely underestimated the amount of work that would go into the formula editor. The LaTeX equation parser…
Compositor 1.14 brings support for macOS Catalina! Here’s a selection of what’s new in this release . As usual, the complete list of fixed bugs and new features can also be found on Github . Improvements Add notarization to build process #384 Supporting macOS Catalina did not require any actual code changes. However, the build process needed to be adapted to include so-called “Notarization”, a…
Compositor 1.13 is available! Due to some lack of time in the last couple of weeks, this is a smaller release with only a handful of improvements and bugfixes. Here’s a selection of what’s new in this release . As usual, the complete list of fixed bugs and new features can also be found on Github . Improvements Improved toolbox search #63 Previously, toolbox search would only find items by…
Compositor 1.12 is available! Here’s a selection of what’s new in this release . As usual, the complete list of fixed bugs and new features can also be found on Github . Improvements Section labels #488 The section inspector now has a Label field that lets you add a label to a section: Insert / Reference #55 Closely related to labels, the Insert menu now has a menu item for inserting references:…
After a long stall of the release pipeline, Compositor 1.11 is finally available! I apologize for the long delay, but I really wanted to rewrite some core code to put it on a sounder footing. Here’s what’s new in this release . As usual, the complete list of fixed bugs and new features can also be found on Github . Improvements Refactor image inspector code #449 The code behind the image inspector…
This article describes different layers of platform APIs on Apple platforms. We will use the string data type as an example, because string data types exist in three platform API layers: Core Foundation’s CFStringRef Foundation’s NSString Swift Standard Library’s String Core Foundation Core Foundation is a plain C framework. Note: “Framework” in this context means “unit of shipment” – basically a…
Compositor 1.10 is available! Here’s a selection of what’s new in this release . As usual, the complete list of fixed bugs and new features can be found on Github . Improvements Dark Mode Support #435 Dark Mode seems to be quite popular, so I finally added proper Dark Mode support in this release: Bugfixes Crash on page orientation change #473 Crash when inserting paragraph #474 Crash due to…
Compositor is doing a ton of string manipulation. The core model class that does most of it, SourceModel (mentioned here ), is still based around Foundation ’s NSMutableString . With the recent improvements to Swift’s native string type , I plan to move the core model code away from NSMutableString , towards Swift native strings, to take advantage of the more compact UTF-8 in-memory representation…
Bugfix release 1.9.2 is available. The list of fixed bugs can also be found on Github . Bugfixes Reserved character not escaped on insert #462 Deleting reserved character leaves backslash behind #463 Paragraph placeholder not selected #465 Wrong insert position when at end of paragraph #467 Wrong zoom level selected in zoom dropdown #432 Caret wanders off where no caret has ever gone before #443…
Bugfix release 1.9.1 is available. The list of fixed bugs can also be found on Github . Bugfixes Table inspector not shown when cell text has format trait #456 Crash when parsing includegraphics #454 Crash when looking for end of line #453 Crash when installing package #452 Crash when pressing Enter while inside environment #451
Compositor 1.9 is out! Here’s a selection of what’s new in this release . As usual, the complete list of fixed bugs and new features can be found on Github . Improvements Basic table editor #94 This release finally adds a graphical editor for tables. Click anywhere into a table to bring up the table inspector, which consists of three tabs. The Table tab lets you change placement, caption, number…
Compositor 1.8 is out, with much improved syntax highlighting, better outline navigation, plenty of bugfixes, and more! Here’s a selection of what’s new in this release . As usual, the complete list of fixed bugs and new features can be found on Github . Improvements Source editor syntax highlighting improvements #416 #427 Syntax highlighting in the source editor has been improved considerably:…
Compositor 1.7 is available, bringing more usability improvements and bugfixes! Here’s a selection of what’s new in this release. As usual, the complete list of fixed bugs and new features can be found on the corresponding release page on Github . Improvements New “Indentation” checkbox in paragraph inspector #67 The paragraph inspector now has a checkbox to control indentation: Leaving it checked…
Compositor 1.6 is out, and I think it’s a big step forward in terms of overall usability. Here’s a selection of what’s new in this release. The complete list of new features and fixed bugs can be found on the release page on Github . What’s New New “Insert” menu The new “Insert” menu lets you insert sections, lists, images, math environments, and more: The respective element will be inserted…
In Compositor releases 1.4 and 1.5, a couple of severe regressions slipped into the shipping product. The app was embarrassingly unusable, and it was clear that I had to do more in the way of testing. I had a suite of unit and integration tests in place right from day one, but up to now I had skipped on the effort of setting up automated, high-level, functional tests. (I will refer to these tests…
Yay, Compositor 1.5 is out! What’s New Find & Replease Finally, Compositor has basic Find & Replace ! Hit ⌘F and start typing. Compositor will highlight search results on the fly: The keyboard shortcuts are: ⌘F opens the Find panel ⌘⇧F closes the Find panel ⌘⌥C toggles case sensitivity ⌘G will jump to the next search result ⌘⇧G will jump to the previous search result ⌘⌥F switches to Find & Replace…
Compositor 1.4 is out! What’s New For the complete list of resolved issues, please visit the release page on Github. Rewritten mouse & keyboard selection handling Compositor’s mouse & keyboard selection handling was buggy and fragile previously. Since selection handling is one of the most essential features of any text editor or word processor, I just had to get this right, so I rewrote large…
Compositor 1.3 is out! What’s New The big news is a UTF-8 based workflow, with support for accented Latin characters. For a complete list of resolved issues, please visit the release page on Github. UTF-8 Based Workflow Compositor 1.3 brings a first step towards a modern, Unicode-based workflow. The editor now accepts accented Latin characters (as supported by the Latin Modern family of fonts )…
Compositor 1.2 is out! What’s New The bigger change in this release is support for expl3 , the LaTeX 3 programming layer. Many modern LaTeX packages build on this new LaTeX programming layer, so this release is another step towards better and broader support for popular packages. This version also significantly increases TeX’s internal memory capacity, partly due to the increased memory…
Compositor 1.1 is out! What’s New The big change in this release is that Compositor’s embedded TeX engine has been upgraded to e-TeX (from Knuth’s TeX3). Many modern LaTeX packages require e-TeX, so this release is an important step towards better support for many popular packages. For a complete list of fixed issues, please visit the release page on Github. Next Up Release 1.2 , scheduled for May…
After about three years of development (mainly during evenings and weekends when working full-time as a freelance iOS developer), it’s finally time to release a first public version of my exciting new app, Compositor! What is it? Compositor is a WYSIWYG LaTeX for Mac — a Mac app that brings WYSIWYG features to the LaTeX document preparation system widely used in academia for scientific and…
This page is intended to help troubleshoot common issues. If you encounter any issues not described here, please let me know. You can reach me by email at support at compositorapp dot com or via Twitter . Alright, let’s see what error messages Compositor has to offer. “File not found” The Problem Compositor is unable to locate a file. Workaround If the file in question actually exists in the same…
If Compositor crashes for you, please let me know, so that I can investigate and fix the issue. After a Crash When relaunching the app after a crash, two things will happen: Compositor will silently submit a crash report to a service called HockeyApp . Every modern app submits crash reports in some form or other after a crash. This way, developers will get notice that there is a problem out there,…
Note: This page has been updated to reflect the limitations of the current version 1.6. For the next couple of months, Compositor will be a minimum viable product in many respects. But you know, you have to start somewhere, and I will try to address the most glaring issues one by one. What follows is a list of the more basic limitations and current omissions. For a complete list of known issues…
After about two years of development, it’s time to present my upcoming app, Compositor. The product page can be found here . What is it? Compositor is a WYSIWYG LaTeX for Mac . A word processing app that looks similar to Apple’s Pages app, but is powered by the LaTeX typesetting system. If you have never heard of LaTeX before, here’s a brief introduction . If you’ve been using LaTeX before, you…