Skip to content

filmopen_render_ui

Generated by scripts/package_digest.py; regenerate, never edit.

The one render dialog’s contract, Render on a place’s add tile, and the rail’s GPU page (Software Specification §9.3, §9.7a, §6.15). Only the application imports it.

Flutter. 19 files, 11,662 lines under lib/; 661 tests in 18 files. Barrel: lib/filmopen_render_ui.dart.

  • filmopen_format — uses Author, BatchStem, Catalogue, CatalogueEntry, ComposedTreatment, Entity, EntityType, ExactDecimal, FileNameParser, FilmProject, MediaEntry, MediaKind, MediaSlot, MediaStage, Pick, PlatformKind, PromptPath, ReferenceCodec, ReferenceKind, RenderTreatment, ScriptBlock, SetRecord, ShortName, ShortNameProblem, TakeName, UsageBasis, VersionStem, acceptedKindsFor, acceptsFile, activeVoiceIdFor and 34 more
  • filmopen_state — uses AccountAuthentication, AccountProjects, AccountProjectsRefused, Attribution, AudienceSettings, AutoActivity, AutoReferencesController, Command, CommandCaller, CommandContext, CommandRegistry, CommandResult, CommunityGroups, CommunityGroupsRefused, Deadline, DeviceRegistration, EditableDraft, EntityWritten, GroupInvitation, GroupMember, GroupMembership, GroupName, GroupPage, Lending, LendingRefused, LentOffer, LifecycleHook, MediaClient, MediaObject, MediaRefused and 58 more
  • filmopen_store — uses AppLog, rfc3339Now
  • filmopen_machine — uses MachineFacts, MachineReader
  • filmopen_render — uses BackendRenderManager, ContentHash, OutfitRenderComposer, RenderBackend, RenderCandidate, RenderComposition, RenderDestination, RenderDestinationKind, RenderJob, RenderManager, RenderNotReady, RenderOptions, RenderPhase, RenderQuote, RenderRequest, RenderRoute, RenderStack, ServerCapabilities, ServerFailure, ServerOffer, ServerQuota, ServerQuote, ServerSession, ServerSessionPhase, ServerSessionRefused, ServerSessions, ServerStack, SourceSnapshot, holdsStack, lendingRoute and 5 more
  • filmopen_insertion — uses BlockPlace, FilesSource, Function, InsertionService, InsertionSource, InsertionTarget, MediaImportException, ProducerSource, SlotPlace, producerFailureOf, producerJobKind
  • filmopen_jobs — uses JobAction, JobPhase, JobUnavailable, JobView
  • filmopen_insertion_ui — uses ActionAvailability, ActionAvailable, ActionUnavailable, Function, InsertionAction
  • filmopen_media — uses MediaInput, MediaProvenance, ProjectMedia, PromptToken, isPromptInput, promptInputsOf, promptTokenCandidates, substitutePromptTokens
  • filmopen_media_ui — uses Function, MediaTile
  • filmopen_ui — uses AppColors, Breakpoints, ChromeClearance, EmptyState, StageSelector, kLongMessage, showMessage, showMessageOn
  • filmopen_l10n — uses nothing by name the digest could see
  • filmopen_prompt_ui — uses PromptCard, PromptMentionCandidates, WriterAnswer, askWriter, promptByWriter, promptTokenName, promptWriterTarget, startingPromptWriter, withPromptWordChanged, withWords, writerAnswerLine
  • filmopen_text_ui — uses ProseController, ProseEditor
  • filmopen_test_support (dev) — uses nothing by name the digest could see

Third-party: crypto, flutter_riverpod.

filmopen_app

What the barrel exports, file by file. A name is class, enum, mixin, extension, typedef, a top-level function, getter, setter or variable; under a class, its public constructors, fields, getters, setters and methods.

lib/src/auto_references.dart — only AutoReferencesEngine, registerAutoReferences

Section titled “lib/src/auto_references.dart — only AutoReferencesEngine, registerAutoReferences”
  • function AutoReferencesEngine registerAutoReferences(ProviderContainer container, {@visibleForTesting RenderBackend? backend, InsertionService? insertion}) — Starts hearing the landed writes for the box (§6.15); called once, beside the render commands.
  • class AutoReferencesEngine — The engine: the line under the box, what it hears, and the one job per entity and place (§6.15).
    • final ProviderContainer container — The app’s providers.
    • final RenderBackend? given — The backend a test gave; null reads the render manager’s.
    • final InsertionService? insertion — The insertion service the app composed, whose job views are the insertion’s own; null reads the current one.
    • void askLine({String why = 'dock'}) — Reads the line again; one read at a time, a request during it reading once more after it.
    • void heard(EntityWritten event) — Decides a landed write, synchronously: an entity is marked busy before the first await.
    • void stop() — Stops all of the engine’s work (§6.15), the dock header’s Stop: a writer waiting its turn is removed and a running one signalled through its call’s control, a submitted render asked to stop through its job, and the fo…

lib/src/gpu_page.dart — without comfyuiOf, comfyuiReady, comfyuiState

Section titled “lib/src/gpu_page.dart — without comfyuiOf, comfyuiReady, comfyuiState”
  • enum GpuStopBlocked — Why a session’s Stop cannot act, from the sessions’ own refusals (§9.7a, §6.15).
    • values: noServer, providerOff, asked
  • function ({GpuStopBlocked? blocked})? gpuStopOf(ServerSessions service, ServerSession session) — What Stop does for [session] of [service]: not drawn, able to act, or blocked and why.
  • class GpuPage — The rail’s GPU page, the owner’s three tabs in their order: Servers, Share my plugins, Using remote plugins (§9.7a).
    • const GpuPage({super.key})
  • function Map<PluginSummary, String> localPlatformsOf(List<PluginSummary> plugins, Catalogue catalogue) — Whether each enabled plug-in among [plugins] that implements platform is one of this computer’s render engines, and why — found by the platform’s kind in [catalogue], never by a tag: ownLocalRender where it render…
  • function Future<void> refreshLocalStatus(String reason, Future<Catalogue> Function() catalogue) — Asks each of this computer’s render engines ([localPlatformsOf]) for its status, one after another — once at start, once the plug-ins have loaded, and on arriving at the GPU page, [reason] start or refresh (§6.11)…
  • variable final gpuServerSessionsProvider — The sessions the application installed, or null where it installed none: ServerSessions.current, read once.
  • variable final gpuPluginChangesProvider — What tells that the plug-ins changed — a server provider turned on or off: the plug-in settings’ own notice.
  • class GpuSessionsView — The GPU servers at one moment: every session, whether one can be started, and what the badge counts.
    • const GpuSessionsView({this.service, this.sessions = const [], this.startable = false}) — A view of [sessions] kept by [service].
    • final ServerSessions? service — The sessions the application keeps; null where none are installed, and nothing can be started.
    • final List<ServerSession> sessions — Every session, the newest first: the ended and the found included.
    • final bool startable — Whether a server provider is enabled, so that a server can be started.
    • static bool counts(ServerSession session) — Whether [session] counts on the rail’s badge: a server this application asked for that may still cost.
    • int get badge — How many sessions the rail’s badge counts.
  • variable final gpuSessionsProvider — The one projection of the GPU servers that the page and the rail’s badge both read.
  • class GpuSessionsController — Keeps [gpuSessionsProvider] level with the sessions’ changes and the plug-in settings’ changes.
  • enum GpuStatusKind — Which of the owner’s options the ribbon names, in his order, and what it says where none is chosen.
    • values: server, localPlugin, localGpu, ownDevice, shared, lendingUnknown, none, notDetected
  • enum GpuStatusWord — The ribbon’s second line: the chosen option’s state.
    • values: unconfirmed, active, ready, unsure, starting, waitingForGpu, stopping, offline, available
  • typedef typedef GpuServerFact — One external server as the ribbon weighs it.
  • typedef typedef GpuLocalFact — One of this computer’s render plug-ins as the ribbon weighs it.
  • typedef typedef GpuLendingFact — The last lending read: an eligible offer of the account’s own devices, a shared one, or a failed read.
  • typedef typedef GpuLendingRead — One lending read: the offers as returned, or none and [failed] where it was refused or late, [code] the refusal’s.
  • class GpuStatus — What the ribbon says: the option, its name or word on line 1, its state on line 2, why, and the facts it weighed.
    • const GpuStatus(this.kind, {this.name, this.word, required this.reason, this.facts = const {}}) — A status of [kind].
    • final GpuStatusKind kind
    • final String? name — Line 1 where it is a name — the provider’s label, the plug-in’s name, the card’s —, else null.
    • final GpuStatusWord? word — Line 2, or null for none.
    • final String reason — Why this option was chosen, a code for the log.
    • final Map<String, Object?> facts — The facts as they were weighed, for the log.
    • (String, String?) lines(AppLocalizations l10n) — The two lines in [l10n]’s words; the second is null where there is none.
    • bool sameAnswer(GpuStatus other) — Whether [other] says the same on the ribbon.
  • function String gpuShortName(String name) — A card’s name without its vendor’s words: NVIDIA GeForce RTX 4060 Laptop GPU is RTX 4060 Laptop GPU.
  • function GpuStatus gpuStatusOf({ List<GpuServerFact> servers = const [], List<GpuLocalFact> locals = const [], MachineFacts? machine, GpuLendingFact? lendin… — The ribbon’s answer from its facts: the first of the owner’s options that holds (§9.7a).
  • variable const gpuLendingBound — How long a lending read may take, as the render dialog’s own read is bounded.
  • function List<PluginSummary> gpuSharingPlugins(List<PluginSummary> plugins) — The enabled plug-ins among [plugins] that render on a platform and share a render.
  • function String? gpuOfferRefusal(LentOffer offer, List<PluginSummary> sharing) — Why [offer] cannot be rendered on through [sharing], or null where it can.
  • function Future<GpuLendingRead?> readGpuLending(String reason, List<PluginSummary> plugins, Lending lending, {int? number}) — Reads the lent offers once, bounded by [gpuLendingBound], and answers them as returned.
  • function GpuLendingFact gpuLendingFactOf(GpuLendingRead read, List<PluginSummary> plugins) — What [read] gives with [plugins] as they are now: an eligible offer of the account’s own devices, a shared one, or a failed read.
  • variable final gpuMachineProvider — This computer’s facts, read once a session; a test overrides it so that no probe runs.
  • variable final gpuLendingProvider — The lending client the ribbon reads; a test overrides it.
  • variable final gpuUsableOffersProvider — The lent offers this person may use now, as the ribbon counts them: its last read, judged by the render dialog’s own filters against the plug-ins of the moment ([gpuOfferRefusal]); Using remote plugins lists them (§…
  • variable final gpuStatusProvider — The ribbon’s answer, made again whenever one of its facts changes.
  • class GpuStatusController — Keeps [gpuStatusProvider] level with its facts.
    • List<LentOffer> get usable — The last read’s offers this person may use with the plug-ins of the moment; none before a read.
  • function GpuLocalFact gpuLocalFact(PluginSummary plugin, List<PluginSummary> plugins, List<RenderJob> jobs, PluginReadiness readiness) — [plugin]’s facts: ready as the GPU page reads it from [readiness], and the first of [jobs] on its local route.
  • function Map<String, Object?> localVerdict(Map<String, Object?> local, MachineFacts machine, List<String> unverified) — Compares stated catalogue memory requirements; only verified failures make short.
  • function void registerMachineCommand(ProviderContainer container, {Future<MachineFacts> Function()? reader}) — Registers the exposed read-only computer facts and catalogue-memory comparison command.
  • class RenderContext — What the render dialog is opened with: the place a render would land in, captured when Render is pressed.
    • const RenderContext(this.target, {this.designsVoice = false, this.from, this.stage}) — A render’s place; [designsVoice] where the dialog designs a voice rather than renders; [from] the take a render continues, at [stage] where one is forced.
    • final InsertionTarget target — The place: a project, a version’s stem and a group, which the request carries whatever the person opens next.
    • final bool designsVoice — Whether the dialog designs a voice (Voice): the models of voice design alone, a description of the voice and the words its previews say.
    • final MediaEntry? from — The take of the place the render continues (Render from this take), whose record the dialog opens on; null for a new render.
    • final MediaStage? stage — The stage the render is asked at, forced (Render at final resolution); null for the version’s own.
    • String get source — The stem of the version the render is of.
    • Set<MediaKind> get kinds — The kinds the place takes, which decide the models offered.
    • String get purpose — What the render is for, in the place’s word: reference.
    • bool get choosesOutfitComposer — Chooses the outfit composer only for an outfit’s sheet door, leaving every other place unchanged.
  • class RenderAnswer — What the render dialog answers: the request frozen, and whether Add to batch rather than Render was pressed.
    • const RenderAnswer(this.request, {this.queued = false}) — The answer; [queued] where the request goes to the pending batch rather than rendering now.
    • final RenderRequest request — The request, exactly as Render sends it.
    • final bool queued — Whether the person added it to the pending batch.
  • class RenderDialog — The one render dialog, the same wherever it opens: the model and its route, the route’s options and price, and Render.
    • Future<RenderAnswer?> show(BuildContext context, RenderContext render) — Asks for a render at [render]’s place.
  • class RenderAvailability — Whether a place can ask for a render now: a model something here can run for the kinds it takes, or why not.
    • ActionAvailability availableFor(BuildContext context, InsertionTarget target) — For Render’s button at [target]: available, or disabled with its reason.
  • class RenderAction — Render: the add tile’s second button, which opens [dialog] and answers the request as a producer’s source for the place’s service to insert, so a render lands where it was asked from, as an upload does.
    • const RenderAction({required this.dialog, required this.availability}) — The action, over the dialog and the availability the application gives it.
    • final RenderDialog dialog — The dialog it opens.
    • final RenderAvailability availability — Whether it may run at a place.
  • enum BlockLineRefusal — Why a block’s line cannot be spoken in its speaker’s voice.
    • values: noSpeaker, speakerUnseen, noVoice, noDialogue
  • class BlockLine — A dialogue block’s line and its speaker: what Render on the block’s voice lines speaks, and in whose voice.
    • const BlockLine(this.text, this.speaker, this.refusal) — The line; [refusal] where it cannot be spoken.
    • final String text — The block’s dialogue, as the person sees the scene.
    • final Entity? speaker — The character the scene’s reference names ([speakerOf]); null where it names none.
    • final BlockLineRefusal? refusal — Why the line cannot be spoken; null where it can.
    • String? reason(AppLocalizations l10n) — What Render says where the line cannot be spoken; null where it can.
  • function BlockLine? blockLineAt(FilmProject? project, InsertionTarget target, {Author? viewer}) — The line a block’s voice lines at [target] speak, read from the scene as the person sees it — the open form’s draft, else the file — and its speaker through [speakerOf]; null where [target] is not a block’s voice lines.
  • function void registerRenderCommands(ProviderContainer container, {@visibleForTesting RenderBackend? backend}) — Registers builtin/render-quote, builtin/render-image, builtin/add-media and builtin/job-status over [container]’s providers (§6.15).
  • typedef typedef RenderTarget — What [renderTarget] answers: the version, how the id was read, and the decision’s codes.
  • function RenderTarget renderTarget(FilmProject project, Author? viewer, String id) — The version a render command’s [id] puts its picture in for [viewer], or why none (§6.15, §7.3).
  • function ({String mimeType, List<int> bytes, Duration ttl})? mintedMedia(Uri uri) — The picture behind [uri], a link job-status minted for the relay while it holds, with the link’s life left; null for any other URI, once it expired, or while another authority than the one that minted it holds.
  • function List<({String uri, String name, String mimeType})> mintedLinks() — The links job-status minted in this app run that have not expired and were minted under the authority now in force, oldest first, each named take and its place in the list: what resources/list answers (§6.6c).
  • function DateTime Function() renderLinkClock — The clock a link’s expiry is read by.
  • function void resetRenderLinks() — Forgets every link minted and every job started, for a test.
  • class RenderRunsHere — Whether renders run in this build: where a render manager runs over a backend, and nowhere else.
    • const RenderRunsHere({required this.runs, this.failed = false}) — The availability; [failed] says the build meant to run renders and could not start them.
    • final bool runs — Whether renders run here.
    • final bool failed — Whether this session’s renders could not start, in a build that runs them.
  • function RenderAction renderActionOver(RenderBackend? backend, {bool failed = false}) — Render as the application registers it: over [backend]’s dialog, or disabled, saying why, where there is none.
  • class RenderRequestDialog — The one render dialog over [backend], answering the request frozen at the place it was opened at.
    • const RenderRequestDialog({required this.backend, this.now = _now, this.servers, this.plugins}) — The dialog; [now] stamps the request when the person asks, and [servers] are the application’s where none is given.
    • final RenderBackend? backend — Who says what can run, and at what price; null where renders do not run, and the dialog asks for nothing.
    • final DateTime Function() now — The clock the request is stamped with.
    • final ServerSessions? servers — The servers started for renders.
    • final PluginSettingsControl? plugins — The plug-ins’ settings, whose reading again holds Render; the application’s where none is given.
  • class RenderRequestView — The render dialog’s body, opened at [render]’s place.
    • const RenderRequestView({super.key, required this.backend, required this.render, required this.now, this.servers, this.plugins}) — The body.
    • final RenderBackend backend — Who says what can run, and at what price.
    • final RenderContext render — The place, captured when Render was pressed.
    • final DateTime Function() now — The clock the request is stamped with.
    • final ServerSessions? servers — The servers started for renders: a live one is a route, and where none is the dialog points to the GPU page.
    • final PluginSettingsControl? plugins — The plug-ins’ settings, whose reading again holds Render; the application’s where none is given.

lib/src/render_offers.dart — only RenderModel, renderModelsFor, renderValuesAllowed

Section titled “lib/src/render_offers.dart — only RenderModel, renderModelsFor, renderValuesAllowed”
  • class RenderModel — A model the dialog may offer: its catalogue id, its name and what its entry says it takes.
    • const RenderModel({required this.id, required this.name, required this.kind, this.capabilities = const {}, this.variants = const {}}) — A model.
    • final String id — The catalogue entry’s id: t2i-z-image-turbo.
    • final String name — The entry’s name, else its id.
    • final String kind — The entry’s kind: image, video, tts or voice.
    • final Map<String, Object?> capabilities — The entry’s capabilities, as its file holds them.
    • final Map<String, Map<String, Object?>> variants — The entry’s variants, by their string id.
    • Map<String, Object?> capabilitiesFor(String? variant) — The root capabilities with [variant]’s matching keys replaced whole (§14.7).
    • bool takes(String input) — Whether the model takes [input]: seed, negative_prompt.
    • Object? inputSpec(String name) — What the entry says the input [name] takes — its formats and its size (Project Specification §14.8) — or null.
    • bool get silent — Whether the entry says the model makes no sound (audio_output.generates: false), whatever its prompt says.
    • bool requires(String input) — Whether the model must be given [input].
    • bool get givable — Whether the dialog can give the model everything it requires.
    • bool givableWith(Set<String> givenInputs) — Whether the context can supply every input the model requires.
    • List<String> missingFrom(Set<String> givenInputs) — The inputs the model requires that [givenInputs] lacks, in its entry’s order.
    • (int?, int?) characters(String input) — The least and the most characters the entry says [input] takes, where it says: a voice design’s text.
  • function List<RenderModel> renderModelsFor(Catalogue catalogue, Set<MediaKind> kinds, {bool voices = false, Set<String> givenInputs = renderGivenInputs, Str… — Models of [kinds] the context’s [givenInputs] can supply, grouped by kind and name; each one left out is handed to [leftOut] with the inputs it lacks.
  • function List<Object?> renderValuesAllowed(RenderModel model, String name, List<Object?> values, {String? stack}) — The values of a route’s choice [name] that [model]’s entry allows too, in the route’s order.

lib/src/render_preparation.dart — only prepareRender, prepareRenderBeforeWriting, renderResolutionsOf, renderSettledValue, renderSettingsPicked, renderSmallestResolution

Section titled “lib/src/render_preparation.dart — only prepareRender, prepareRenderBeforeWriting, renderResolutionsOf, renderSettledValue, renderSettingsPicked, renderSmallestResolution”
  • function Future<RenderPicked?> renderSettingsPicked(PluginInvocation plugins, String role, MediaStage stage, Map<String, Object?> chosen, {String? ref, Cata… — Settings → Models’ default [chosen] for [role] at [stage] as an answer (§9.4); null where it names no model or a route its codec does not read.
  • function Future<Object?> renderSettledValue(RenderBackend backend, Catalogue catalogue, String model, RenderRoute route, String name, Object? asked, {Map<St… — The value [route] renders the choice [name] at for [model] when asked [asked] — the asked value where the route’s options take it, else their default, as the preparation settles a choice (§9.3) — or null where the rou…
  • function List<Object?>? renderResolutionsOf(Catalogue catalogue, String model, String? variant) — The resolutions [catalogue] lists for [model] under [variant] — the variant’s own list where it has one —, or null.
  • function Object? renderSmallestResolution(List<Object?> listed) — The smallest of [listed] by [renderResolutionPixels], as listed; null where one is a form it cannot place.
  • function Future<RenderPreparation?> prepareRenderBeforeWriting(ProviderContainer container, RenderBackend backend, InsertionTarget target) — Answers whether a prompt is worth writing for [target], before a writer is paid (§9.3).
  • function Future<RenderPreparation?> prepareRender(ProviderContainer container, RenderBackend backend, InsertionTarget target, {String? prompt, String? negat… — Prepares a render at [target] as a new dialog opens on it and sends it unchanged, [prompt] standing for the words of its prompt box where given (§6.15); null where nothing is offered at all, or not the picker’s route.
  • variable final renderQueueProvider — The app’s one [RenderQueue], whose lock is this app’s.
  • class RenderQueue — Submits the viewer’s queue records through InsertionService.current, writing each step into the record (§12.7).
    • Stream<QueueChainFailure> get chainFailures — Failed outcome writes, for the open page to say without owning the write.
    • void listenToJobs() — Hears terminal snapshots before insertion restores, keeping their own values through dismissal (§6.15).
    • QueueJob? heardJob(String id) — The terminal view heard this session, without actions after the service dismisses the job.
    • Future<void> settle(String moment) — Records heard outcomes only into the open film’s viewer-owned queue items (§6.15).
    • bool isRunning(BatchStem stem) — Whether a pass of [stem] is under way in this app.
    • static String? skippedAs(Map<String, dynamic> item) — Why a pass leaves [item]: submitted (it has a job), unresolved (submitting without a job: its outcome was not recorded) or refused (an error); null for an item a pass takes.
    • static bool eligible(Map<String, dynamic> item) — Whether [item] may be taken by a pass: none of job, submitting and error (§6.15).
    • static String endStatusOf(SetRecord record) — The status a pass ends a record in: submitted where every item has a job or an error, else pending.
    • Future<String?> submit(BatchStem stem, {Set<int>? only}) — Runs one pass over the queue [stem]: the record submitting, each eligible item in order, then submitted where every item has a job or an error, else pending.
    • Future<bool> finishInterrupted(BatchStem stem) — Finishes a pass that ended without its end — the app exited mid-pass, or its film was left — : the record, submitting with no pass of this app’s, is written as a pass ends it, its unresolved items kept so (§6.15).
    • Future<bool> markNotSubmitted(BatchStem stem, int n) — Mark as not submitted: clears the submitting of item [n], unresolved, once the person has looked, so that the next pass takes it (§6.15).
  • class RenderQueueRefusal — Why a queue item was not read, as a code: item (no object), target (the place unreadable), request (a shape RenderRequest.fromJson refuses), added (no time), elsewhere (the request is for another place).
    • const RenderQueueRefusal(this.code) — The refusal, coded.
    • final String code — The code.
  • class RenderQueueItem — A render waiting in the pending batch: [request] frozen exactly as Render would have sent it, for [target].
    • const RenderQueueItem({required this.target, required this.request, required this.added}) — The item.
    • final InsertionTarget target — The place the render lands in.
    • final RenderRequest request — The request, validated.
    • final DateTime added — When it was added to the batch.
    • Map<String, Object?> toJson() — The item as the record stores it, without its n, which the pending set gives it.
    • static RenderQueueItem fromJson(Object? json) — Reads an item of the record; a shape it cannot read is refused with a [RenderQueueRefusal].

lib/src/server_panel.dart — without serverClock, serverDollars

Section titled “lib/src/server_panel.dart — without serverClock, serverDollars”
  • class ServerOffersDialog — A provider’s priced catalogue and selected capacity check, with an explicit recheck before deployment.
    • const ServerOffersDialog({super.key, required this.sessions, this.now = _now}) — The window over [sessions].
    • final ServerSessions sessions — The sessions the application keeps.
    • final DateTime Function() now — The clock used to refuse expired selected quotes.

Files under lib/ the barrel does not reach; nothing outside the package may import them.

  • lib/src/first_frames.dart: firstFramesOf, _opensOn, clipInputGroups, ClipInputs, clipInputsOf, clipGivenInputs, ChosenClipInput, clipInputsChosen, clipRefusalOf, _whole
  • lib/src/outfit_composition.dart: OutfitParent, OutfitBound, OutfitComposition
  • lib/src/share_audience.dart: ShareAudience, _ShareAudienceState, _Progress
  • lib/src/share_groups.dart: ShareGroups, _key, _Roster, _ShareGroupsState, _NameDialog, _NameDialogState