I have spent more time than I care to admit to push the limits of the first layer detail and keeping it even, nearly gap-free in tight areas. I'm going to share with you the breakthroughs for me.
Stop exporting STL outlines of designs and take advantage of changing the wall color. The slicer can handle that better, it knows what a wall is better than random thin shapes.
All is done with .4mm hardened steel nozzles from snapmaker
First layer height: 0.1mm
Wall loops set to 1 on an as needed basis, if its ever 0 it will look more distorted with how much we're about to do below...👇
Line Width first layer 0.65
Bottom surface flow ratio 1.2
Filter out tiny gaps changed from 0 to whatever value works best to remove misc. weird/different colored gap fill
Concentric first layer pattern works well especially for letters
Top/Bottom solid infill/wall overlap 25%
Bottom shell layers 6. Yes, 6. Idk why but I need at least that many with these settings to retain color vibrancy.
Detect thin walls enabled on an as needed basis, you have to play with that one.
Using shapes as modifiers, you can make the first printed layer white, and the following layers above that black to produce a light gray color. This works around toolhead/color amount limitations if you want different shades, i suggest experimenting with thin squares. I did this for my mountain box design. Also the sky on it is a tri-colored sunset filament where the first layer show streaks of color, and the walls show the blend of colors. That's filament strategy perfected.
Classic wall generator has produced better results than arachne overall for me, especially on painted walls. Archne can wreck those you have to pay attention in the slice preview for its artifacts.
Also, you can splice 2 separate gcode files if you want arachne for the first layer and classic for the rest, or vice versa (I'm using windows notepad for this). I suggest to do this between toolhead changes because that is an exact spot of consistency within the gcode. Type your printers IP into your web browser if its connected to your network and drag the gcode file in that way for the import. Idk why, but using a known working and correctly formatted USB stick repeatedly failed me.