Skip to content

[Feature]: A rule for what Filee shows by default, before more formats are added #806

Closed

Description

@SeoJCalive

What would you like Filee to do?

A shared rule for what Filee shows by default, so the everyday conversions stay easy to find as more formats and tools arrive. I don't have a fixed plan; below are the directions I've been thinking about, and how to shape it is your call.

1. What the default donuts hold

  • Front converts, back edits. The front face is format conversion; the back face is editing the file (rotate, crop, compress, ...), so a new user can tell the two apart at a glance. Types with no editing tools keep their less common conversions on the back, as they do now.
  • Most-used first, whatever it is. No fixed meaning per face: the front holds the most-used actions (conversion or edit) and the back holds the rest. Simpler, but less predictable.
  • One "Edit" slice on the front. Conversions stay on the front with a single group slice that fans out the edits, and the back keeps less common conversions.
  • One or two group slices by default, so people see that a slice can open more choices (for example "Rotate" on the image donut).

2. How the specialist formats (CAD, 3D models, GIS / maps, fonts, game textures, ...) get out of the way

  • Packages you switch on. Formats are grouped by purpose; a package's formats and donut show up only when it is on, and it can be turned off again (a page like Settings → Engines, but for what is shown, not what is installed).
  • Ask on first run. A "What do you work with?" step (photos, documents, video and audio, design, 3D / CAD, maps, fonts, ...) picks which donuts and formats start visible; it can be changed later.
  • Show them when they're needed. Specialist donuts stay hidden until a matching file is dropped, then Filee offers to turn that group on.
  • Lighter: per-donut on / off. The specialist donuts ship turned off in Settings → Toolbar, with a switch to turn each one on.
  • For long lists (such as the preset editor's target list): common formats first, the rest under "More formats".

In every case Filee would still recognize all files; only what is shown by default changes.

Why / when would you use it?

Filee now knows about 270 formats and ships 19 default donuts. That is great for coverage, and this isn't about size or speed — Filee stays light. It's about how much a new user sees before finding the few things they came for. The everyday features are starting to get buried under optional ones that most people never use:

  • The image donut's front mixes PNG / JPG / WEBP with SVG tracing, BMP, TIFF and three editing tools, while GIF is not on the donut.
  • Donuts for CAD, 3D models and GIS are there by default, though most users will never drop those files.
  • The preset editor's target list shows around 150 formats.

When the basics are hard to spot, people don't discover them and keep using only what they already know.

So far each slice has been decided case by case within the 12-slice limit (GIF dropped from the image donut, PPTX in place of TIFF on the PDF donut, "Cut a clip" in place of FLAC on the video back). That has worked, but there is no written rule, so every new format or tool means the same decision again, and contributors can't tell where a new preset should go.

Ideas for how it could work

Which direction sounds closest to what you'd want, or would you rather go another way? Please let me know whether to go ahead (yes or no); I'll follow your feedback.

Activity

  1. KnifeLemon commented on Oct 30, 2026

    @KnifeLemon
    Owner

    @SeoJCalive 좋은 제안 고마워요. 이렇게 정했어요.

    규칙

    1. 앞면은 변환, 뒷면은 편집. 앞면에는 형식 변환, 뒷면에는 그 파일을 고치는 도구(회전, 자르기, 압축 등)를 둬요. 편집 도구가 없는 유형은 지금처럼 덜 쓰는 변환을 뒷면에 둬요.
    2. 전문 분야 도넛은 기본으로 꺼 두기. CAD, 3D 모델, GIS/지도, 글꼴, 게임 텍스처 같은 도넛은 기본으로 끄고, 설정 → 도넛 툴바에서 도넛마다 켤 수 있게 해요. 파일 인식은 지금처럼 다 해요. 기본으로 보여 주는 것만 바뀌어요.

    나머지 안(분야 묶음 켜고 끄기, 첫 실행 질문, 필요할 때 제안)은 이번에는 하지 않아요. 위 두 가지로 부족하면 그때 다시 봐요.

    기존 사용자

    • 새로 설치하는 경우에만 새 기본값을 적용해요.
    • 이미 쓰고 있는 사용자의 도넛은 마이그레이션으로 칸을 빼거나 옮기지 않아요. 직접 바꾼 배치를 존중해야 해서, 꺼진 도넛 스위치만 새로 보이게 해요.

    진행

    맡아 주실 수 있을까요? PR 전에 이 이슈에 아래 표를 먼저 올려 주세요.

    • 도넛별 앞면과 뒷면 칸 목록(지금 → 바뀐 뒤)
    • 기본으로 끌 도넛 목록

    그 표가 정해지면 코드로 들어가면 돼요. GIF처럼 지금 빠져 있는 자주 쓰는 형식은 이 정리에서 같이 자리를 찾아 주세요.

  2. SeoJCalive commented on Oct 30, 2026

    @SeoJCalive
    CollaboratorAuthor

    @KnifeLemon 정리해 주셔서 고마워요. 이 이슈 제가 맡을게요.

    1. 표 먼저: 도넛별 앞면·뒷면 칸 목록(지금 → 바뀐 뒤), 기본으로 끌 도넛 목록, GIF처럼 지금 빠져 있는 자주 쓰는 형식의 자리를 표로 정리해서 여기에 먼저 올릴게요.
    2. 코드는 표가 정해진 뒤에: 새로 설치할 때의 기본값과 도넛별 켜기/끄기 스위치를 넣고, 이미 쓰고 있는 사용자의 칸은 옮기거나 빼지 않을게요.

    표가 준비되면 바로 올릴게요.

  3. self-assigned this
    on Oct 30, 2026
  4. SeoJCalive commented on Oct 30, 2026

    @SeoJCalive
    CollaboratorAuthor

    @KnifeLemon 정리해 주신 대로 표를 만들다가, 제가 이슈를 잘못 정리해서 올린 걸 알게 됐어요. 정정하고, 방향과 그에 따른 선행 작업을 함께 여쭤볼게요.

    1. 도넛마다 끄기는 효과가 거의 없어요: 도넛은 그 형식의 파일을 놓을 때만 열려서, CAD 파일을 안 다루는 사람에게는 CAD 도넛이 켜져 있어도 보일 일이 없어요. 끄면 오히려 그 파일을 다루는 사람만 혼합 도넛을 보게 돼요.

    2. 원래 하려던 건 분야 단위로 끄기예요: 분야를 끄면 그 분야의 형식이 두 곳에서 빠지는 방식이에요.

      • 어느 도넛에 있든 그 형식으로 바꾸는 칸
      • 설정 화면 목록(툴바 편집기 팔레트, 프리셋 목록, 프리셋 편집기 대상 형식 등)

      파일 인식, 프리셋 자체, CLI는 그대로예요. Blender가 자주 쓰는 형식만 기본으로 켜 두고, 나머지는 애드온을 켜면 가져오기·내보내기 메뉴에 함께 생기는 방식과 비슷해요.

    3. 분야는 겹칠 수 있어요: 형식 하나가 여러 분야에 속할 수 있고, 켜진 분야 중 하나라도 그 형식을 가지면 보여요. 예를 들어 DXF는 CAD와 벡터 디자인에, SRT는 자막과 동영상에 속해서, CAD나 자막을 꺼도 벡터 도넛의 DXF나 동영상의 자막 추출은 그대로 남아요.

    4. 기본으로 끌 분야: CAD, 3D 모델, 지도, 글꼴, 게임 텍스처(DDS, TGA 등)를 생각하고 있어요.

    5. 꺼진 분야의 파일을 놓았을 때: 그 파일을 실제로 다루는 사람이 불편하지 않게, 그 분야 도넛은 그대로 열고 칸과 목록만 줄이는 쪽을 생각하고 있어요. 혼합 도넛으로 보내는 쪽도 가능해요.

    "앞면은 변환, 뒷면은 편집"과 새로 설치할 때만 적용하는 원칙은 그대로 가져가요.

    이 방향이면 먼저 해야 할 작업

    지금은 형식마다 분야(카테고리)가 하나뿐이라 3번처럼 겹치는 걸 나타낼 수 없어요. 그렇다고 카테고리를 바꾸면 변환 엔진, 경로, 프리셋 판정, CLI까지 영향을 받아요. 그래서 카테고리는 그대로 두고, 분야마다 형식 목록을 적은 표를 따로 두는 작업이 먼저 필요해요. 이 작업은 화면을 바꾸지 않고 표와 시험만 들어가요.

    여쭤볼 것

    1. 도넛마다 끄기 대신 이렇게 분야 끄기로 진행해도 될까요?
    2. 괜찮다면, 위 표 작업을 별도 이슈로 먼저 올리고 이 이슈는 그다음에 진행해도 될까요?
  5. KnifeLemon commented on Oct 30, 2026

    @KnifeLemon
    Owner

    @SeoJCalive 짚어 주셔서 고마워요. 제 추천이 틀렸어요. 말씀대로 분야 단위로 끄기로 가요.

    1. 방향: 분야를 끄면 그 분야의 형식이 두 곳에서 빠져요.

      • 어느 도넛에 있든 "그 형식으로 바꾸는" 칸
      • 설정 화면의 목록(툴바 편집기 팔레트, 프리셋 목록, 프리셋 편집기 대상 형식)

      파일 인식, 프리셋 자체, CLI는 그대로예요. 분야는 겹칠 수 있고, 켜진 분야 중 하나라도 그 형식을 가지면 보여요.

    2. 기본으로 끌 분야: 말씀하신 CAD, 3D 모델, 지도, 글꼴, 게임 텍스처로 시작해요.

    3. 꺼진 분야의 파일을 놓았을 때: 그 도넛은 그대로 열고 칸과 목록만 줄이는 쪽이 좋아요. 그 파일을 실제로 쓰는 사람이 불편하면 안 되니까요.

    4. "앞면은 변환, 뒷면은 편집"과 "새로 설치할 때만 적용" 원칙은 그대로예요.

    순서: "분야 → 형식" 표 작업을 먼저 별도 이슈로 올려 주세요(화면 변경 없이 표와 테스트만). 그게 머지되면 이 이슈로 돌아와요. 이 이슈는 계속 맡아 주세요.

  6. SeoJCalive commented on Oct 31, 2026

    @SeoJCalive
    CollaboratorAuthor

    @KnifeLemon 구현 전에 올려 달라고 하신 도넛별 칸 목록(지금 → 바뀐 뒤)이에요. 규칙 6·7(앞면은 변환, 뒷면은 편집, 새 설치에만 적용)을 지금 기본 도넛에 맞춘 배치를 기준으로 하고, 칸마다 얼마나 필요한지 단계를 매겼어요.

    1. 짠 방식과 어디까지 할지: 아래 표의 "단계"는 이렇게 매겼어요.

      • 핵심: 없으면 그 도넛이 제 역할을 못 하는 칸이에요. 받은 파일을 어디서나 열거나 보내려고 바꾸는 대표 형식(이미지 PNG·JPG, 문서 PDF·DOCX, 국내 사용자를 생각해 문서 계열은 HWPX·HWP도), 전문 도넛은 그 분야의 주 교환 형식(글꼴 WOFF2·TTF 등), 다른 칸으로는 못 만드는 결과(여러 파일을 PDF 하나로 등), 뒷면은 먼저 찾는 편집 도구를 일마다 하나씩 넣었어요.
      • 1단계: 같은 일의 흔한 변형이나 두 번째 공유 형식(MP4 720p, WEBP 등)
      • 2단계: 특정 사용자층이 분명히 쓰는 출력(TIFF, EPUB, MKV 등)
      • 3단계: 전문·옛 형식이거나 다른 칸이 대부분 대신하는 것(BMP, AVI 등)

      어느 단계까지 고르면 핵심과 그 단계까지의 칸만, 표의 순서 그대로 남아요. 면을 옮기는 칸은 없어요. 고르실 안은 넷이에요.

      • (a) 규칙 적용 후 그대로: 3단계까지 모두 남겨요. 바뀌는 도넛은 이미지, PDF, 동영상, 오디오, 혼합 다섯이에요.
      • (b) 핵심 + 1단계: 모든 면이 8칸 이하가 돼요. 8칸은 코드의 값이 아니라 제 판단이에요. 한 면은 최대 12칸이고 원을 칸 수로 똑같이 나누므로, 8칸이면 한 칸이 45도라 놓기 쉽고 한눈에 읽힌다고 봤어요.
      • (c) 핵심만
      • (d) 직접 고르기: 도넛마다 몇 단계까지 둘지, 또는 칸을 하나씩 골라 알려 주세요.

      (b)~(d)는 규칙을 어기지 않은 지금 칸까지 빼는 것이라 허락해 주실 때만 해요. 빠진 칸은 프리셋 목록에 남아 툴바 편집기에서 다시 넣을 수 있고, 이미 쓰는 사람의 도넛은 바뀌지 않아요.

    2. 규칙 6을 적용하면 빠지는 칸: 편집 도구가 있는 유형의 뒷면에서 변환이 빠져요(표의 "기본에서 빠짐", 이미지의 투명 여백 자르기는 칸 수 때문이라 따로 적었어요). 앞면으로 옮기지는 않았어요. 따로 정하지 않은 재배치가 되니까요. 편집 도구가 있는 유형도 편집 칸 뒤에 덜 쓰는 변환을 남겨도 될까요? (a) 기준으로 남기면 동영상 뒷면 12칸, 오디오 5칸이고, PDF는 13칸이라 하나를 빼야 하고, 이미지는 뒷면이 이미 12칸이라 자리가 없어요. (b)~(d)와 함께 고르시면 남는 자리에 맞춰 후보를 다시 고를게요.

    3. GIF 자리: 이미지 앞면 핵심으로, 순서는 WEBP 다음 자리를 제안해요. Filee는 GIF, WEBP, APNG, MNG 사이에서 모든 프레임과 시간 간격을 지켜 바꾸고(ImageEncoder.cs), 움직이는 .png는 APNG로 읽어요(MagickImageConverter.cs). 그래서 움직이는 WEBP·PNG를 GIF만 받는 곳에 올릴 때 다른 칸으로는 대신할 수 없어요. 정지 그림은 한 장짜리 GIF가 돼요. (c)처럼 WEBP가 빠지는 안에서도 순서는 표대로라 JPG 다음이 돼요. 이 자리로 괜찮을까요?

    4. 기본에 넣을지 정할 세 가지: 셋 다 넣지 않는 쪽을 권해요.

      • 이미지 합치기 → 벡터 도넛: SVG 여러 개를 합치면 어떤 형식으로 나오는지 아직 확인하지 못했고, 벡터 파일은 보통 편집기에서 합쳐요.
      • 오디오 합치기 → 동영상 도넛: 동영상의 소리만 이어 붙이는 일은 드물고, 동영상 합치기 뒤 오디오 추출로 할 수 있어요.
      • 사진으로 동영상 → 이미지 도넛: 사진으로 영상을 만드는 사람에게만 필요해요. 넣는다면 이미지 앞면 ICO 다음이에요.
    5. 작은 확인 세 가지:

      • "ZIP 하나로"는 형식도 파일 내용도 바꾸지 않는 묶기라 변환이 아닌 것으로 봤어요. 그래서 압축 파일·혼합 도넛 앞면에 지금처럼 둬요. 변환으로 보시면 앞면은 그대로 되지만 이미지·PDF·동영상·오디오 뒷면의 "ZIP 하나로"가 규칙 6에 걸려요. 어느 쪽으로 볼까요?
      • 혼합 도넛 뒷면의 PDF 압축은 섞인 파일 중 PDF에만 듣는 편집이라, 규칙 6대로 표에서는 뺐어요. 남길까요?
      • 동영상 뒷면에 메타데이터 제거를 더할까요? 휴대폰 동영상에도 위치 정보가 들어 있고, 이미지·PDF·오디오 뒷면에는 이미 있어요. 표의 칸 수에는 넣지 않았어요. 2번에서 동영상 변환을 남기는 것과 함께 고르시면 13칸이라 하나를 빼야 해요.
    6. 배치 점검 시험: 규칙 9의 점검 시험은 제가 맡아 시작할게요. 기본 도넛의 칸마다 그 도넛이 받는 형식에 대해 실행 가능 여부 판정(PresetAvailability)과 입력별 동작 조건을 확인해서, 실행할 수 없는 칸, 이름 그대로의 작업을 하는 칸, 일반 변환으로만 실행되는 칸으로 나눠요.

    바뀌는 도넛 다섯

    "→ 뒷면"과 "(← 앞면)"은 규칙 6 때문에 면을 옮긴 칸이에요.

    이미지

    앞면

    # 지금 규칙 적용 후 단계
    1 PNG PNG 핵심
    2 JPG JPG 핵심
    3 WEBP WEBP 1
    4 PDF GIF 핵심
    5 벡터화 PDF 핵심
    6 흑백 선화 벡터화 핵심
    7 TIFF 흑백 선화 3
    8 BMP TIFF 2
    9 ICO BMP 3
    10 50% 축소 → 뒷면 ICO 2
    11 이미지 편집 → 뒷면
    12 모자이크·흐림 → 뒷면

    뒷면

    # 지금 규칙 적용 후 단계
    1 자르기 자르기 핵심
    2 회전 회전 1
    3 뒤집기 뒤집기 3
    4 배경 제거 배경 제거 1
    5 투명 여백 자르기 흑백 3
    6 흑백 이미지 합치기 1
    7 AVIF 이미지 압축 핵심
    8 이미지 합치기 메타데이터 제거 2
    9 PDF 병합 50% 축소 (← 앞면) 1
    10 이미지 압축 이미지 편집 (← 앞면) 핵심
    11 메타데이터 제거 모자이크·흐림 (← 앞면) 2
    12 ZIP 하나로 ZIP 하나로 1

    기본에서 빠짐: AVIF, PDF 병합(규칙 6), 투명 여백 자르기. 투명 여백 자르기는 규칙 6 때문이 아니라, 앞면의 편집 세 칸을 뒷면으로 옮기면 뒷면이 13칸이 되어 하나를 빼야 해서 뺐어요. 투명 배경 그림에만 쓰여 편집 칸 중 가장 좁아요.

    PDF

    앞면

    # 지금 규칙 적용 후 단계
    1 PNG PNG 핵심
    2 JPG JPG 핵심
    3 긴 이미지 긴 이미지 2
    4 DOCX DOCX 핵심
    5 PPTX (슬라이드) PPTX (슬라이드) 핵심
    6 TXT TXT 1
    7 Markdown Markdown 2
    8 EPUB EPUB 2
    9 HWPX HWPX 핵심
    10 HWP HWP 핵심
    11 PDF 분할 → 뒷면
    12 PDF 병합 → 뒷면

    뒷면

    # 지금 규칙 적용 후 단계
    1 편집 (자르기·회전·페이지 묶음) 편집 (자르기·회전·페이지 묶음) 핵심
    2 PDF 압축 PDF 분할 (← 앞면) 1
    3 WEBP PDF 병합 (← 앞면) 1
    4 TIFF PDF 압축 핵심
    5 HTML 메타데이터 제거 2
    6 ODT ZIP 하나로 1
    7 RTF
    8 AZW3
    9 CBZ
    10 메타데이터 제거
    11 ZIP 하나로

    기본에서 빠짐: WEBP, TIFF, HTML, ODT, RTF, AZW3, CBZ

    동영상

    앞면

    # 지금 규칙 적용 후 단계
    1 MP4 MP4 핵심
    2 MP4 720p MP4 720p 1
    3 MP4 HEVC MP4 HEVC 2
    4 WEBM WEBM 2
    5 MOV MOV 1
    6 GIF GIF 핵심
    7 MP3 MP3 핵심
    8 자막 추출 자막 추출 2
    9 자막 생성 자막 생성 핵심
    10 MKV MKV 2
    11 AVI AVI 3

    뒷면

    # 지금 규칙 적용 후 단계
    1 클립 자르기 클립 자르기 핵심
    2 MP4 AV1 동영상 압축 핵심
    3 WEBP 동영상 합치기 1
    4 프레임 추출 (PNG) ZIP 하나로 1
    5 프레임 추출 (JPG)
    6 라이브 포토 (아이폰)
    7 모션 포토 (안드로이드)
    8 오디오 추출
    9 WAV
    10 동영상 압축
    11 동영상 합치기
    12 ZIP 하나로

    기본에서 빠짐: MP4 AV1, WEBP, 프레임 추출 (PNG), 프레임 추출 (JPG), 라이브 포토 (아이폰), 모션 포토 (안드로이드), 오디오 추출, WAV

    오디오

    앞면

    # 지금 규칙 적용 후 단계
    1 MP3 MP3 핵심
    2 MP3 128k MP3 128k 1
    3 M4A M4A 핵심
    4 WAV WAV 핵심
    5 FLAC FLAC 2
    6 OGG OGG 2
    7 OPUS OPUS 3
    8 AAC AAC 3
    9 자막 생성 자막 생성 핵심

    뒷면

    # 지금 규칙 적용 후 단계
    1 ALAC 오디오 압축 핵심
    2 오디오 압축 오디오 합치기 1
    3 오디오 합치기 메타데이터 제거 2
    4 메타데이터 제거 ZIP 하나로 1
    5 ZIP 하나로

    기본에서 빠짐: ALAC

    혼합 파일

    앞면

    # 지금 규칙 적용 후 단계
    1 PDF PDF 핵심
    2 PDF 병합 PDF 병합 핵심
    3 ZIP 하나로 ZIP 하나로 핵심
    4 PNG PNG 1
    5 TXT TXT 1

    뒷면

    # 지금 규칙 적용 후 단계
    1 JPG JPG 2
    2 WEBP WEBP 3
    3 DOCX DOCX 2
    4 Markdown Markdown 3
    5 HTML HTML 3
    6 PDF 압축

    기본에서 빠짐: PDF 압축

    나머지 14개 도넛 (지금과 규칙 적용 후가 같음, 칸 순서대로, 괄호는 단계)

    문서

    • 앞면: PDF (핵심), HWPX (핵심), HWP (핵심), DOCX (핵심), ODT (2), TXT (1), HTML (2), EPUB (2), PNG (1), PDF 병합 (핵심)
    • 뒷면: Markdown (2), RTF (3), JPG (3), 긴 이미지 (2), AZW3 (3), KEPUB (3), ZIP 하나로 (1)

    스프레드시트

    • 앞면: PDF (핵심), XLSX (핵심), CSV (핵심), JSON (2), ODS (2), HWPX (핵심), HWP (핵심), HTML (2), PDF 병합 (핵심)
    • 뒷면: PDF + 편집 (1), DOCX (2), Markdown (3), TXT (3), YAML (3), XML (3), vCard (2), iCalendar (2), PNG (3), ZIP 하나로 (1)

    프레젠테이션

    • 앞면: PDF (핵심), PNG (핵심), JPG (1), PPTX (핵심), HWPX (핵심), HWP (핵심), PDF 병합 (핵심)
    • 뒷면: ODP (2), WEBP (3), 긴 이미지 (2), DOCX (2), TXT (3), Markdown (3), HTML (3), ZIP 하나로 (1)

    HWP / HWPX

    • 앞면: PDF (핵심), DOCX (핵심), HWPX (핵심), HWP (핵심), PNG (1), JPG (3), TXT (1), Markdown (2), EPUB (2), PDF 병합 (핵심)
    • 뒷면: HTML (2), ODT (2), RTF (3), 긴 이미지 (2), AZW3 (3), ZIP 하나로 (1)

    텍스트·마크다운

    • 앞면: PDF (핵심), HWPX (핵심), HWP (핵심), DOCX (핵심), HTML (핵심), TXT (1), EPUB (2)
    • 뒷면: Markdown (2), ODT (2), RTF (3), KEPUB (3), PDF 병합 (2), ZIP 하나로 (1)

    전자책

    • 앞면: PDF (핵심), EPUB (핵심), DOCX (1), TXT (1), AZW3 (핵심), MOBI (3), KEPUB (1), HWPX (2), HWP (2), HTML (2)
    • 뒷면: FB2 (3), Markdown (2), RTF (3), ODT (3), PDF 병합 (3), ZIP 하나로 (1)

    자막

    • 앞면: SRT (핵심), WebVTT (핵심), ASS (2), SAMI (2), LRC (2), TTML (3)
    • 뒷면: ZIP 하나로 (1)

    벡터 그래픽

    • 앞면: PNG (핵심), PDF (핵심), SVG (핵심), JPG (1), WEBP (1), EPS (2)
    • 뒷면: TIFF (2), ICO (2), ICNS (2), AVIF (3), DXF (2), PDF 병합 (3), ZIP 하나로 (1)

    압축 파일

    • 앞면: 압축 풀기 (핵심), ZIP 하나로 (핵심), ZIP (핵심), 7Z (1), TAR.GZ (2), TAR (2)
    • 뒷면: 없음

    CAD 도면

    • 앞면: PDF (핵심), PNG (1), SVG (1), DXF (핵심), DWG (핵심)
    • 뒷면: JPG (2), WEBP (3), TIFF (3), PDF 병합 (2), ZIP 하나로 (1)

    글꼴

    • 앞면: WOFF2 (핵심), WOFF (1), TTF (핵심), OTF (1), EOT (3)
    • 뒷면: ZIP 하나로 (1)

    데이터

    • 앞면: JSON (핵심), YAML (1), TOML (2), XML (1), CSV (핵심), XLSX (핵심)
    • 뒷면: ODS (2), HTML (2), Markdown (2), ZIP 하나로 (1)

    3D 모델

    • 앞면: GLB (핵심), STL (핵심), OBJ (핵심), 3MF (1), PLY (2), PNG (1)
    • 뒷면: glTF (3), JPG (3), WEBP (3), ZIP 하나로 (1)

    지리 정보 (GIS)

    • 앞면: GeoJSON (핵심), Shapefile (핵심), KML (핵심), CSV (1), GPX (1), KMZ (3)
    • 뒷면: ZIP 하나로 (1)

    몇 번 안으로 할지와 2~5번의 답을 알려 주시면 그 표대로 구현할게요.

  7. KnifeLemon commented on Oct 31, 2026

    @KnifeLemon
    Owner

    @SeoJCalive 표와 단계 매기기 고마워요. 덕분에 고르기 쉬웠어요. 이렇게 정했어요.

    결정

    1. 칸 범위: (b) 핵심 + 1단계. 모든 면을 8칸 이하로 맞춰 주세요. 표의 순서는 그대로 두면 돼요.
    2. 편집 도구가 있는 유형의 뒷면: 편집 칸 뒤에 남는 자리가 있으면 덜 쓰는 변환을 남겨 주세요.
      • (b) 기준으로 남는 자리에 맞춰 후보를 다시 골라 주세요.
      • 남기는 변환도 8칸 안에서요.
    3. GIF: 제안대로 이미지 앞면 핵심, WEBP 다음 자리예요.
    4. 기본에 넣지 않는 세 가지: 권하신 대로 셋 다 넣지 않아요.
      • 이미지 합치기 → 벡터 도넛
      • 오디오 합치기 → 동영상 도넛
      • 사진으로 동영상 → 이미지 도넛
    5. 작은 확인
      • "ZIP 하나로"는 변환이 아니에요. 묶기로 보고 지금 자리를 유지해요.
      • 동영상 뒷면에 메타데이터 제거를 넣어 주세요. 칸 수는 위 8칸 안에서 맞춰 주세요.
      • 혼합 도넛 뒷면의 PDF 압축은 빼요. 규칙 6대로예요.
    6. 배치 점검 시험(규칙 9): 맡아 주셔서 고마워요. #914로 올려 주신 것 확인하고 있어요.

    남은 자리 후보를 다시 고른 표가 나오면 여기에 한 번 더 올려 주세요. 그걸 보고 코드로 들어가면 돼요.

  8. SeoJCalive commented on Nov 1, 2026

    @SeoJCalive
    CollaboratorAuthor

    @KnifeLemon 정해 주신 대로 다시 고른 표예요. (b) 핵심 + 1단계를 표의 순서 그대로 남기고, GIF·메타데이터 제거·PDF 압축·ZIP 하나로는 결정대로 반영했어요. 모든 면이 8칸 이하예요.

    편집 도구가 있는 도넛의 뒷면

    남는 자리 후보는 그 뒷면에 지금 있다가 규칙 6 때문에 빠지는 변환이에요. 이 후보들의 단계는 처음 표에서 가져온 값이 아니라, 그 도넛에 파일을 놓는 사람을 기준으로 처음 표의 단계 뜻(1단계는 흔한 변형·두 번째 공유 형식, 2단계는 특정 사용자층이 쓰는 출력, 3단계는 그 도넛에 남는 다른 칸이 대부분 대신하는 것)에 맞춰 새로 매긴 제안이에요. 한번 봐 주세요. 낮은 단계부터, 같은 단계 안에서는 지금 순서대로 8칸이 찰 때까지 골랐어요. 고른 칸은 편집 칸 뒤, ZIP 하나로 앞에 둬요. ★가 다시 고른 칸이에요.

    # 이미지 PDF 동영상 오디오
    1 자르기 편집 (자르기·회전·페이지 묶음) 클립 자르기 오디오 압축
    2 회전 PDF 분할 동영상 압축 오디오 합치기
    3 배경 제거 PDF 병합 동영상 합치기 ★ ALAC (2)
    4 이미지 합치기 PDF 압축 메타데이터 제거 ZIP 하나로
    5 이미지 압축 ★ TIFF (2) ★ MP4 AV1 (2)
    6 50% 축소 ★ HTML (2) ★ 프레임 추출 (PNG) (2)
    7 이미지 편집 ★ ODT (2) ★ 오디오 추출 (1)
    8 ZIP 하나로 ZIP 하나로 ZIP 하나로
    • 이미지: 편집 7칸과 ZIP 하나로를 합쳐 이미 8칸이라 AVIF(3)·PDF 병합(3)은 남길 자리가 없어요.
    • PDF: 1단계 후보가 없어 2단계 TIFF, HTML, ODT, AZW3, CBZ 중 앞의 셋을 골랐어요. AZW3(2)·CBZ(2)는 자리가 없고, WEBP(3, PNG·JPG가 대신)·RTF(3, DOCX가 대신)는 뺐어요.
    • 동영상: 프레임 추출 (JPG), 라이브 포토, 모션 포토, WAV는 2단계지만 자리가 없고, WEBP는 GIF가 대신해 3단계라 뺐어요. 오디오 추출은 MP3와 같은 일의 변형이라 1단계로 봤어요.

    앞면은 이미지 PNG, JPG, WEBP, GIF, PDF, 벡터화 / PDF PNG, JPG, DOCX, PPTX (슬라이드), TXT, HWPX, HWP / 동영상 MP4, MP4 720p, MOV, GIF, MP3, 자막 생성 / 오디오 MP3, MP3 128k, M4A, WAV, 자막 생성이에요.

    나머지 15개 도넛 (앞면 / 뒷면, 칸 순서대로)
    • 문서: PDF, HWPX, HWP, DOCX, TXT, PNG, PDF 병합 / ZIP 하나로
    • 스프레드시트: PDF, XLSX, CSV, HWPX, HWP, PDF 병합 / PDF + 편집, ZIP 하나로
    • 프레젠테이션: PDF, PNG, JPG, PPTX, HWPX, HWP, PDF 병합 / ZIP 하나로
    • HWP / HWPX: PDF, DOCX, HWPX, HWP, PNG, TXT, PDF 병합 / ZIP 하나로
    • 텍스트·마크다운: PDF, HWPX, HWP, DOCX, HTML, TXT / ZIP 하나로
    • 전자책: PDF, EPUB, DOCX, TXT, AZW3, KEPUB / ZIP 하나로
    • 자막: SRT, WebVTT / ZIP 하나로
    • 벡터 그래픽: PNG, PDF, SVG, JPG, WEBP / ZIP 하나로
    • 압축 파일: 압축 풀기, ZIP 하나로, ZIP, 7Z / 없음
    • CAD 도면: PDF, PNG, SVG, DXF, DWG / ZIP 하나로
    • 글꼴: WOFF2, WOFF, TTF, OTF / ZIP 하나로
    • 데이터: JSON, YAML, XML, CSV, XLSX / ZIP 하나로
    • 3D 모델: GLB, STL, OBJ, 3MF, PNG / ZIP 하나로
    • 지리 정보 (GIS): GeoJSON, Shapefile, KML, CSV, GPX / ZIP 하나로
    • 혼합 파일: PDF, PDF 병합, ZIP 하나로, PNG, TXT / 없음

    빠진 칸은 모두 프리셋 목록에 남아 툴바 편집기에서 다시 넣을 수 있고, 이미 쓰는 사람의 도넛은 바뀌지 않아요. 새로 생긴 배치 점검 시험은 면을 가리지 않고 도넛 단위로 보므로, 칸을 빼거나 같은 도넛 안에서 옮기는 것만으로는 걸리지 않아요. 도넛에 새로 들어가는 칸은 이미지 GIF와 동영상 메타데이터 제거 둘이고, 구현할 때 이 시험으로 확인할게요.

    결정대로 짜다가 생긴 두 가지만 확인해 주세요.

    1. 이미지·PDF·오디오 뒷면의 메타데이터 제거: 2단계라 (b)에서 빠졌어요. 동영상에는 넣으면서 다른 세 곳에서는 빠지는 셈이에요. 남기면 오디오는 5칸, PDF는 ODT 대신 들어가 8칸 그대로이고, 이미지는 이미 8칸이라 칸 하나를 함께 빼야 해요. 표는 뺀 상태예요.
    2. 혼합 파일 뒷면이 비어요: PDF 압축이 빠지면서 편집 도구가 없는 도넛이 됐고, 남은 뒷면 변환(JPG, DOCX는 2단계, WEBP, Markdown, HTML은 3단계)이 (b)로 모두 빠져요. 압축 파일 도넛처럼 비워 둔 상태이고, 남긴다면 JPG, DOCX 두 칸이에요.

    두 가지 답을 받으면 이 표대로 구현을 시작할게요.

  9. SeoJCalive commented on Nov 1, 2026

    @SeoJCalive
    CollaboratorAuthor

    @KnifeLemon 방금 올린 표에서 하나 더 확인할 게 있어요. 편집 도구가 없는 도넛은 뒷면에 덜 쓰는 변환을 두는데, 제가 매긴 단계로는 이 변환이 대부분 2·3단계라 (b)에서 빠져요. 그래서 아래 9개 도넛은 뒷면에 ZIP 하나로만 남아요. 처음 (b)를 설명할 때 이 결과를 따로 적지 않았어요.

    도넛 지금 뒷면에서 (b)로 빠지는 칸 (단계)
    문서 Markdown (2), RTF (3), JPG (3), 긴 이미지 (2), AZW3 (3), KEPUB (3)
    프레젠테이션 ODP (2), WEBP (3), 긴 이미지 (2), DOCX (2), TXT (3), Markdown (3), HTML (3)
    HWP / HWPX HTML (2), ODT (2), RTF (3), 긴 이미지 (2), AZW3 (3)
    텍스트·마크다운 Markdown (2), ODT (2), RTF (3), KEPUB (3), PDF 병합 (2)
    전자책 FB2 (3), Markdown (2), RTF (3), ODT (3), PDF 병합 (3)
    벡터 그래픽 TIFF (2), ICO (2), ICNS (2), AVIF (3), DXF (2), PDF 병합 (3)
    CAD 도면 JPG (2), WEBP (3), TIFF (3), PDF 병합 (2)
    데이터 ODS (2), HTML (2), Markdown (2)
    3D 모델 glTF (3), JPG (3), WEBP (3)

    스프레드시트도 비슷해요. 뒷면에 PDF + 편집과 ZIP 하나로 두 칸만 남고, DOCX (2), Markdown (3), TXT (3), YAML (3), XML (3), vCard (2), iCalendar (2), PNG (3)가 빠져요. 자막·글꼴·지리 정보는 원래부터 뒷면이 ZIP 하나로뿐이라 바뀌지 않아요.

    1. 이 뒷면들을 어떻게 할까요? 생각한 방향은 셋이에요.
      • 그대로 두기: 정해 주신 (b) 그대로예요. 빠진 칸은 툴바 편집기에서 다시 넣을 수 있어요.
      • 이 뒷면만 2단계까지 남기기: 위 표의 (2) 칸을 표 순서대로 남겨요. 뒷면 칸 수는 ZIP 하나로를 포함해 문서 3, 프레젠테이션 4, HWP / HWPX 4, 텍스트·마크다운 4, 전자책 2, 벡터 그래픽 5, CAD 도면 3, 데이터 4, 3D 모델 1, 스프레드시트 5가 돼요. 모두 8칸 이하예요.
      • 이 뒷면은 지금 그대로 두기: 앞면만 (b)를 적용해요. 다른 뒷면은 8칸 안이지만, 스프레드시트 뒷면은 10칸이라 두 칸을 빼야 해요.

    앞 댓글의 두 질문과 함께 답 주시면, 표에 반영해서 구현할게요.

  10. KnifeLemon commented on Nov 1, 2026

    @KnifeLemon
    Owner

    @SeoJCalive 다시 고른 표와 빠지는 칸 정리, 고마워요. 세 가지 이렇게 정했어요.

    결정

    1. 편집 도구가 없는 도넛의 뒷면: 2단계까지 남겨요.
      • 대상은 문서, 프레젠테이션, HWP / HWPX, 텍스트·마크다운, 전자책, 벡터 그래픽, CAD 도면, 데이터, 3D 모델, 스프레드시트예요.
      • 뒷면은 원래 덜 쓰는 변환 자리라서, 표의 (2) 칸을 표 순서대로 남겨 주세요.
      • 적어 주신 칸 수(문서 3, 프레젠테이션 4, HWP / HWPX 4, 텍스트·마크다운 4, 전자책 2, 벡터 그래픽 5, CAD 도면 3, 데이터 4, 3D 모델 1, 스프레드시트 5)대로 가면 돼요.
      • 앞면은 (b) 그대로예요.
    2. 혼합 파일 뒷면: JPG, DOCX 두 칸을 남겨요. 1번과 같은 규칙이에요.
    3. 메타데이터 제거: 칸이 남는 곳에만 넣어요.
      • 오디오: 넣어요 (5칸).
      • PDF: ODT 대신 넣어요 (8칸 그대로).
      • 이미지: 이미 8칸이라 지금 표대로 빼요.
      • 동영상: 정한 대로 넣어요.

    이대로 구현해 주시면 돼요. 배치 점검 시험으로 확인해 주시면 좋겠어요.

  11. SeoJCalive commented on Nov 1, 2026

    @SeoJCalive
    CollaboratorAuthor

    @KnifeLemon 분야 스위치를 화면에 연결하는 작업을 시작해요. 설정 저장 방식이 바뀌는 일이라, 코드보다 먼저 이행을 어떻게 할지 알려 드려요.

    1. 스위치 저장: settings.json에 꺼진 분야 id 목록 turnedOffFields 하나를 더해요(예: ["cad", "font", …]). 형식이 아니라 FormatFields.All의 분야 id를 적어요. 새 설치, 곧 settings.json이 없을 때는 이 표의 OnByDefault대로 developer를 뺀 11개가 들어가요.
    2. 기존 사용자는 모두 켜짐: 이 값이 없는 기존 settings.json은 빈 목록, 곧 모든 분야 켜짐으로 읽어요. 규칙 7대로 도넛 칸과 프리셋은 이행으로 건드리지 않고, 이 변경은 새 칸 이행을 더하지 않아요. 그래서 기존 복구·이행이 필요 없는 스키마 58 라이브러리는 읽기만으로는 세 파일 어느 것도 다시 쓰지 않아요. 뒷면이 빠진 기본 도넛을 채우는 기존 복구 같은 경로는 스키마 번호와 상관없이 지금처럼 돌고, 이 변경은 거기에 저장이나 칸 이행을 더하지 않아요. 더 오래된 설정은 지금처럼 기존 이행을 거쳐 저장되고, 그때도 이 값은 모두 켜짐이에요. 읽지 못하는 설정 파일도 기존 사용자로 보고 모두 켜짐으로 시작해요.
    3. 스키마 번호는 58 그대로: 기본값이 있는 속성 하나라 이행 단계가 필요 없어요. UiScale·NavCollapsed·MainWindow와 같은 방식이에요. 같은 이행 코드를 고치는 #972와 번호가 부딪히지도 않아요.
    4. 구버전과 오갈 때: 이 속성을 모르는 Filee는 읽을 때 무시해서 그대로 시작하고, 설정을 저장하면 속성이 빠져요. 그 뒤 새 Filee로 돌아오면 모든 분야가 켜진 채 시작해요. 칸은 스위치와 따로 저장되니 잃지 않아요. 모르는 분야 id는 판정에서 무시하고 목록에는 남겨 둬요.
    5. 숨기는 기준은 대상 형식: 칸 id가 to-로 시작하는지가 아니라 프리셋의 대상 형식을 IsShown으로 봐요. 그래서 사용자가 직접 만든 WOFF2 프리셋 칸도 함께 숨어요. 지금 기본 프리셋 가운데 숨을 수 있는 것은 모두 to-<형식>이라 기본 칸에서는 결과가 같아요.
    6. 편집 중인 프리셋의 대상은 지켜요: 대상이 이미 숨은 형식인 프리셋을 편집기로 열어도, 규칙 4대로 대상 목록에는 그 형식을 넣지 않아요. 대신 상자 아래에 현재 대상으로 따로 보여 주고, 목록에서 다른 대상을 직접 고르지 않으면 원래 대상을 그대로 저장해요. 규칙 4 예외로 도넛에 보인 칸을 우클릭한 경우가 그래요. 지금 코드는 목록에 없는 대상을 다른 형식으로 바꿔 두고 저장하기 때문에, 숨은 대상에서는 이 경로를 없애야 이름만 고쳐도 대상이 조용히 바뀌지 않아요.

    PR은 #972가 머지된 뒤 리베이스해서 열게요. 빈 자리를 어떻게 그릴지, 스위치를 어디에 둘지, 규칙 3이 이름을 대지 않은 목록은 PR 본문에 정리해 둘게요. 이렇게 진행하기로 하고 지금 착수할게요. 다른 의견이 있으면 말씀해 주세요.

  12. 1 remaining item

  13. added a commit that references this issue on Nov 2, 2026
  14. added a commit that references this issue on Nov 3, 2026
  15. SeoJCalive commented on Nov 3, 2026

    @SeoJCalive
    CollaboratorAuthor

    @KnifeLemon #806에서 정한 내용이 모두 머지돼서 이 이슈는 닫을게요.

    1. 배치 점검 시험 (test(presets): check every default donut slot against its donut's inputs #914): 기본 도넛의 모든 칸을 그 도넛이 받는 입력과 맞춰 보는 시험이에요(규칙 9).
    2. 칸 표 (feat(presets): default donuts follow the #806 slot table #972): 핵심 + 1단계, 모든 면 8칸 이하로 기본 도넛을 바꿨어요. GIF는 이미지 앞면 WEBP 다음 자리이고, 편집 도구가 없는 도넛의 뒷면은 2단계까지 남겼어요. 새 설치에만 적용돼요.
    3. 분야 스위치 (feat: field switches in Settings → Fields (#806) #1036): 설정 → 분야 페이지를 더했어요. 꺼진 분야에만 속한 형식은 도넛 칸과 설정 목록에서 빠지고, 놓은 파일의 분야는 숨기지 않아요(규칙 4). 기존 사용자는 모든 분야가 켜진 채로 시작해요.
    4. 그룹 편집기 추가 목록 (feat(toolbar): the group editor's add list follows the field switches #1052): feat: field switches in Settings → Fields (#806) #1036 리뷰에서 말씀하신 후속이에요.

    #862에서 남은 항목은 #806 범위 밖이라 별도 이슈로 하나씩 올릴게요. 일반 변환으로 실행되는 입력 안내, 라이브러리·팔레트 설명 문구, 도넛 합치기·나누기가 남아 있어요. 방향이 이미 정해진 일반 변환 안내부터 먼저 올릴게요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions