code: def __init__(
      self,
      tileable_graph: TileableGraph,
      tile_context: TileContext,
      processed_chunks: Set[str],
      chunk_to_fetch: Dict[ChunkType, ChunkType],
      add_nodes: Callable,
  ):
      self._tileable_graph = tileable_graph
      self._tile_context = tile_context
      self._processed_chunks = processed_chunks
      self._chunk_to_fetch = chunk_to_fetch
      self._add_nodes = self._wrap_add_nodes(add_nodes)
      self._curr_iter = 0
      self._cur_chunk_graph = None
      self._tileable_handlers = (
          _TileableHandler(tileable, self._tile_handler(tileable))
          for tileable in tileable_graph.topological_iter()
      )
  
imports: import dataclasses
  import functools
  from typing import Callable, Dict, Generator, Iterable, List, Optional, Set, Type, Union
  from ....core import FUSE_CHUNK_TYPE, CHUNK_TYPE, TILEABLE_TYPE
  from ....typing import EntityType, TileableType, ChunkType
  from ....utils import copy_tileables, build_fetch
  from ...entity.tileables import handler
  from ...mode import enter_mode
  from ..entity import TileableGraph, ChunkGraph
  from .base import AbstractGraphBuilder
label_desc: Use image node_id 1 to create a new Tiler object  with example: obj = Tiler(tileable_graph, tile_context, processed_chunks, chunk_to_fetch, add_nodes)